GGPK Defragmenter

"
fourthx wrote:
"
Zoxc wrote:
I believe the GGPK in the Steam install will always remain defragmented, so this tool isn't needed there. Running it on the Steam install might mess with Steam's update mechanism too, so don't do that.


Wait so steam defrags the internal file structure? or just the disk file structure?
It likely does the same as what GGG's launcher does, merge new content in to the existing files without deleting the obsolete data (For unknown reason). Neither this nor Steam should be defragmenting the disk file structure.
Computer specifications:
Windows 10 Pro x64 | AMD Ryzen 5800X3D | ASUS Crosshair VIII Hero (WiFi) Motherboard | 16GB 3600MHz RAM | MSI Geforce 1070Ti Gamer | Corsair AX 760watt PSU | Samsung 860 Pro 512GB SSD & WD Black FZEX HDD
Last edited by Nicholas_Steel#0509 on Jan 9, 2014, 2:36:43 PM
"
Nicholas_Steel wrote:
It likely does the same as what GGG's launcher does, merge new content in to the existing files without deleting the obsolete data (For unknown reason). Neither this nor Steam should be defragmenting the disk file structure.


Steam does a different patching process than the PoE / GGG launcher.

As I explained previously, Steam does its patching by binary comparing your Content.ggpk file with theirs. Then they byte patch the differences between them. It's a strange patching process which guarantees that when validated, all users of Steam should have the same exact Content.ggpk file. You should be able to verify this by comparing MD5/SHA signatures on the the Conten.ggpk file in the Steam install.

This is different than how GGG patches it which makes each Content.ggpk file unique (especially after defragging, etc).
Oh okay, that sounds dumb of Steam. If you miss a patch you'll have to redownload the entire file? Unless it downloads th updates sequentially including updates you've missed.
Computer specifications:
Windows 10 Pro x64 | AMD Ryzen 5800X3D | ASUS Crosshair VIII Hero (WiFi) Motherboard | 16GB 3600MHz RAM | MSI Geforce 1070Ti Gamer | Corsair AX 760watt PSU | Samsung 860 Pro 512GB SSD & WD Black FZEX HDD
"
Nicholas_Steel wrote:
Oh okay, that sounds dumb of Steam. If you miss a patch you'll have to redownload the entire file? Unless it downloads th updates sequentially including updates you've missed.


no, it's a byte patch to match. any differences between your version and theirs gets patched. If you miss a patch, it just downloads more of the differences. It's no better/worse. It's just different. They both have pros and cons.
I've had the game installed for quite awhile, and I was surprised that it only shaved around 11.8 MB off of the file. Regardless, it's still a little bit of extra space that I didn't have before.

Thanks for the tool, OP. :)
"
Drakier wrote:
"
Nicholas_Steel wrote:
Oh okay, that sounds dumb of Steam. If you miss a patch you'll have to redownload the entire file? Unless it downloads th updates sequentially including updates you've missed.


no, it's a byte patch to match. any differences between your version and theirs gets patched. If you miss a patch, it just downloads more of the differences. It's no better/worse. It's just different. They both have pros and cons.
That's what I was hinting at with my last sentance, it downloads each update between the one you've last recieved and the latest patch and installs them in order, then installs the newest patch. It's the only way a differential patching scheme can work without wasting peoples time. (More companies need to use this process/design their game file structure to be compatible with it)
Computer specifications:
Windows 10 Pro x64 | AMD Ryzen 5800X3D | ASUS Crosshair VIII Hero (WiFi) Motherboard | 16GB 3600MHz RAM | MSI Geforce 1070Ti Gamer | Corsair AX 760watt PSU | Samsung 860 Pro 512GB SSD & WD Black FZEX HDD
Last edited by Nicholas_Steel#0509 on Jan 12, 2014, 3:40:22 AM
"
Nicholas_Steel wrote:
That's what I was hinting at with my last sentance, it downloads each update between the one you've last recieved and the latest patch and installs them in order, then installs the newest patch. It's the only way a differential patching scheme can work without wasting peoples time. (More companies need to use this process/design their game file structure to be compatible with it)


You don't need to download each patch individually though. They also don't need to be patched / installed in "order".


lets say this was the order:
patch 1 changed byte 0x80 to 0x36
patch 2 changed byte 0x205 to 0x24
patch 3 changed byte 0x182 to 0x88

Lets say you didn't have ANY of these patches. When you go to patch, the byte compare says that 0x80, 0x182, and 0x205 are different, and then changes their values to the "new" values. Notice that it is "out of order". It doesn't care which patch was when. It sees 3 byte differences so it changes all 3 at that time.

Steam keeps an "updated" version of the content.ggpk on their server which is most recent. That's the only one they care about, and all they care about is that when you verify your download or patch that your version matches theirs. There is no incremental patch system that it cares about in this case... unlike systems like the Torrent system Blizzard uses. THOSE systems require incremental patches and they must be installed in order from the patch you have to the most recent. THOSE are a waste of time and efficiency because you could be patching something to a version that changed again in the next version.
Thanks for this. Client start up time for me decreased from 1m15s to 40s.
This shaved off 2mins of my start-up time and lowered the filesize by over 1GB. Guess it was long overdue. ^^ Thanks.
Shop closed until further notice. Check out my Dominus musical tribute instead:
https://soundcloud.com/hackproducer0815/dominus
Wow.... i just stripped away 1.5 gigs from using the defrag.

nice one.

Report Forum Post

Report Account:

Report Type

Additional Info