![]() |
@Blackfire69
I've hbeen having issues with both MTX.exe and RazorX trying to compress a few files, leading to an FreeArc error at 99.1% in both tools (bad file descriptor error). I use srep before running. Will this cause issues during decompression? I've never encountered that before. I'm currently testing that myself. Arc says decompression error in razorx/mtx though, and not srep |
Quote:
how many threads did you use? (for the compression and the decompression) did you run this test on the same cpu? in general, MTX returns errors because the number of threads doesn't match. I mean for example, MTX can't control this situation if you use 8 threads for compression and 16 threads for decompression. this's because the number of threads for decompression should always be less than or equal to the number of threads you used in compression. |
MSVCP140.dll error
1 Attachment(s)
how do I fix this? (MSVCP140.dll)
solution: Install VC++ 2015-2017-2019 package (both x86 and x64) latest Visual C++ downloads |
I'd argue this is a better solution :D
https://github.com/abbodi1406/vcredist/releases Anyways, I solved my issues, it appears the files being extracted were simply too small (1-2kb) and something just went wrong. I played around a bit and managed to reach a correct extraction: Code:
FreeArc 0.67 (March 15 2014) extracting archive: MASQUERADE-Data_01.MSQ |
MTX v5.0.0.2 New Update
MTX v5.0.0.2 New Update What's new: Code:
1. Fixed config file parsing bug. (Thanks to @Cesar82)Code:
[MTX64]Code:
Section name |
1 Attachment(s)
MTX v5.0.0.2 Improved version What's new:
* Check the first post for more info & downloads. . |
@BLACKFIRE69
MTX crashes on when decompressing on systems with strange numbers of cores/threads (e.g. 6c/6t and 6c/12t) Are you able to fix this? (issues in both EXE and CLS versions) |
I can only decompress with mtx if t100p is set in packcmd in arc.ini.
If I set t75p (or any other number other than 100) freearc can't decompress the archive. Is this a bug or am I missing something? Edit: encode and decode have to be equal. I missed it. If you used t100p in encode you have to use t100p in decode too. Sorry :D |
BLACKFIRE69, you could remove the ":" from the parameters in your MTX.
Example, how can I send 4 threads (-t4) as a parameter from pack.bat. It is not allowed to send "t:4" because the ":" are already FreeArc parameter separators. |
Quote:
Quote:
|
2 Attachment(s)
Quote:
ex: encode: 16 (Threads) decode: 16, 8, 6, 4, 2, ... if any user has entered an invalid value for the decoding threads, i'll improve MTX so that it can be corrected by MTX itself in a future update. (since i'm a bit busy, give me some time for that ;)) in the meantime you can test out the beta version of new RazorX. i've used 50p for encoding and 100p for decoding. although this is usually invalid, it's automatically corrected by RazorX. Code:
[External compressor:rzmt]. |
Quote:
Me and KaktoR were doing tests with RAZOR MTX. The configuration used was: Code:
packcmd = MTX.exe a -m:rz {option} -c:64m -t:100p - - <stdin> <stdout>If it compressed and sent me the file I couldn't extract it because it would have been compressed using 12 threads and I would extract using 24 threads. So if you make a game backup and upgrade the CPU to one with more threads, there will be an extraction error. I know I could set it to t2 for extraction, but that loses the meaning of being multi threaded (use only 2 of 24). The workaround is to set it to 100p use send thread number (get from system) as method parameter and when extract use {option} to set -t parameter. Thanks for answering! |
Quote:
that won't happen in the next update of MTX. checkout the RazorX beta above, the following config works without any problems. Code:
[External compressor:rzmt]KaktoR can use it to encode as, Code:
packcmd = RazorX.exe a -c:64m -t:100p $$arcdatafile$$.tmp $$arcpackedfile$$.tmpCode:
unpackcmd = RazorX.exe x -t:100p - - <stdin> <stdout> |
MTX v5.0.0.3 Beta - Update
Update!
Code:
USAGE: |
MTX v5.0.0.3 beta Update 1
MTX v5.0.0.3 beta Update 1
Code:
-- Fixed a minor issue.MTX v5.0.0.3_beta Update 01 _ 64-Bit.rar |
MTX - The Universal Accelerator - 2023
Code:
1. Created MTX2023 from scratch and optimized for speed and efficiency.Code:
Remark:Code:
1. Recommended setting (stdio mode) but no info will be displayed.. |
Tested MTX 2023 with razor. It is a disaster, freezes my computer. Never happened with the accelerator razorx.
Looks like it has created 190k files in the temp folder of freearc, when I have compressed one single file of 2.77GB. |
Quote:
|
MTX - Updates
Quote:
The MTX project has been rebooted, and it is now starting from version 0.1. The new version of MTX is compatible with both cls-diskspan.dll and DiskSpan-GUI. The first post has been updated. . |
Quote:
2) There is no longer support for external configurations in MTX.ini? |
Quote:
no. |
Does it still require the "-ds" parameter in FreeArc?
|
can you repost a link for the new versions of MTX ?
|
MTX v0.3 - Update
9 Attachment(s)
https://i.ibb.co/k2VpTrJj/hh.png MTX v0.3 Universal Multi-Threading Accelerator for FreeArc External Compressors Windows x64 · single exe, no dependencies · by BLACKFIRE69 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━ ▌ OVERVIEW Many of the strongest external compressors (precomp, mpz, rz, nz, srep …) are single-threaded: on a modern multi-core CPU they leave most of the machine idle. MTX sits between FreeArc and the compressor, splits the archive data stream into fixed-size chunks, runs N parallel instances of the compressor on those chunks, and merges the results back into one sequential stream — in guaranteed original order. One config line turns a single-threaded compressor into an all-cores compressor. ▌ TECHNICAL SPECIFICATIONS
Wrapped-tool I/O modes (auto-detected from the method's command lines): Code:
╭───────────────┬────────────────────────┬───────────────────────────────╮256 MB of heterogeneous data compressed with zstd -17 as the wrapped single-threaded compressor. v0.3 was run with --progress=off --toolProgress=off; each version round-trips its OWN archive (SHA-256 verified identical). Code:
╭──────────────────────┬─────────┬─────────┬─────────╮▌ KEY FEATURES ✦ True Parallel Compression -t# Continuous reader/workers/writer pipeline — chunks are read, compressed and written simultaneously by N parallel tool instances (-t#, default -t100p = one per logical core). The slowest chunk never stalls the rest. ✦ Guaranteed Stream Order Output chunks are always written in the original input order, whatever order the workers finish in. FreeArc sees one opaque sequential stream. ✦ Memory Budgeting --mem= --mem=8g sets a total RAM budget for chunks in flight (default: half of free RAM). --toolMem=2g declares how much RAM one tool instance needs — MTX then starts only as many instances as the machine can hold. A memory-hungry tool like rz can no longer freeze the whole system at -t100p. ✦ Safe Archive Format (MTX2) Magic + version header, per-chunk frames carrying both sizes and a CRC32 checksum, explicit end marker with chunk count and total size. Damaged, truncated or foreign data is detected and reported — never silently unpacked into garbage. ✦ Independent Thread Counts Every chunk frame is self-describing, so compression and decompression thread counts are fully independent. Pack with -t2 on a mid-range PC, unpack with -t16 on a high-end gaming PC. ✦ Live Status Display A gray "#[#]" line above the MTX status shows the wrapped compressor's OWN live progress for the chunk currently gating the output; file-based tools get a per-chunk pseudo-console so they report progress even when piped. --progress=on|auto|off controls the whole display; --toolProgress=auto|on|off controls just the tool line. Errors always print regardless. ✦ Machine-Global Config (MTX.ini) An optional MTX.ini next to the exe carries per-machine defaults (threads, chunk, mem, toolMem, okcodes, tempPath, basePath, cfgFile, progress, logs). Anything on the command line overrides it, so shared configs stay minimal and machine tuning lives next to the exe. ✦ Strict Error Contract Tool failures, I/O errors and archive damage reach FreeArc as a nonzero exit code with a clear message: 0 = OK, 1 = runtime error, 2 = usage/config error, 3 = archive damaged. MTX never exits 0 after a failure, so FreeArc never finalizes a broken archive. ✦ Tolerant Tool Handling --okcodes=0,2 accepts benign nonzero exit codes (precomp exits 2 when it finds nothing to precompress). Tool stderr is passed through, so the wrapped compressor's own messages stay visible. ✦ Collision-Free Temp Handling Every parallel instance works in its own private temp directory — file-based tools and scratch-file writers (srep) cannot overwrite each other. --tempPath="X:\MyTemp" redirects all temp I/O to a chosen drive. ✦ Per-Method Defaults In an MTX-only config file, a method section can carry its own defaults: okcodes, mtxthreads, mtxchunk, mtxmem. Command-line flags always win. ✦ Session Logging --logs appends a timestamped session log (resolved options, per-chunk timings, child command lines) to MTX.log next to the exe. ▌ COMMAND REFERENCE Code:
MTX64.exe <Command> <Options> [Settings] Input OutputExample 1 — Wrap a method in FreeArc's arc.ini Code:
; the plain single-threaded methodCode:
MTX64.exe a -mprecomp -c128m -t100p - - <stdin> <stdout>Code:
MTX64.exe a -mrz -c64m -t100p --toolMem=2g --mem=8g - - <stdin> <stdout>Code:
MTX64.exe a -mprecomp -c64m --okcodes=0,2 data.tmp packed.tmpCode:
[External compressor:rz64]Example 6 — Maximum throughput (MTX status on, tool line off) Code:
MTX64.exe a -mzstd -c8m -t100p --progress=on --toolProgress=off - - <stdin> <stdout>▌ DISTRIBUTION FILES
▌ NOTES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━ Feedback, bug reports, and edge cases are all welcome. ▌ Download - Check the first post. . |
| All times are GMT -7. The time now is 00:02. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com