Анизотропная фильтрация не так проста как вам казалось

Решил оформить историю в виде отдельного поста, после того как написал достаточно развернутый ответ на пост одного из пользователей "Фикс нагрузки в меню Cyberpunk 2077".
Возможно это не поможет конкретно в случае с киберпанком, но сможет пригодится вам в будущем.

Итак, история про анизотропную фильтрацию, которая приключилась со мной на днях и научила кое-чему.

Проблема была такая: В Assassin's Creed Unity даже на максимальных настройках очень мутные текстуры мира, если они находятся даже под небольшим углом.

Максимальные настройки Assasin's Creed Unity
Максимальные настройки Assasin's Creed Unity

Решение казалось простым: как обычно форсировал анизотропную фильтрацию 16x через панель управления Nvidia, т.к. обычно это добавляет текстурам объектов находящихся под углом чёткости, зато на производительность никак не влияет, и вот какой вышел результат:

Те же изображения проулка, с ползунком для сравнения – см. например качество текстур плитки на полу.

Разница нагрузки на видеокарту в игровом процессе 1% (было 59% стало 60%).
Зато какая большая разница в картинке! Как будто настройки текстур подняли с низких на высокие – это хорошо, то что и нужно было.

Но гораздо позже я заметил странную вещь. По сравнению с тихой работой в игровом процессе, комп готовится на взлёт в любом меню игры – в любых менюшках игры GPU молотит нагрузку прямо по полной, на 90-100%. Соответствующий нагрев и шум прилагается.
А ведь в меню игры заходишь часто и порой на продолжительные моменты, например прочитать базу данных по достопримечательностям, персонам, посмотреть карту местности, обновить навыки, и так далее.

Весь вечер искал в чём дело, откуда такая нагрузка? Докатился даже до того, что настроил с помощью RivaTuner ограничение кол-ва кадров с 60 до 30 по горячей кнопке, чтобы хоть как-то держать в узде нагрузку и шум на пустом месте, пока читаю или смотрю что-то в менюшках игры.
Еще удивлялся – как тогда игра работала в менюшках на выходе в 2014 году на железе тех лет, если даже в 2022-м на RTX 3060 там в 1080p почти под 100% колеблющаяся нагрузка? Что получается, на более слабых видеокартах того времени наблюдалось слайд-шоу в меню?

В интернете не находилось ничего подходящего, в чём может быть дело, и чем можно помочь ситуации, только стандартные жалобы 8-летней давности на оптимизацию игры в целом.

А потом я вспомнил, что ранее форсировал анизотропную фильтрацию, и решил ради теста её отключить.

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

В менюшках AC Unity очень много геометрических фигур, плоскости которых располагаются под углом.
И несмотря на то что выглядят эти фигуры непримечательно, и что обычно на ПК, в отличии от консолей, анизотропная фильтрация даётся "бесплатно" по производительности, из-за сравнительно большой ширины шины GPU, в данном случае кол-во объектов ожидающих выборки в меню игры оказалось столь велико, и настройка фильтрации столь высока (16-кратная), что нагрузка на видеокарту в меню вырастает примерно в два раза.

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

В итоге, протестировав разные варианты форсирования анизотропной фильтрации для AC Unity, я нашёл компромисс, который и улучшает картинку, и при этом почти не сказывается на нагрузке в меню – это AF 4x.

В игровом процессе это всё тот же 1% разницы нагрузки, при достаточно большой разнице в четкости – те же изображения проулка что выше, с ползунком для сравнения.

Нагрузка в меню от 4-x кратной анизотропной фильтрации текстур уменьшилась до вменяемых 12% доп. нагрузки – сравнение в меню.

Теперь вы тоже знаете, что анизотропная фильтрация текстур на ПК может сильно влиять на нагрузку, если в игре использовано много геометрических текстурированных объектов.
И кстати, тем сильнее это может быть выражено, чем уже шина памяти у вашей видеокарты.


Спасибо за внимание, если вам показалось полезным – можете оценить запись вашим боярским лайком.

206
142 комментария

Пука гейминг

12
Ответить

Ну да, тут мы можем, если захотим, одной простой опцией, например, улучшить качество текстур.

130
Ответить

Как дела у CP2077 на PS4 или как там Gotham Knight поживает?

34
Ответить

...для пытливых умов

1
Ответить

Может проблема в том, что через драйвер анизотропия анизотропирует всё подряд? Лучше погугли, в мб конфиге можно включить нормально.

11
Ответить

Анизо чтооооо нааахой. Вырубал всегда. 900p, FXAA и 60fps обеспечены

Ебал эти RTX - дайте мне Core2Duo и запущу на нем хоть спайдермена

Да, я сошедший с ума от нищеты некрофил-мехромант

7
Ответить

Кавоо, я еще на 8500гт анитрипку не выключал, а тут на современных вк в 4 ставить?

9
Ответить