dds текстуры / надобность или избыточность?

27 ноября 2016 17:17
Мне интересно насколько актуально юзать автоконвертацию ресурсов.
Все мои png текстурки конвертируются в dds, который тяжелее минимум раза в 2 и проект становится очень толстый, основные png + dds.

И нтересно так же как удалить конвертированный вариант, кроме как тыкать самому в файлы в папке. Допустим я изменил текстуру, она автоматически не переконвертируется, придется в папке удалять dds вариант и запускать снова автоконвертацию.

Так же интересует повторная конвертация, при ней добавляется еще один конверт файл.
Crane_balk.jpg - оригинал
Crane_balk.jpg.dds - dds вариант
Crane_balk.min50.jpg - мини вариант
Crane_balk.min50.jpg.dds - по моему он при повторной конвертации создается

Насколько правильно и необходимо юзать dds варианты текстур и нужны ли в финале jpeg и png?
И если необходимо юзать только dds, то может и вариант Crane_balk.min50.jpg то же лишний?
Baasis - vk.com/baasis - vk.com/pro_blender
OS: Mint 18 Sarah x86_64 Linux 4.4.0-21-generic, DE Cinnamon, CPU: Intel Core i7-2600K CPU @ 6.3GHz, GPU: GeForce GTX 680, GeForce GTX 650 Ti, RAM 16Gb
Браузеры: неадекватный FireFox v49, не люблю но тестирую все на Google Chrome v54, вроде сойдет Vivaldi 1.4.589.38
28 ноября 2016 11:58
Мне интересно насколько актуально юзать автоконвертацию ресурсов.
Все мои png текстурки конвертируются в dds, который тяжелее минимум раза в 2 и проект становится очень толстый, основные png + dds.
У dds есть как преимущества, так и недостатки. С одной стороны - они занимают больше места на диске, чем, например, png, и поэтому будут дольше загружаться по сети пользователем, увеличивая общее время загрузки. С другой - они сильно экономят видеопамять, быстрее обрабатываются при их записи на GPU (уже наоборот уменьшая общее время загрузки) и могут повысить фпс.

Также есть недостаток - в отдельных случаях у DDS могут провляться артефакты пережатия. Подробнее здесь: ссылка.
Количество занимаемой текстурами памяти на GPU можно сравнить в просмотрщике:
ссылка (5 пункт - Индикатор видео-памяти).

Ещё пара моментов насчет размера всего проекта:
- движок грузит только то, что нужно, поэтому будет грузиться либо dds, либо оригинальный файл, а не оба сразу
- текстуры грузятся асинхронно во время подготовки сцены, поэтому разница во времени загрузки будет не так велика (для png), если только не для слабой сети.

Учитывая все вышеперечисленное, логичным будет использовать DDS для "больших" проектов, в которых имеется много текстур - чем их больше тем заметнее будут результаты оптимизации. Для маленьких проектов смысла нет - особой разницы не увидите.

"Большой" проект или нет - решать автору. Тут ещё стоит учитывать девайсы, на которые ориентируетесь - мобильные или старые GPU.
28 ноября 2016 12:37
И нтересно так же как удалить конвертированный вариант, кроме как тыкать самому в файлы в папке. Допустим я изменил текстуру, она автоматически не переконвертируется, придется в папке удалять dds вариант и запускать снова автоконвертацию.
Удалить можно из консоли через скрипт ./scripts/converter.py:
./scripts/converter.py cleanup_dds

Измененные текстуры должны конвертироваться и без удаления старых dds-ок (разумеется, нужно снова запустить convert resources). Для этого проверяется время модификации файла. У вас без удаления не обновляется? Возможно, баг.

Так же интересует повторная конвертация, при ней добавляется еще один конверт файл.
Crane_balk.jpg - оригинал
Crane_balk.jpg.dds - dds вариант
Crane_balk.min50.jpg - мини вариант
Crane_balk.min50.jpg.dds - по моему он при повторной конвертации создается
Не должно быть, они создаются все при первой конвертации, т.к. сначала генерируется min50, а потом все конвертируется в dds. Проверил на тестовом проекте - так и работает.
28 ноября 2016 12:47
Насколько правильно и необходимо юзать dds варианты текстур и нужны ли в финале jpeg и png?
И если необходимо юзать только dds, то может и вариант Crane_balk.min50.jpg то же лишний?
Не везде поддерживается dds (iOS, например), поэтому стоит держать оригиналы для этого случая.
28 ноября 2016 15:47
Ответ на сообщение пользователя Иван Любовников

Большое спасибо
Baasis - vk.com/baasis - vk.com/pro_blender
OS: Mint 18 Sarah x86_64 Linux 4.4.0-21-generic, DE Cinnamon, CPU: Intel Core i7-2600K CPU @ 6.3GHz, GPU: GeForce GTX 680, GeForce GTX 650 Ti, RAM 16Gb
Браузеры: неадекватный FireFox v49, не люблю но тестирую все на Google Chrome v54, вроде сойдет Vivaldi 1.4.589.38
 
Пожалуйста, зарегистрируйтесь или войдите под своей учетной записью , чтобы оставлять сообщения.