GeForce 20xx больше не нужен: Трассировка лучей и реалистичные тени в World of Tanks силами процессора
- 24/12/2019
- 👁 1 871 просмотр
- 0
А также правда о требуемом количестве ядер в самом CPU
Уходящий год стал годом софта. Оно и раньше к этом шло. Но возможности железа в 2019-м стали, с одной стороны, огромными и разноплановыми, а с другой — достаточно бесполезными без умной и профессиональной поддержки софтом. Раньше выпуск хорошей железки был хорошим событием сам по себе, а софт потихоньку подтягивался. В 2019-м году окончательно устаканилось, что железо без софта никому не нужно. Уникальные аппаратные возможности морально устаревают, не успев реализоваться. А вполне обычное железо при поддержке хорошо написанного ПО творит чудеса.
Я задумал большой материал об этом феномене. Или даже серию материалов, посмотрим. А пока — небольшой тизер на почти отвлеченную тему. В игре World of Tanks скоро случится необычное. Я задал вопросы об этом необычном Денису Ишмухаметову, программисту графики WoT.
На фестивале Wargaming в Минске и на недавнем Intel Experience Day в Москве ваши коллеги рассказывали о новой технологии расчета освещения и теней на самом процессоре. С чем это связано в первую очередь? Ведь чипы Nvidia умеют делать такое аппаратно, а у них сейчас львиная доля рынка.
Наш подход использует и процессор, и видеокарту для расчета реалистичных теней с помощью трассировки лучей.
Для использования аппаратного ускорения трассировки лучей нужна не только видеокарта определенного производителя и определенной серии, но и поддержка DirectX 12.
В нашей игре очень много игроков, и у всех разное железо. Процент игроков, у которых есть видеокарты с аппаратной поддержкой трассировки лучей, очень маленький. Но зато большинство игроков имеют видеокарты с поддержкой с DirectX 11, поэтому мы решили сосредоточиться именно на текущем решении, которое смогут попробовать большинство наших игроков.
Насколько обременительна для разработчиков необходимость обеспечивать достаточную скорость работы на совсем слабых машинах?
Мы уделяем большое внимание оптимизации производительности на слабых машинах.
Например, в крупном графическом обновлении 1.0 было потрачено очень много времени, чтобы добиться такого же уровня производительности, как и до этого, при лучшей графике.
Сколько ядер в процессоре сегодня оптимально для WoT и WoW? Злые языки говорят, что больше четырех все равно не используется.
Чем больше ядер процессора, тем лучше для World of Tanks. C добавлением многопоточной отрисовки в обновлении World of Tank 1.4 движок Core может задействовать все физические и логические ядра процессора. Реальная производительность зависит от баланса всей системы (CPU, GPU, память, и т.д.) и игровой ситуации. В большинстве случаев идеально задействованы около 10-12 логических ядер, и дополнительные ядра уже не приносят прироста производительности, даже в связке с новейшими графическими процессорами (система становится ограниченной производительностью GPU). С появлением в игре новых эффектов физики, таких как разрушение или симуляция танковых гусениц, а также новых игровых режимов с большим количеством участвующих в бою танков, нагрузка на процессор возрастет, и возможно задействование большего числа ядер.
Если у вас есть идеи — какие вопросы/проблемы полезно развить в грядущем материале, напишите в комментариях, будет полезно всем.