Мод «Image Opt» для Rimworld (v1.6)

Дата
05.04.26
Просмотров
494
Версия
30.08.25

Это модификация, которая пытается оптимизировать время загрузки текстурных изображений.


Основные особенности этого мода:
  • Для изображений PNG/JPEG: многопоточное параллельное чтение, декодирование и загрузка, значительно повышающее скорость загрузки.
  • Для изображений DDS: многопоточное чтение файлов, незначительно повышающее скорость загрузки.
  • Для образов DDS.zstd, созданных с помощью этой модификации: то же самое, что и для образов DDS, но значительно уменьшает объем занимаемого места на жестком диске.
  • Обнаружение устаревших текстур и их автоматическое восстановление.

Вопросы и ответы

В чём разница между Graphics Settings+ ?
GS+ обеспечивает только однопоточную загрузку изображений DDS.

В чём разница между оптимизацией текстур и rimsort?
rimsort может генерировать только изображения DDS, а не сжатие ZSTD.

Каковы преимущества включения сжатия ZSTD для DDS?
Сжатые изображения DDS становятся меньше, что уменьшает использование дискового пространства (но не уменьшает использование видеопамяти).
Декомпрессия ZSTD очень быстрая и мало влияет на скорость загрузки (особенно при многопоточной загрузке).

Каковы преимущества преобразования существующих изображений PNG в DDS?
DDS — это формат, который может быть напрямую прочитан графическим процессором, что ускоряет загрузку, уменьшает использование видеопамяти и снижает нагрузку на рендеринг графического процессора.

Что такое автоматическая регенерация устаревших текстур?
Представьте ситуацию, когда вы сгенерировали текстуру DDS вчера, а сегодня автор мода меняет изображение PNG (при этом имя изображения остаётся тем же). Даже после обновления мода вы всё ещё используете старую текстуру DDS, созданную вчера.

Эта функция в данном моде проверяет дату изменения файла изображения при загрузке. Если файл DDS старше исходного файла PNG, он автоматически генерирует новый файл DDS.

Эта операция занимает много времени, но, учитывая, что обновления текстур происходят редко, а загрузка многопоточная, затраты должны быть приемлемыми.

Ошибка: Ошибка создания текстуры, код: <int>
Пожалуйста, сначала попробуйте использовать инструмент сжатия текстур этого мода (находится в настройках мода), чтобы перегенерировать все файлы DDS. Если ошибка сохраняется, пожалуйста, приложите файл журнала при сообщении об ошибке.

Ошибка: Texture2D.***: не допускается для нативных текстур.
Пожалуйста, см. раздел совместимости. Сообщите об этом моде (или предоставьте журналы), и я добавлю его в список совместимости для дальнейшей обработки.


Рекомендуемое использование

После включения этого мода запустите игру и перейдите на страницу настроек мода. Откройте инструмент сжатия текстур GPU, отметьте все параметры (включая «Перезапись» и «ZSTD»), установите качество на «Высокое», а затем нажмите кнопку «Сгенерировать». Дождитесь завершения многопоточного сжатия; не закрывайте окно. Для справки, обработка 23 600 изображений в моде 550 заняла примерно 600 секунд на моем процессоре 5600.


Если вы ранее создавали DDS-файлы с помощью rimsort/rimpy, вы можете сначала нажать «Очистить все DDS-файлы», чтобы уменьшить использование дискового пространства.

Эта операция не удалит и не изменит ни одно из PNG-изображений мода; она только создаст/удалит DDS-файлы и не повредит содержимому мода.

При использовании этого мода, если вы:

1. Не используйте файлы .dds: вы получите выгоду от повышения скорости загрузки благодаря параллельному декодированию.
2. Используйте файлы DDS, сгенерированные этим модом или rimsort: разницы с использованием только Graphics Settings+ нет. Сами файлы DDS загружаются очень быстро, но параллельная загрузка обеспечивает неболькое увеличение скорости загрузки.
3. Используйте файлы dds.zstd, сгенерированные этим модом: объем дискового пространства, занимаемого файлами DDS, значительно уменьшается.


Совместимость

Теоретически, этот мод несовместим с любыми модами, изменяющими код загрузки текстур, за исключением Graphics Settings+.
Этот мод можно использовать с Graphics Settings+. Функция загрузки DDS и смещение мипмапов в Graphics Settings не будут применяться, но вычисления использования памяти текстур будут работать нормально.

Текстура texture2D, созданная этим модом, не может быть прочитана/записана процессором, что вызывает ошибки в модах, использующих такие методы, как GetPixel(s), ReadPixels, SetPixels и EncodeToJPG. Текущее решение — вручную пропатчить реализацию GetPixels32, но я не уверен, есть ли другие моды, использующие другие неподдерживаемые методы.

Этот мод отключит стандартную опцию «Сжатие изображения», поскольку эта опция, по сути, сжимает изображение на лету при загрузке. Она работает так же, как и использование DDS, но качество изображения хуже, а время загрузки дольше. Если вам нужна эта функция, то, думаю, вам не нужен ImageOpt.


Отличия от ванили:

Начиная с версии 1.6.4.4552 unstable, в ванильной версии игры есть встроенная функция чтения DDS-файлов. Это похоже на то, что делает Graphics Settings+, но, похоже, по-прежнему не предоставляет возможности изменять смещение мип-пакетов (что есть как в Graphics Settings+, так и в этом моде).

Совет: .zstd — это формат сжатия. Если ваше программное обеспечение для сжатия поддерживает его (например, bandizip), вы можете даже открыть его напрямую и увидеть файл .dds внутри.

Мод проверен на версии игры: 1.6

Установка мода

Для того, чтобы установить мод для игры Rimworld необходимо скопировать папку из скачанного архива по пути Путь к установленной игре\Rimworld\mods и включить мод в меню.

Рекомендуем ознакомиться с полным руководством на тему: "Как установить моды для Rimworld?"

Информация о файле

ТОП группа по RimWorld

Помощь по игре и масса полезного контента. Подписывайся!

Нет комментариев. Ваш будет первым!
Загрузка...