Ускорить загрузку карт путем уменьшения (ухудшения) текстур.
Уменьшить нагрузку на видеопамять (если ее мало), вероятно уменьшить потребление ОЗУ.
ReComp - Программа создает BAT-файлы для пакетной обработки (уменьшения размеров) текстур утилитами NVIDIA: nvdxt из состава утилит [Ссылки могут видеть только зарегистрированные пользователи. ] (по умолчанию) или [Ссылки могут видеть только зарегистрированные пользователи. ] (задается ключом -nvtt). Хотябы одна из этих утилит требуется для работы программы.
[spoiler]DDS Utilities:
+ не создает временных файлов [утилита nvdxt]
+ нормально работает с большими текстурами (8192х8192) [используя утилиты detach и stitch или старую версию nvdxt v6.60]
+ изменение размеров текстуры с mipmap уровнями без потери качества NVIDIA Texture Tools:
- создает два файла TGA при работа с одним файлом DDS, причем один из них в 3-4 раза больше самой DDS
- вылетает при попытке ресайза большой текстуры (8192х8192)[/spoiler] Usage: recomp <input> [<options>]
<Input>: Путь к папке, содержащей текстуры ИЛИ Текстовый файл содержащий путь к каждому dds (задается ключом -list). Если указываете путь к папке в кавычках, то не нужно ставить в конце слэш.
<Options>: (все опции необязательные)
Код:
-detach Обработка без потери качества текстур (только с mipmap уровнями) утилитами detach и stitch
[только для DDS Utilities] [Самый быстрый способ].
-dxt <1, 3, 5, 9> Задать определенный тип DXT, если он не определен по заголовку текстуры (9 = ARGB).
-fast Быстрое сжатие (вероятно за счет худшего качества).
-force Принудительно создать BAT-файл с неправильными параметрами.
-info Вывод некоторой бесполезной информации о текстуре.
-list Указывать этот ключ, если вы используете файл, а не папку (для input).
-mips Принудительно генерировать mipmap уровни во всех текстурах.
-nocuda Не использовать CUDA компрессор (только для NVIDIA Texture Tools).
-nomips Отключить генерацию mipmap уровней.
-nonstop Не останавливать BAT-file, если возникает ошибка.
-nvtt Использовать NVIDIA Texture Tools (вместо DDS Utilities).
-outsamedir Перезаписать оригинальные текстуры (игнорируется, если ключ -s не задан).
-pause Вставить комманду "pause" в BAT-файл (только для NVIDIA Texture Tools).
-s [0.125, 0.25, 0.5] Scale factor for zoom (default = все варианты).
-temp <path> Путь к временной папке (для работы утилиты detach).
[spoiler]-force и -dxt (если в заголовке текстуры указан неизвестный для меня формат текстуры, то можно попробовать сжать текстуры в другом формате, который задаем ключем -dxt [без него будут записываться ключи -bc0 или -dxt0, которые неизвестны для NVIDIA Texture Tools и DDS Utilities]) -nocuda (по умолчанию nvcompress.exe пытается каждый раз задействовать CUDA, у кого возникают проблемы - отключаем)[/spoiler] Описание: Передаем в качестве первого параметра программе путь к папке, в которой находятся текстуры. Программа сама рекурсивно находит все текстуры внутри папки и подпапок. Вместо указания папки, можно указать текстовый файл (с любым именем и расширением) содержащий путь (в виде x:\path1\path2\texture.dds) к каждому dds. Файл со списком текстур можно быстро сгенерировать например в TotalCommander используя плагин [Ссылки могут видеть только зарегистрированные пользователи. ] от Konstantina Polyakova. Одна строка - один путь к файлу, в конце строк не должно быть пробелов и TAB'ов (быстро убрать не нужные символы можно в AkelPad комбинацией клавиш Alt+Backspace), не должно быть пустых строк в начале, середине или конце файла. Программа просматривает заголовки текстур и создает один или три BAT-файла с нужными ключами для утилит DDS Utilities или NVIDIA Texture Tools. При запуске BAT-файла, (для NVIDIA Texture Tools) распакованные текстуры будут создаваться рядом с оригинальными, обработанные несжатые и сжатые - рядом с BAT-файлом. При запуске BAT-файла, (для DDS Utilities) обработанные текстуры будут создаваться рядом с BAT-файлом или перезаписывать оригинальные. Текстура на выходе будут такого же формата (DXT1, DXT3, DXT5, RGBA) что и оригинальная, mipmap уровни будут генерироватся только если они были и в оригинальной текстуре.
Detach: Утилита detach (stitch) (из состава DDS Utilities) извлекает (собирает) mipmap уровни из файла текстуры. Это позволяет изменять размер текстуры без потери качества. Сначала извлекаем mipmap уровни (по умолчанию в системную временную папку, можно указать другую папку в качестве парметра ключа -temp), удаляем самые большие mipmap уровни, переименовываем оставшиеся mipmap уровни и собираем их в новую текстуру. Такой способ ресайза самый быстрый, но требует большего количества файловых операций. Если текстура не содержит mipmap уровней, то она обрабатывается как обычно.
По поводу mipmap: если включено - в настройках игры выставить максимальное качество для текстур, если отключено - настройки в игре не влияют. Для больших текстур (0.5 и 0.25) рекомендую включить, для маленьких (0.125) - практически не влияет. Плюсы и минусы читаем на [Ссылки могут видеть только зарегистрированные пользователи. ].
Ограничения:
В папке "\res\system\maps\" есть маленькие по размеру текстуры, если их сильно сжать, то они получатся размером 1x1 и игра будет вылетать. Пережимайе только большие текстуры в этой папке, а мелкие - они и так мелкие.
Текстуры в папке "\res\maps\skyboxes\" я не пробовал пережимать, они мне вообще не нужны. Есть подозрение, что там текстуры формата cubemap, я не реализовывал их поддержку в программе.
Не следует трогать текстуры в папке \res\particles\Decals\, иначе не будет видно эмблем и пробитий на танке.
Не следует трогать текстуры в папке \res\system\fonts\.
Не следует трогать текстуры \res\gui\maps\vehicles\decals\graffiti_stickers.dd s и \res\maps\fx\explosion_decal.dds.
Не следует трогать текстуру \res\particles\maps\flash.dds, иначе не будет видно трассеров.
Как распаковать патч: копируем в пустую папку файл version.xml (лежит в корне игры) и устанавливаем патч в эту папку.
Чем посмотреть текстуры: [Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ], [Ссылки могут видеть только зарегистрированные пользователи. ]
[spoiler]Я не пытался изобретать велосипед, поэтому использовал по максимуму возможности других программ, чтобы облегчить написание этой. Почему Catalog Maker и AkelPad, потому что они часто идут в разных сборках TotalCommander'ов и уже были установлены на ПК.[/spoiler] Пример использования с указанием папки:
[spoiler]
Установить утилиты NVIDIA Texture Tools или DDS Utilities
Указать в качестве первого парметра программе папку с текстурами:
Код:
recomp d:\games\wot\res\vehicles -s 0.125
Запустить BAT-файл. Полученные текстуры будут находится в папке .\0.125 рядом с BAT-файлом
[/spoiler]
Пример использования с файлом-списком:
[spoiler]
Установить утилиты NVIDIA Texture Tools или DDS Utilities
Создть файл со списком текстур используя плагин Catalog Maker в TotalCommander (в ReadMe плагина написано как)
[spoiler]Примерные настройки плагина
[attachment=36017:CatalogMaker_View.jpg][attachment=36018:CatalogMaker_Format.jpg][/spoiler]
Уберать лишние строки и лишние символы пробелов и TAB'ов (например в AkelPad комбинацией клавиш Alt+Backspace), список должен выглядеть примерно так
\World_of_Tanks\res\maps\skyboxes\ (убрать полностью папку skyboxes - убирает облака)
\World_of_Tanks\res\particles\Tank\ (убрать все файлы xml кроме engine_exit_* (2 шт.) - пропадают эффекты попаданий, искры...)
Без файлов engine_exit_* (2 шт.) игра не запустится!!! И заменить engine_exit_* на эти (убирает дым от двигателя):
[attachment=43248:engine_exit_diesel.xml]
[attachment=43249:engine_exit_gass.xml]
\World_of_Tanks\res\particles\Shells_Eff\ (убрать все файлы xml кроме trace [трассер снаряда] - пропадают эффекты попаданий, искры...)
Ставим ангар от Шторма (убирает ангар) [[Ссылки могут видеть только зарегистрированные пользователи. ] или [Ссылки могут видеть только зарегистрированные пользователи. ]]
\World_of_Tanks\res\content\Interface\ (убрать полностью папку Interface - убирает ангар, танчик будет висеть на фоне звезд [не работает для премиум ангара])[!!!! данный метод уже не работает]
\World_of_Tanks\res\gui\maps\icons\map\screen\ (убрать полностью папку screen - картинка при загрузке карты)
\World_of_Tanks\res\gui\flash\ScopeShadow.swf (заменить файл на другой - уменьшает падение FPS в снайперском режиме):
[attachment=40071:ScopeShadow.rar]
Убираем вершинные и пиксельные шейдеры:
\World_of_Tanks\res_bw\shaders\pixelshaders (убрать полностью папку pixelshaders)
\World_of_Tanks\res_bw\shaders\shimmer (убрать полностью папку shimmer)
\World_of_Tanks\res_bw\shaders\xyz* (убрать полностью папки xyz* - 4 штуки}
Во время игры убрать отображение состава команд - Ctrl+TAB два раза, дает приблизительно +(1-2)FPS
Настройки игры все по минимуму плюс редактирование preferences.xml из этой [Ссылки могут видеть только зарегистрированные пользователи. ], в настройках драйвера видеокарты создать профиль для игры и указать там максимальную производительность вместо качества.
Немного про эффекты:
[spoiler]
\World_of_Tanks\res\particles\Tank\explosion_All.x ml - след на земле после взрыва танка
\World_of_Tanks\res\particles\Shells_Eff\groundHit _AP_1.xml - эффект при попадании снаряда в землю, именно этот отображает минимум дыма и анимации (меньше всего тормозит), нужно его размножить нижеприведенным BAT файлом, этим мы заменим все остальные файлы эффектов попаданий и при попадании любого снаряда в змелю будет вызывать минимум тормозов и отображать след на земле от выстрела
\World_of_Tanks\res\particles\Shells_Eff\waterHit_ AP_1.xml - эффект при попадании снаряда в воду, скопировать этот файл с новым именем waterHit_AP_3.xml, тем самым заменив более нагруженный эффектами waterHit_AP_3.xml
[/spoiler]
С такими издевательствами игра нормально работает, без ошибок, зависаний... все это НЕ ДАЕТ НИКАКИХ ПРИЕМУЩЕСТВ в плане геймплея над соперниками.
Если раньше было примерно 5-27FPS которое РЕГУЛЯРНО проседало от малейших граффических эффектов вроде искр, дыма, пыли, анимации разрушений объектов, то сейчас 15-30FPS, игра идет НАМНОГО плавнее.[/spoiler]
Код:
Language: C
IDE: Code::Blocks 10.05
Compiler: GNU GCC 4.4.1
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ] [Ссылки могут видеть только зарегистрированные пользователи. ]
[spoiler]Changelog:
v0.2.2
* исправил затирание строки при выводе количества найденых файлов;
* ошибка ключа -detach, если была только одна текстура.
v0.2.1
* исправил ошибку ключа -detach при отсутствии ключа -s;
* исправил ошибку ключа -detach при малом количестве MipMap-уровней в текстуре.
v0.2.0
+ добавил возможность работы с утилитой detach (из комлекта DDS Utilities) [ключи -detach и -temp];
+ добавил остановку BAT-файла, если возникнет ошибка при работе внешних утилит [ключ -nonstop отключает];
- убрал проверку пары полей в заголовке текстуры (иногда они не заполняеются);
* произвел косметические изменения в создаваемом BAT-файле.[/spoiler]
коротко для чего это кто не прочел в начале темы - это для того у каво слабые системы и при игре все лагает/глючит