Fresh install on new computer: stuck at checking ressources

>check if the file exists or not.
"
silumit wrote:
even if it is being installed on a ramdisk.

>as well as a disk hit
"
silumit wrote:
even if it is being installed on a ramdisk.


>requires both a network hit
>the CDN you are routed to can be slow
GGG better check their cdns then.


...also, are you sure about checking for files on clean installation? why the eff should it check files existence in a situation where there can be no files at all?


edit: btw, I don't get why they don't just make a current ggpk image(for clean installs only, ofc) which can be installed "in one go" without all that checking hassle.
And worst change is putting almost all bosses in new version of maps into fucking small areas, where you can't kite well or dodge stuff. What a terrible idiot invented that I want say to him: dude flick you, seriously flick you very much.
Last edited by silumit#4080 on Feb 2, 2016, 10:45:05 PM
You have to understand how the patcher works to know why.

It patches all files based on their hashes. The patch server keeps a master list of all the files as well as their file hashes.

When the patcher starts, it downloads that master hash list, then checks each one against the local system to determine if the file exists, and if its hash is the same or different.

If the file doesn't exist locally, it marks it for download and continues on. It still has to check each file.

Doesn't matter what type of drive/disk it is installed to.. the only thing that affects is the speed at which it can check. The number of files is still semi-prohibitive.

No matter if the file is there or not, it still has to do a disk hit to check for either existence or matching hash. The good news is that the hash is cached as part of the content file and does not need to be recomputed each time.
"
Drakier wrote:
You have to understand how the patcher works to know why.
Please stop with this patronal tone. I understand how it works, and for updating existing installation it is fine(or would be if it was working as intended). I was talking about clean installations, reread my post if you didn't understand it.

"
When the patcher starts, it downloads that master hash list, then checks each one against the local system to determine if the file exists, and if its hash is the same or different.

If the file doesn't exist locally, it marks it for download and continues on. It still has to check each file.

Doesn't matter what type of drive/disk it is installed to.. the only thing that affects is the speed at which it can check. The number of files is still semi-prohibitive.

No matter if the file is there or not, it still has to do a disk hit to check for either existence or matching hash. The good news is that the hash is cached as part of the content file and does not need to be recomputed each time.
Sorry, but this "argument" is complete BS. If it DLs full hash-list (like, this is only one file as long as I understand you right) it can't check for EXISTANCE of aforementioned local files for fucking MINUTES. Even on HDD. There's something else going on at this time, I can't even imagine what. Simple file existence check can't take minutes, even if their amount is in millions. Like, on any hardware that is 15yr old or less. Hell, even the hash check shouldn't take more that approx the time required for reading all ggpk contents - well, +let's say 15-20%, hell, even +100% for seeking and hash calculations if there's much seeking to be done on HDD. Even then it isn't anywhere close to some people's times.
And worst change is putting almost all bosses in new version of maps into fucking small areas, where you can't kite well or dodge stuff. What a terrible idiot invented that I want say to him: dude flick you, seriously flick you very much.
Apparently, you are reading into my posts more than is intended. There was no "patronal tone" to my post. It was simply meant to be informative.

Since you still don't seem to understand how the patcher works, let me go into a little more detail.

The Content.ggpk file is an "archive" type... similar to zip files, but specific to GGG technologies. It is like a mini filesystem all wrapped up into a single file on disk.

Like a normal filesystem, it has a header block meant to keep track of which files exist in the content.ggpk archive, as well as their saved hash. This is the block that also tracks existence of files or deleted files. When a file is "deleted", much like your hard drive, the data itself is NOT actually removed. It is simply marked as "free". This allows new write operations to re-use that "free" space. In the case of a brand new Content.ggpk file that doesn't have anything in it, it still CREATES the Content.ggpk file and the internal format, but the header block is basically empty at that point.

The slowdown comes in this regard in that there are THOUSANDS (many thousands) of files it has to check for existence. I haven't counted recently how many there are, but each and every client asset you see in-game (including shaders, sound effects, music, bitmaps, textures, etc) are included in this Content.ggpk file. There are a LOT of files to check. The check for existence is also NOT the same as how it checks on-disk for file existence. It's a similar method, but is compounded by both the filesystem (os) check for LOCATING the Content.ggpk file, as well as then the internal header check.

I'm not saying this process couldn't be improved. It certainly could. I'm explaining how it CURRENTLY works. This is not the Feedback/Suggestions forum. If you want to suggest changes to their system, I would recommend doing it there. This is the Technical Support forum where we attempt to assist with issues based on how the system currently works.

Again, this is only part of the slowness as it has to calculate this WHOLE process (except the master hashlist) for every single file listed in that hashlist... which is quite large.

The reason they cannot do a "current image" is that the "clean install" version is quite infrequent in comparison to the other patching methods, and it eats up quite a bit of space and bandwidth. Once that "current image" was installed, it would have to go back to the current process anyway where it only patches the different files.

Another thing to keep in mind for many people is that often times they aren't running as Administrator, so the patcher can't actually access the Content.ggpk file (although it doesn't say this and likely should), and often times people are running ACTIVE antivirus protection which scans EVERY file operation for potential malice. This greatly increases the processing time for EACH file that is needed. EVERY time a program attempts to access the hard disk, antivirus has to check it first. Most people who are running active protection don't remember to disable it (or uninstall) before patching.

There are many reasons why patching can be slow for people... it's also likely very different on a case by cases basis. That's why we like people to create their own threads so we can attempt to figure out which situation is affecting them.

Hopefully I've answered your questions. This is not a Discussion forum, nor is it a Feedback/Suggestions forum. If you would like to further discuss the patching process, I would recommend the Discussion forum. There might already be threads there in which you can discuss it. If you would like to offer suggestions or feedback about the current patching process, I would recommend either the Feedback or Suggestions forum appropriate for your post.

Good luck.
Again you are speaking implying that I don't understand ggpk's structure. Well, there's the news: I do. Stop explaining obvious things, please. This is not rocket science, I seriously doubt one-file-storage principles changed much since .tar times, and even before that. But in the end all your arguments boil down to "oh look there's so much stuff installer have to do, that's why it sometimes doing it so slow". And I already said that it's not so much, and even if it is, it still shouldn't take as much time as it does today.
And worst change is putting almost all bosses in new version of maps into fucking small areas, where you can't kite well or dodge stuff. What a terrible idiot invented that I want say to him: dude flick you, seriously flick you very much.
Last edited by silumit#4080 on Feb 4, 2016, 1:50:51 AM

Report Forum Post

Report Account:

Report Type

Additional Info