Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 06-11-2016, 06:17
FitGirl FitGirl is offline
Registered User
 
Join Date: Dec 2014
Location: Riga
Posts: 209
Thanks: 21
Thanked 244 Times in 132 Posts
FitGirl is on a distinguished road
The example string works just fine
srep+4x4:t4:b128m:lzma:128m

Never use large dict size for 4x4
4x4 means you're running 4 instances of LZMA, each with 400Mb dict size, that leads to 400*4*11 = 17600 MB of RAM to compress.

On user machine ISDone will require four continuous memory blocks of 400 MB each.

Also, using 4x4 hurts compression ratio due to blocking. That's why "some guy" repacks are larger than any other. You can try to use LZMA2 instead of LZMA1 (gives you 2 decompression threads by default), but it has it's own downsides.

I've personally used 4x4:LZMA in some of my early repacks, but gave it up. Number of SSD users is not that high, and unpacking in four streams on HDD often leads to overload.
Reply With Quote
The Following 2 Users Say Thank You to FitGirl For This Useful Post:
MCWRX (06-11-2016), VickNet (06-11-2016)
Sponsored Links
  #2  
Old 07-11-2016, 09:56
MCWRX MCWRX is offline
Registered User
 
Join Date: Nov 2013
Location: Moldova
Posts: 19
Thanks: 6
Thanked 2 Times in 2 Posts
MCWRX is on a distinguished road
I tried this string
Code:
srep+4x4:t4:b128m:lzma:128m
but I am not able to unpack it.
Reply With Quote
The Following User Says Thank You to MCWRX For This Useful Post:
VickNet (15-11-2016)
  #3  
Old 07-11-2016, 10:49
aswadd's Avatar
aswadd aswadd is offline
Registered User
 
Join Date: Aug 2016
Location: Egypt
Posts: 316
Thanks: 84
Thanked 162 Times in 98 Posts
aswadd is on a distinguished road
Quote:
Originally Posted by MCWRX View Post
I tried this string
Code:
srep+4x4:t4:b128m:lzma:128m
but I am not able to unpack it.
why you're making it like this 4x4:t4:b128m:lzma:128m
why not 4x4:lzma:b128m:128m

if you used fazip for 4x4 , lzma then you must use it again for unpacking
see (arc.ini)
__________________
~ Greetz to anyone teached me anything ~
Reply With Quote
The Following User Says Thank You to aswadd For This Useful Post:
VickNet (15-11-2016)
  #4  
Old 07-11-2016, 11:00
MCWRX MCWRX is offline
Registered User
 
Join Date: Nov 2013
Location: Moldova
Posts: 19
Thanks: 6
Thanked 2 Times in 2 Posts
MCWRX is on a distinguished road
Quote:
Originally Posted by aswadd View Post
why you're making it like this 4x4:t4:b128m:lzma:128m
why not 4x4:lzma:b128m:128m

if you used fazip for 4x4 , lzma then you must use it again for unpacking
see (arc.ini)
thanks, I will test.

I use LZMA x64
Reply With Quote
The Following User Says Thank You to MCWRX For This Useful Post:
VickNet (15-11-2016)
  #5  
Old 07-11-2016, 11:12
aswadd's Avatar
aswadd aswadd is offline
Registered User
 
Join Date: Aug 2016
Location: Egypt
Posts: 316
Thanks: 84
Thanked 162 Times in 98 Posts
aswadd is on a distinguished road
Quote:
Originally Posted by MCWRX View Post
thanks, I will test.

I use LZMA x64
one here mentioned that don't use lzmax64.exe it's not good i don't remember why but he said that as he tested use 7z lzma2 (xz) or fazip for (4x4,lzma)
__________________
~ Greetz to anyone teached me anything ~
Reply With Quote
The Following User Says Thank You to aswadd For This Useful Post:
VickNet (15-11-2016)
  #6  
Old 21-01-2017, 03:11
Bulat Bulat is offline
Registered User
 
Join Date: May 2016
Location: Moscow
Posts: 63
Thanks: 26
Thanked 50 Times in 27 Posts
Bulat is on a distinguished road
Quote:
Originally Posted by aswadd View Post
if you used fazip for 4x4 , lzma then you must use it again for unpacking
see (arc.ini)
it's opposite - fazip can implement any internal arc.exe algorithm as external one. this means that you can compress with fazip and decompress internally, or vice versa.

in practice, i recommend to use fazip for large compression methods (rep, lzma, ppmd). you may also prefer to use fazip for decompression (even in installer) since it's yet another way to break 2/4 GB barrier of 32-bit programs
Reply With Quote
  #7  
Old 21-01-2017, 03:05
Bulat Bulat is offline
Registered User
 
Join Date: May 2016
Location: Moscow
Posts: 63
Thanks: 26
Thanked 50 Times in 27 Posts
Bulat is on a distinguished road
Quote:
Originally Posted by FitGirl View Post
The example string works just fine
srep+4x4:t4:b128m:lzma:128m

Never use large dict size for 4x4
4x4 means you're running 4 instances of LZMA, each with 400Mb dict size, that leads to 400*4*11 = 17600 MB of RAM to compress.

On user machine ISDone will require four continuous memory blocks of 400 MB each.

Also, using 4x4 hurts compression ratio due to blocking. That's why "some guy" repacks are larger than any other. You can try to use LZMA2 instead of LZMA1 (gives you 2 decompression threads by default), but it has it's own downsides.

I've personally used 4x4:LZMA in some of my early repacks, but gave it up. Number of SSD users is not that high, and unpacking in four streams on HDD often leads to overload.
i agree with almost everything you said except for two things:

1. 4x4 doesn't mean "use exactly 4 threads both for compression and decompression". let's see - data are split into independently compressed blocks, so you can use any number of threads at compression stage and, independent of that, any number of threads at decompression stage. both arc and unarc find largest contiguous block available (in 64-bit windows it will be 2047 MB), divide its size by the memory required for single (de)compression thread, and run so many threads. so, on 64-bit windows it will use more threads, on 32-bit windows it will use less threads

2. lzma2 is different from lzma in two things:
- it stores incompressible chunks of data
- like 4x4, it can split input data into independent blocks. unfortunately, it always uses only 1 thread for decompression. When manual says "LZMA2 uses: 1 thread for each chunk in x1 and x3 modes; and 2 threads for each chunk in x5, x7 and x9 modes" it means only comperssion stage

So, compared to 4x4:lzma, lzma2 may give slightly better ratio and single-thread speed, but it can't decompress even in 2 threads. but probably you meant compression w/o splitting into independent blocks, where lzma2 indeed is slightly better, but still single-threaded on decompression side. unfortunately, it's inherent property of lzma algorithm - you can't use morte than 1 thread to decompress single lzma compressed stream

3. that said, inability to decompress data compressed with 4x4:lzma is a bug in my program. I already have a better algorithm for InsertTempfile procedure, but ATM it's not yet ideal and still wrtitten in Lua. But i will fix that sooner or later.

4. these days, most of user computers run Win64, so probably it's time to switch to 64-bit unarc.dll in most repacks? i will try to build one.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
The ONLY Half-Life 2 Thread. Do Not Create New Threads JoyBoy PC Games 286 25-03-2005 05:49
Official Sims 2 Thread JoyBoy PC Games 229 25-10-2004 16:01
'Official' CM4 Thread - Do Not Create New Threads Fila PC Games 119 23-07-2003 06:33



All times are GMT -7. The time now is 05:25.


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