Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials
Register FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 08-06-2023, 05:10
shazzla shazzla is offline
Registered User
 
Join Date: Nov 2010
Location: Hunnia
Posts: 292
Thanks: 523
Thanked 102 Times in 78 Posts
shazzla is on a distinguished road
It would be nice if someone document this parameters....
Reply With Quote
Sponsored Links
  #2  
Old 08-06-2023, 09:09
Masquerade Masquerade is offline
Registered User
 
Join Date: Jan 2020
Location: Monte d'Or
Posts: 1,217
Thanks: 294
Thanked 1,404 Times in 637 Posts
Masquerade is on a distinguished road
Quote:
Originally Posted by shazzla View Post
It would be nice if someone document this parameters....


Code:
CMD> xtool precomp

XTool is created by Razor12911

precomp - data precompressor

Usage:
  xtool precomp [parameters] input output


Parameters:
  -m#  - codecs to use for precompression (separate with "+" if more than one)
  -c#  - scanning range of precompressor [16mb]
  -t#  - number of working threads [50p]
  -d#  - scan depth [0]
  -dd  - use stream deduplication
  -l#  - compress data using fast lzma2 (separate params with ":")
               d# - dictionary size
  -lm  - low memory mode
  -s   - skip stream verification
  -v   - enables verbose
  -df# - set xdelta threshold to accept streams [5p]
  -x#  - extract streams to directory path
  -dm# - deduplication memory usage limit (#=size) [75p]
  -sm# - srep memory usage limit (#=size) [75p]
Reply With Quote
The Following User Says Thank You to Masquerade For This Useful Post:
Razor12911 (08-06-2023)
  #3  
Old 08-06-2023, 09:55
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,749
Thanks: 2,170
Thanked 11,206 Times in 2,307 Posts
Razor12911 is on a distinguished road
Executing xtool with the command as the only parameter will display information of how the command is used alongside the available parameters. The reason certain parameters remain undocumented is simply because they were added for personal usage or as a gimmick and not a lot of testing has been done and as such, they may not work as intended and may corrupt your data in certain instances.

Any of the listed parameter is fine to be used by you, the end user however anything not listed here is limited to advanced users who may have gone through the source code over on github to even know of these parameters existence.
Reply With Quote
The Following 3 Users Say Thank You to Razor12911 For This Useful Post:
Cesar82 (08-06-2023), L0v3craft (09-06-2023), shazzla (09-06-2023)
  #4  
Old 09-06-2023, 01:53
shazzla shazzla is offline
Registered User
 
Join Date: Nov 2010
Location: Hunnia
Posts: 292
Thanks: 523
Thanked 102 Times in 78 Posts
shazzla is on a distinguished road
Thanks,but i miss exactly those undocumented parameters!

Somehow i missed github. lol
Going there now,btw thanks!

Last edited by shazzla; 09-06-2023 at 01:55.
Reply With Quote
The Following User Says Thank You to shazzla For This Useful Post:
seryogakms (09-06-2023)
  #5  
Old 12-06-2023, 07:21
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,749
Thanks: 2,170
Thanked 11,206 Times in 2,307 Posts
Razor12911 is on a distinguished road
Update available

Changes

- memory usage optimizations

Notes

Resources utilised by zlib, lzo, zstd and some other codecs have been made to initialize only when used, this was down to reduce memory usage and allocation.

If you're users like shazzla however, who want to utilise features of xtool before they are tested and ready for, there's a new parameter introduced in this release which makes xtool utilise the GPU's VRAM to improve precompression speed and reduce memory usage even more when decoding by offloading deduplication memory requires onto the GPU.

-g# (# may be a percentage or specific value), default value is 0

So how does it work? When precompressing, xtool reads, processes then writes, it does this again and again until it finishes. The problem with this however is there's a bottleneck when it is writing especially if you're repacking on HDD because xtool may be processing faster than it is actually writing to the disk so that's where caching feature introduced in 0.7.0 and the new GPU feature comes in. Instead of writing straight to disk, the data is written to the GPU and as xtool reads and processes the next batch of data, the GPU will be writing to the disk making sure that the processing aspects of xtool are not slowed down.

When decoding, xtool can sometimes use the ram for the duplicated streams resulting in high memory usage when installing a repack, usually when you're installing a game, the GPU isn't doing anything so these duplicated streams are stored on the GPU, this is done to reduce memory usage. 75% of the allocated GPU is dedicated to this while 25% is dedicated to caching data from srep+lolz/lzma or what it is that you use where xtool would be reading data in advance to reduce bottlenecks even more.

TLDR; how to enable this feature? just add -g75p when encoding/decoding (can be both, up to you)

How to know if it's working? Check in task manager and you should see xtool utilising the GPU with the Engine "Copy".

Benchmarks

0.7.1
Code:
XTool is created by Razor12911

Streams: 1415315 / 1415335
Time: 00:07:20 (CPU 00:44:37)
Duplicates: 1134302 (1.99 GB) [7.11 GB >> 16.1 GB]
Srep decompression memory: 738 MB [5.13 GB*]

Size: 15.3 GB >> 29.0 GB >> 13.0 GB >> 9.06 GB >> 4.65 GB

Done!!!
0.7.2
Code:
XTool is created by Razor12911

NVIDIA GeForce GTX 1060 6GB (4.50 GB loaded)
Streams: 1415315 / 1415335
Time: 00:05:31 (CPU 00:46:09)
Duplicates: 1134302 (1.99 GB) [7.11 GB >> 16.1 GB]
Srep decompression memory: 738 MB [5.13 GB*]

Size: 15.3 GB >> 29.0 GB >> 13.0 GB >> 9.06 GB >> 4.65 GB

Done!!!
There was a 30% speed improvement, your mileage may vary but only use this feature if you repack on HDD. There won't much speed gains on SSD.

OpenCL was used to achieve this so if your PC does not have the library in system32 folder, you should place the dll near xtool.

If feature does not work as intended then you must understand why I keep some features undocumented.
Attached Images
File Type: png image.png (15.9 KB, 291 views)
File Type: png xtgpu.PNG (46.5 KB, 288 views)

Last edited by Razor12911; 12-06-2023 at 07:23.
Reply With Quote
The Following 16 Users Say Thank You to Razor12911 For This Useful Post:
-tara (13-06-2023), BKR-TN (15-06-2023), Cesar82 (12-06-2023), Ele (26-06-2023), Gehrman (13-06-2023), hdneo (13-06-2023), Junior53 (12-06-2023), KaktoR (12-06-2023), kj911 (13-06-2023), L0v3craft (14-06-2023), Masquerade (12-06-2023), Mini (12-06-2023), ScOOt3r (12-06-2023), shazzla (13-06-2023), vint56 (12-06-2023), Wanterlude (13-06-2023)
  #6  
Old 12-06-2023, 10:11
Masquerade Masquerade is offline
Registered User
 
Join Date: Jan 2020
Location: Monte d'Or
Posts: 1,217
Thanks: 294
Thanked 1,404 Times in 637 Posts
Masquerade is on a distinguished road
Nothing short of incredible, always love seeing XTool updates. Thanks again Razor!
Reply With Quote
The Following 2 Users Say Thank You to Masquerade For This Useful Post:
hdneo (13-06-2023), Razor12911 (12-06-2023)
  #7  
Old 12-06-2023, 10:27
infovs infovs is offline
Registered User
 
Join Date: Feb 2005
Location: Home
Posts: 50
Thanks: 2
Thanked 10 Times in 7 Posts
infovs is on a distinguished road
Thank you Razor12911 for your incredible work! Two short questions if it is not too much trouble...how to use undocumented option introduced in 0.70?
- added optimize option to speed up the decoding process for zstd and oodle codecs
Looking at source it is used by adding parameter -o ...but not sure where, at decoding or encoding... I tried used it at both places, precomp some oodle data -> decoding speed was exactly the same as before without -o parameter :\
Also, is there any chance or parameter that can make xtool use and utilize srep64.exe instead of renamed srep.exe?
Thanks in advance, again, big thanks for everything!

Last edited by infovs; 12-06-2023 at 10:43.
Reply With Quote
  #8  
Old 12-06-2023, 16:00
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,749
Thanks: 2,170
Thanked 11,206 Times in 2,307 Posts
Razor12911 is on a distinguished road
Quote:
Originally Posted by infovs View Post
Thank you Razor12911 for your incredible work! Two short questions if it is not too much trouble...how to use undocumented option introduced in 0.70?
- added optimize option to speed up the decoding process for zstd and oodle codecs
Looking at source it is used by adding parameter -o ...but not sure where, at decoding or encoding... I tried used it at both places, precomp some oodle data -> decoding speed was exactly the same as before without -o parameter :\
Also, is there any chance or parameter that can make xtool use and utilize srep64.exe instead of renamed srep.exe?
Thanks in advance, again, big thanks for everything!
Hi, optimise was added but not documented simply because the conditions needed for the benefits to even be noticeable are obscure, essentially the game Returnal was the reason this feature was added. The game used leviathan which takes a long time to process, to put it into perspective, if a stream was compressed using level 9 and let's say it takes 20 seconds to process, what optimise does is try lesser compression settings that give the same output, like level 8 which takes half the time on average compared to level 9 so that's about 10 seconds, 50% gain in speed, it does this again and again until the compression setting no longer gives the same output. As a result, some level 9 compressed streams of Returnal could be compressed with level 6, some level 7.

With this in mind, the installation should be faster right? Well yes it is but I wasn't impressed by the improvements so I left it undocumented.

Benchmark on pakchunk2_s8-WindowsNoEditor.pak of Returnal

without -o
Code:
XTool is created by Razor12911

Time: 00:22:17 (CPU 02:12:41)
with -o
Code:
XTool is created by Razor12911

Time: 00:18:50 (CPU 01:52:02)
We got about 15% speed improvement. You might see this as a win, but precompression took 32 mins with -o than 23 mins without -o so 40% more time for precompression.

As for srep/srep64, just let 32-bit programs die.
Reply With Quote
The Following 7 Users Say Thank You to Razor12911 For This Useful Post:
Gehrman (13-06-2023), hdneo (13-06-2023), L0v3craft (14-06-2023), ScOOt3r (15-06-2023), seryogakms (13-06-2023), shazzla (13-06-2023), Wanterlude (13-06-2023)
  #9  
Old 29-06-2023, 15:44
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,749
Thanks: 2,170
Thanked 11,206 Times in 2,307 Posts
Razor12911 is on a distinguished road
Update available

Changes

- Minor bug fixes
Reply With Quote
The Following 8 Users Say Thank You to Razor12911 For This Useful Post:
Gehrman (01-07-2023), KaktoR (02-07-2023), Masquerade (30-06-2023), ScOOt3r (03-07-2023), shazzla (29-06-2023), Tihiy_Don (29-06-2023), vint56 (29-06-2023), Wanterlude (30-06-2023)
  #10  
Old 02-07-2023, 04:13
infovs infovs is offline
Registered User
 
Join Date: Feb 2005
Location: Home
Posts: 50
Thanks: 2
Thanked 10 Times in 7 Posts
infovs is on a distinguished road
Quote:
Originally Posted by Razor12911 View Post
Update available
Changes
- Minor bug fixes
Thanks Razor12911, just curious though, quite a big difference in exe size from previous version considering "minor bug fixes"...is this expected, different compiler or something?
And thank you for including x86 version btw, I can use it on older x86 games to retain compatibility out of nostalgic reasons only..
Regarding this x86 compile, one addition small "info" question...in _x86\plugins you included x86 versions of hif2raw_dll.dll and raw2hif_dll.dll with datestamp(and compile time) 2013...tested it on Windows Vista x86 (as I said, no need to judge, I sometimes use this out of nostalgic and historic perseverance reasons) and they work...but you used to distribute 0.3.21 xtool with newer(are they?) x86 versions, 2017 compile time. They also work, I'm just confused, are those from 2013 included with x86 0.7.3 by mistake or is it better to use them instead of 0.3.21 x86 hif2raw_dll.dl/raw2hif_dll.dll versions?
Thanks. best regards

Last edited by infovs; 03-07-2023 at 06:55.
Reply With Quote
  #11  
Old 03-07-2023, 16:18
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,749
Thanks: 2,170
Thanked 11,206 Times in 2,307 Posts
Razor12911 is on a distinguished road
Quote:
Originally Posted by infovs View Post
And thank you for including x86 version btw, I can use it on older x86 games to retain compatibility out of nostalgic reasons only..
Regarding this x86 compile, one addition small "info" question...in _x86\plugins you included x86 versions of hif2raw_dll.dll and raw2hif_dll.dll with datestamp(and compile time) 2013...tested it on Windows Vista x86 (as I said, no need to judge, I sometimes use this out of nostalgic and historic perseverance reasons) and they work...but you used to distribute 0.3.21 xtool with newer(are they?) x86 versions, 2017 compile time. They also work, I'm just confused, are those from 2013 included with x86 0.7.3 by mistake or is it better to use them instead of 0.3.21 x86 hif2raw_dll.dl/raw2hif_dll.dll versions?
Thanks. best regards
Initially only the x86 libraries existed and after the developer of reflate returned years after, he provided x64 versions however they function the same. (Also the libraries included in 0.3.21 are actually x64, that xtool release was also x64 )

Quote:
Thanks Razor12911, just curious though, quite a big difference in exe size from previous version considering "minor bug fixes"...is this expected, different compiler or something?
I've actually added Denuvo to limit installation of xtool compressed games to five per day.
Reply With Quote
The Following 2 Users Say Thank You to Razor12911 For This Useful Post:
Gehrman (03-07-2023), KaktoR (04-07-2023)
  #12  
Old 04-07-2023, 03:16
infovs infovs is offline
Registered User
 
Join Date: Feb 2005
Location: Home
Posts: 50
Thanks: 2
Thanked 10 Times in 7 Posts
infovs is on a distinguished road
Quote:
Originally Posted by Razor12911 View Post
I've actually added Denuvo to limit installation of xtool compressed games to five per day.
Glad to see you added older Denuvo version otherwise xtool.exe size would be like 1GB ..

Joking aside, regarding x86 hif2raw_dll.dll/raw2hif_dll.dll..you're right - 0.3.21 version did not contained x86, 0.3.19 did but only x86 xtool.exe.
x86 hif2raw_dll.dll/raw2hif_dll.dll libs versions I'm mentioning are contained with xtool_1908_R6, they seems newer than ones distributed with 0.7.3, hence the confusion

Last edited by infovs; 04-07-2023 at 03:19.
Reply With Quote
  #13  
Old 05-07-2023, 08:58
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,749
Thanks: 2,170
Thanked 11,206 Times in 2,307 Posts
Razor12911 is on a distinguished road
Update available

Changes

- user can specify srep parameters to use via -sp#
- updated zlib codec

Notes

the -sm# parameter is removed, now if you want to control the memory srep is bound to use, you use refer to the list of srep's parameters and use it as such -spmem75p or whatever it is you prefer, -sp is also available when encoding in order to specify additional srep parameters like the user Gehrman has requested. -spa0:l512.

The executable got bigger because I've been busy trying to add some features to the program that have not come into fruition but if you're a nosy person, you can check the source code to see what caused the exe to get big.
Reply With Quote
The Following 11 Users Say Thank You to Razor12911 For This Useful Post:
Cesar82 (05-07-2023), dixen (05-07-2023), Gehrman (05-07-2023), KaktoR (05-07-2023), L33THAK0R (05-07-2023), Masquerade (05-07-2023), Pantsi (05-07-2023), ScOOt3r (05-07-2023), shazzla (05-07-2023), vint56 (05-07-2023), Wanterlude (05-07-2023)
  #14  
Old 06-07-2023, 06:19
KaktoR's Avatar
KaktoR KaktoR is offline
Lame User
 
Join Date: Jan 2012
Location: From outer space
Posts: 4,688
Thanks: 1,106
Thanked 7,335 Times in 2,837 Posts
KaktoR is on a distinguished road
What is wrong here? I don't get it.


Code:
Streams: 12050 / 12446
Time: 00:00:03 (CPU 00:00:18)

Size: 78.9 MB >> 211 MB

Code:
Compressed 2 files, 84,074,653 => 84,074,928 bytes. Ratio 100.00%
Compression time: cpu 0.06 sec/real 2.99 sec = 2%. Speed 28.16 mB/s
All OK

[External compressor:xtool_test]
header = 0
packcmd   = xtool.exe precomp -mscarletnexus+zlib -c128mb -t100p -d1 - - <stdin> <stdout>
unpackcmd = xtool.exe decode -t75p - - <stdin> <stdout>
__________________
Haters gonna hate
Reply With Quote
  #15  
Old 07-07-2023, 04:47
Gehrman's Avatar
Gehrman Gehrman is offline
Registered User
 
Join Date: Jan 2020
Location: Save Palestine
Posts: 78
Thanks: 1,372
Thanked 89 Times in 48 Posts
Gehrman is on a distinguished road
Thank you Razor12911 for the new version


XTool 0.7.4 test
Forza Horizon 5

134 GB > 198 GB > 78.8 GB

Code:
Creating archive: FH5PE - 1.594.508 - 001.Bin using xtool:c32mb:mzlib:dd3:spa0:hash-+4x4:lzma:fb273:lc8:mfbt4:64m+diskspan:1395864372:1557135360
Compressed 17,216 files, 143,891,581,840 => 1,395,864,412 bytes. Ratio 0.97%
Compression time: cpu 477.42 sec/real 28649.30 sec = 2%. Speed 5.02 mB/s
All OK
CT: 07:57:29

Tested 17,216 files, 1,395,864,412 => 143,891,581,840 bytes. Ratio 0.97%   
Directory 171,831 => 873,633 bytes. Ratio 19.67%
Testing time: cpu 181.02 sec/real 6340.69 sec = 3%. Speed 22.69 mB/s
All OK
DT: 01:45:40 (In another compressed version that used XTool 2020, the extraction time was 1 hour. It seems that this version has decreased in decompression speed.)

a problem
Heavy CPU consumption in Normal CPU Priority mode, which causes Mouse Lag.
This problem does not exist in "Below Normal" CPU Priority.

Last edited by Gehrman; 07-07-2023 at 04:54.
Reply With Quote
The Following User Says Thank You to Gehrman For This Useful Post:
dixen (07-07-2023)
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Dev]XTool Razor12911 Conversion Tutorials 180 23-10-2020 06:26
Project Cars Digital Edition (3xDVD5) (srep+lzma) GTX590 PC Games - CD/DVD Conversions 10 28-08-2017 08:34
Project IGI Anthology 1xCD700 CIUV2 2039 mausschieber PC Games - CD/DVD Conversions 0 24-07-2017 15:12
Space Channel 5 Part 2 Translation Project Christuserloeser DC Games 0 21-06-2004 18:16



All times are GMT -7. The time now is 02:13.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com