PrecompInside

CLS PrecompInside 0.3.1

Нет прав для скачивания

vint56

Ветеран
Проверенный
L-e-o-N, у меня все работает попробуй другие файлы пожать
 

Stas

Участник
Возможно ли в ISDone добавить код чтоб precomp.exe запускался в несколько потоков в зависимости от количества ядер во время установки.
Вроде у фиргёрл реализован такой вариант, который значительно ускоряет распаковку.

С ней вряд ли можно связаться и попросить поделится, может кто-то из Форумчан в курсе как реализовать такое ?
 

Mickey1s

Ветеран
Модератор
Stas, в IsDone нельзя. Жди когда автор precomp-а cделает мультиядерность
 

dixen18

Ветеран
Stas, Просить бесполезно - я пытался...Она говорит что все ее тулзы написаны каким-то другом и паблику не подлежат..Как оно на самом деле - не знаю.
Однако, знаю, что мультиядерная распаковка идет через батники у нее..
 

Stas

Участник
Жди когда автор precomp-а cделает мультиядерность
очень сомневаюсь что в ближайшие несколько лет он сделает

другом и паблику не подлежат
Железная логика у неё, а скрипт ISDone и сам precomp и все основное, включая рефлейт и многопоточность которую она юзает, видимо не из паблика она брала :secret:
 

dixen18

Ветеран
Stas, Не мы с вами одни так думаем...Ну не хочет делиться человек, что ж теперь поделаешь))
А FGPack (или как там) это я так понимаю переименованный прекомп?
 

Stas

Участник
dixen18, хз, смотря какой репак, она вроде все файлы под свой ник переименовывает :)
 

Timick

Старожил
Stas, Не мы с вами одни так думаем...Ну не хочет делиться человек, что ж теперь поделаешь))
А FGPack (или как там) это я так понимаю переименованный прекомп?
Да скорее всего, я как-то темку создавал здесь, но четкого ответа мне так никто и не дал. Но, как я думаю, там ни всё так сложно, просто нужно посмотреть её файлы знающему человеку, тогда, возможно, что-то прояснится. Кстати, тузла для мультиядерности есть не только у неё. Кто-то реализует это совсем просто (SEYTER), кто-то посложнее (FitGirl, Механики), R.G. Catalyst, вроде вообще не юзают подобные фишки (по крайне мере я не видел).
Я тоже, делал что-то подобное в своих недорепаках, через батник, вроде нормас всё было :)
 

dixen18

Ветеран
Timick, Вот как? А подробнее можно?)) И почему недорепаках?) Пишите в скайп (заинтересованным напишу в личку) Мне кажется что ничего страшного в том что репакеры опытные делятся опытом с новичками нету..
 

Timick

Старожил
Timick, Вот как? А подробнее можно?)) И почему недорепаках?) Пишите в скайп (заинтересованным напишу в личку) Мне кажется что ничего страшного в том что репакеры опытные делятся опытом с новичками нету..
"Недорепаки", потому что делаю для себя и никуда не выкладываю) И я больше экспериментирую, смотрю как другие сделали. Да и просто слишком много в последнее время я вижу всяких "RePack by Артём34" или "RePack by Толик228" (Утрирую немного, но всё-же)
 

vint56

Ветеран
Проверенный
Поводу запуска precomp Пример делал из игры Call of duty

http://rghost.ru/6vGB9V6xH
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\cpu.exe'), '', ExpandConstant('{app}'), '...',false) then break;

По мне Распаковка Srep + Arc а внутри архива просто обработанные файлы через precomp

Для обработки
dir /A /d /b /s Data\*.* | ppx2.exe -P %NUMBER_OF_PROCESSORS% -L 1 precomp.exe -slow -t-j "{}"
Для восстановления
dir /b *.pcf | ppx2.exe -P %NUMBER_OF_PROCESSORS% -L 1 precomp.exe -r "{}"
del /f /q /s *.pcf

Advanced BAT to EXE Converter
 
Последнее редактирование:

Edison007

Ветеран
Модератор
Возможно ли в ISDone добавить код чтоб precomp.exe запускался в несколько потоков в зависимости от количества ядер во время установки.
Можно, и вариантов реализации в принципе много. Ну точнее не прямо в IsDone - через функцию IsExec. В связке с cls-фильтром - не выйдет.
 

dixen18

Ветеран
vint56, Я правильно понимаю что сначала создавать надо .pcf файл а потом его паковать SREP+ARC? Именно паковать а не обрабатывать..
 

Mrman

Новичок
Поводу запуска precomp

http://rghost.ru/6vGB9V6xH
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\cpu.exe'), '', ExpandConstant('{app}'), '...',false) then break;

По мне Распаковка Srep + Arc а внутри архива просто обработанные файлы через precomp

Для обработки
dir /A /d /b /s Data\*.* | ppx2.exe -P %NUMBER_OF_PROCESSORS% -L 1 precomp.exe -slow -t-j "{}"
Для восстановления
dir /b *.pcf | ppx2.exe -P %NUMBER_OF_PROCESSORS% -L 1 precomp.exe -r "{}"

Advanced BAT to EXE Converter
а можно както зделать чтобы файлы в подпапках востанавливались в исходные папки а не отдельно? и как указать формат получаемый после прекомп?
 

Stas

Участник
Поводу запуска precomp

http://rghost.ru/6vGB9V6xH
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISExec ( 0, 0, 0, ExpandConstant('{app}\cpu.exe'), '', ExpandConstant('{app}'), '...',false) then break;

По мне Распаковка Srep + Arc а внутри архива просто обработанные файлы через precomp

Для обработки
dir /A /d /b /s Data\*.* | ppx2.exe -P %NUMBER_OF_PROCESSORS% -L 1 precomp.exe -slow -t-j "{}"
Для восстановления
dir /b *.pcf | ppx2.exe -P %NUMBER_OF_PROCESSORS% -L 1 precomp.exe -r "{}"

Advanced BAT to EXE Converter
Извиняюсь, но это бред какой-то, протестировал на 400 мб файле который разжимается до 600, результат:
Стандартный вариант, установка на жесткий диск 72 секунд.
Ваш вариант 92 секунд на жесткий диск, 88 секунд на ссд, мало того скорость установки хуже стала, дк еще на ссд ставится медленнее чем на стандартном на жесткий диск :mocking:
 

vint56

Ветеран
Проверенный
dixen18, Да
Mrman, не понял
Stas,
тот что я выложил пример там простой precomp не много поточный все правильно ты сжимал один файл и обработка шла одного файла
Почему установка простая шла быстрей precom и srep идет сразу без временных файлов но там идет всего один поток precomp а что я выложил сначала идет распаковка всех файлов pcf потом ppx2.exe - параллельное выполнение нескольких потоков %NUMBER_OF_PROCESSORS% определяет автоматический сколько ядер и запускает то количество ядер у меня определило 4 ядра так и запустило 4 потока
Сделал тест с параллельной установкой взял папку zone c call of duty 4 установка шла около ~ 5 с чем то с precompinside около ~ 9 с чем то разница 3 минуты
 
Последнее редактирование:

dixen18

Ветеран
Как блин всего интересного узнаешь)))
vint56, Скажите а вместо SREP+ARC можно ли использовать 7Z? Просто второй сжал полученный PCF порядка на 8 метров сильнее чем ARC))
Вот мы заморочились то:D
 
Последнее редактирование:

Stas

Участник
один файл и обработка шла одного файла
А вот про это я не подумал, теперь понятно.

Думаю Mrman имел введу, что через батник не получается восстанавливать из .pcf файлов оригинальные файлы в подпапках в которых они были обработаны. такая же проблем у меня. Кроме того, после обработки группу файлов, оригинальные файлы не удаляются после обработки, в итоге сложно найти файлы которые не были обработаны и удалять в ручную те которые были обработаны.
 
Последнее редактирование:

toolame

Старожил
Проверенный
OK, поделюсь своим батником для особо ленивых
http://paste2.org/eFAWYE02
он предназначен для параллельной (может выполнятся непосредственно во время распаковки фриарк архива), мультипоточной расспаковки pcf файлов на RAM-диске
на HDD, и даже наверно SSD, лучше его запускать после распаковки архива, наверно
запуск выглядит так:
Код:
cmd /Q /C call unprecomp.bat макс_кол-во_precomp_копий путь_к_обрабатываемой_папке время_ожидания_в_секундах_между_запусками_precomp путь_precomp.exe
пример
Код:
cmd /Q /C call "C:\Temp\unprecomp.bat" 4 "C:\Game\Data" 5 "c:\temp\precomp044.exe"
во фриарк архиве соответвенной должны быть .pcf файлы от прекомпа
 
Сверху