"Технологии, которые мы утратили." Очередная серия утиных историй. Да, опять телега про отражения.

Часто всплывал этот мем на сайте. Якобы, раньше разрабы умели делать отражения, которые не жрали производительность и выглядели отлично. Я решил проверить утят на память, взял свою GeForce 6600 GT (2004 года) и запустил на ней Half Life 2 (2004 года), а потом сравнил с лучами. Результат удивил....

"Технологии, которые мы утратили." Очередная серия утиных историй. Да, опять телега про отражения.

Сперва о самой видеокарте. 6600 gt это мидл-энд (ее так позиционировала компания) из конца 2004 года, что в наших ужасно дорогих реалиях является аналогом какой-нибудь RTX 4070 Super по позиционированию в линейке видеокарт. В этом году вышли прекрасные игры, в том числе вторая Халва. На момент запуска карта стоила 200 долларов, что сейчас с учетом инфляции около 330 долларов

А сейчас XFX только АМД карты делает
А сейчас XFX только АМД карты делает

Запустил HL2 релизную версию от ноября 2004 года. Поставил разрешение 1280х1024 (около 900р по количеству пикселей), без сглаживания, остальные настройки на максимум. Через консоль я включал и выключал отражения на воде, для проверки падения производительности. Итак.

73 fps без отражений
73 fps без отражений
56 fps с отражениями. Кстати, релизная версия игры имела много багов.
56 fps с отражениями. Кстати, релизная версия игры имела много багов.

Падение производительности от включения отражений составило 23%. Причем, хорошая видеокарта того же года, что и игра просаживается ниже 60фпс в довольно таки низком разрешении, да еще и сглаживание выключено. Все в жутких лесенках, а сами отражения имеют еще более низкое разрешение. И это просадка только из за отражений, другие настройки я не трогал.

Небольшое отступление от темы. Я не ограничился Халвой и для интереса запустил игру, которая вышла на год позже этой видеокарты. Великая и ужасная F.E.A.R. Пришлось поставить средние настройки, а разрешение тоже самое 1280х1024 без сглаживания. Провел тест в родном бенчмарке игры.

"Технологии, которые мы утратили." Очередная серия утиных историй. Да, опять телега про отражения.

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

Так что же с отражениями в современных играх. Сейчас планарные отражения, как в Half Life 2 мало где встретишь. Зато в игры начали "пихать" модный маркетинговый рейтрейсинг, который жрет х2 производительности. Или нет.... Можно проверить. Запускаю Киберпанк на основном компе и включаю/выключаю отражения через трассировку лучей.

121 fps без отражений
121 fps без отражений
91 fps с отражениями
91 fps с отражениями

Падение производительности от отражений трассировкой лучей составило...... 25%. Вот это прикол. Учитывая, что старая технология из времен Халвы работает только на воде и просаживает кадры на 23%, а трассировка работает вообще на любой отражающей поверхности по всей игре. Так что же получается, великая технология прошлого - устаревший и неэффективный метод реализаций отражений?

P.S. В Кибере во время сравнения пришлось отключить отражения SSR потому что на высоких пресетах он жрал больше трассировки лучей (sic!)

P.S. Я взял релизную версию игры, потому за долгие годы к ней выходило очень много поправок, в том числе менялись версии движка.

Дополнение к посту для некоторых комментаторов. У меня есть GeForce 8600 GTS, которая вышла через 2.5 года после выхода Халвы. И оказывается планарные отражения не стали меньше потреблять производительности, те же самые 23% производительности. Жор этой технологии не зависит от архитектуры железа, по крайней мере между 6000 и 8000 поколениями, хотя в последней унифицированные шейдеры, на которые планарке пофигу.

558
81
12
9
6
2
2
1
1
1
1
797 комментариев