View Single Post
  #632  
Old 16-12-2016, 08:52
KaktoR's Avatar
KaktoR KaktoR is offline
Registered User
 
Join Date: Jan 2012
Location: GER
Posts: 513
Thanks: 178
Thanked 701 Times in 251 Posts
KaktoR is on a distinguished road
How to speed up compression using UltraArc.

(The following is a feature that i love to see in possible future tools like UA)

Hi.

I want to share my own way for compression, especially for speed up compression using UltraArc with you.

All you need is base skills in math (+/-/dif), we all learned early in school i guess.

For my example i used "Deus Ex: Mankind Divided" (DEMD), which is a good example how to seperate file types.
But this example is applicable to all games that using seperate files/folders for eg. textures, sounds and videos.

Getting started:
1. Move all sound/video files (or other files, that are not compressable with standard compression) out of game folder to a other location with the same folder structure (make them manually).
For DEMD, go to {app}\runtime and search for *.pc_binkvid files and move them to the other location.
The same with {app}\DLC\runtime\*.pc_binkvid.




2. Start UltraArc, select {app} folder (NOT the backup folder with sound/video files) and output, set-up your settings and start.

3. When the first process finished, close UltraArc, open UltraArc.ini and search for FirstVolumeSize=.
Go to the last folder/dvd UltraArc previously created with the last data#.bin file.

Now the math... Calculate: Max DVD size (-) last data#.bin file (-) 10 MB (it's always a good thing to left some MB free on a DVD). In my case it's "FirstVolumeSize=910"
Back to UltraArc.ini, put your result in "FirstVolumeSize=" and choose different folder name in "VolumePrefixName=", eg. "VolumePrefixName=a"
This facilitates some things on the last step. Trust me

4. Start UltraArc again, now choose the backup folder with the not compressable files you previously moved out of game folder. Set-up UltraArc and choose no compression, then start and wait for finish.

5. When second process is done, go to "a1" folder, rename data1a.bin to data4a.bin.
Why data4a.bin? Because in the first process data3b.bin was the last .bin file.
Now move data4a.bin to DVD5 folder. Go to "a2" folder and rename data1b.bin to data4b.bin and move it to DVD6 folder.

Repeat this with all remaining data#.bin's until you reach last DVD folder.

6. Now the last part. Open both records.ini files. Left the original (first created), right the second (from "a1" folder).
In records.ini ("a1" folder), rename [Record1] to [Record11], [Record2] to [Record12], etc.
Also change Source, Output and Disk.




If all are done, copy+paste all from "a1" records.ini to "original" records.ini

Here is what it looks like...

Code:
;;First process using srep+lzma
[Record1]
Type=Split
Source={src}\Data1a.bin
Output={tmp}\Data1.bin
Disk=1
[Record2]
Type=Split
Source={src}\Data1b.bin
Output={tmp}\Data1.bin
Disk=2
[Record3]
Type=Freearc_Split
Source={tmp}\Data1.bin
Output={app}
Disk=2
[Record4]
Type=Split
Source={src}\Data2a.bin
Output={tmp}\Data2.bin
Disk=2
[Record5]
Type=Split
Source={src}\Data2b.bin
Output={tmp}\Data2.bin
Disk=3
[Record6]
Type=Split
Source={src}\Data2c.bin
Output={tmp}\Data2.bin
Disk=4
[Record7]
Type=Freearc_Split
Source={tmp}\Data2.bin
Output={app}
Disk=4
[Record8]
Type=Split
Source={src}\Data3a.bin
Output={tmp}\Data3.bin
Disk=4
[Record9]
Type=Split
Source={src}\Data3b.bin
Output={tmp}\Data3.bin
Disk=5
[Record10]
Type=Freearc_Split
Source={tmp}\Data3.bin
Output={app}
Disk=5

;;Second process using none compression

[Record11]
Type=Split
Source={src}\Data4a.bin
Output={tmp}\Data4.bin
Disk=5
[Record12]
Type=Split
Source={src}\Data4b.bin
Output={tmp}\Data4.bin
Disk=6
[Record13]
Type=Freearc_Split
Source={tmp}\Data4.bin
Output={app}
Disk=6
[Record14]
Type=Split
Source={src}\Data5a.bin
Output={tmp}\Data5.bin
Disk=6
[Record15]
Type=Split
Source={src}\Data5b.bin
Output={tmp}\Data5.bin
Disk=7
[Record16]
Type=Freearc_Split
Source={tmp}\Data5.bin
Output={app}
Disk=7
[Record17]
Type=Freearc_Original
Source={src}\Data6.bin
Output={app}
Disk=7
[Record18]
Type=Freearc_Original
Source={src}\Data7.bin
Output={app}
Disk=7
For "Deus Ex: Mankind Divided" the compression time is way lower, minimum 1 hour, because you don't compress all sound/video files (~10GB) with srep+lzma, but just with no compression.

But remember, not always sound files are not compressable, i thinking of "Skyrim Special Edition", where "Sounds.bsa" are super good compressable with just lzma. Just test some files out with manual freearc and m1/m2 compression. If it's not much rewarding, just go with m0, if it's rewarding, i suggest go with lzma only.

I guess it is obvious what way to go with other game. Just logical thinking.

Last edited by KaktoR; 16-12-2016 at 09:02.
Reply With Quote
The Following 9 Users Say Thank You to KaktoR For This Useful Post:
elbubi (18-12-2016), houcine80 (21-03-2017), nemesis8 (14-01-2017), pakrat2k2 (07-01-2017), Razor12911 (16-12-2016), Sarvagya (17-12-2016), Simorq (17-12-2016), wit (01-03-2017), zirkhaki (19-01-2017)