WIP | Tema001 |
Цитата Tema001:
Цитата booka80:
Сабстанс при экспорте не дает возможности задавать размер
Ну это я помню, а если это в PS, можно не делать 1024х1024, а сделать 1000х1000. Вот и задумался, зачем и для чего те самые 24 пикселя. Ну или 12, если это 512х512. Вроде как с памятью связанно, что там кластеры имеют размер в битах 8 МБ, и так далее по томам. Но вот до конца этого смысла не понимаю.
Пишу по -дцатилетней памяти, поэтому цифры, да и объяснение, немного "с потолка". Текстуры предпочтительно делать степенью двойки по тем же причинам, что и кластеры на жестком диске имеют размер степени двойки (и все файлы занимают целое число кластеров). Компьютеры у нас работают в двоичной системе. Текстура 512х512 займет один "блок" в памяти, а 513х513 уже два блока. Значит в памяти надо выделить 2 блока, адресовать два блока, обрабатывать процессором/жпу два блока - занимать два "цикла" процессора.
255 в двоичной = 11111111 - один байт, 256 = 100000000 - уже два байта. И т.д.
Если можно втиснуть "информацию" в 256х256, то нет необходимости рисовать ее больше в 512х512 и тратить ресурсы комьютера. И наоборот, если выходим за кратный размер 256х256, то комьютер все равно будет обрабатывать следующий кратный размер 512х512, и мы можем напихать туда "информации" побольше изначально сами. Вроде бы какие-то legacy devices и legacy видеоинтерфейсы даже не могли обрабатывать текстуры, не кратные степени двойки, а сегодня они скейлят текстуры до следующего верхнего размера.
Я так понимаю, что в геймдеве это уже сложившаяся культура оптимизации ресурсов, и мы в визе просто следуем ей.
| 01.04.2019 |