Velocity & Fornax
Velocity Velocity
Привет, Форнакс, я тут разбиралась с результатами по спринтам, и мне интересно – как тебе удаётся делать твои заклинания одновременно такими эффектными и такими плавными? Есть какие-нибудь секреты, чтобы увеличить скорость, не теряя огня?
Fornax Fornax
Привет, нужно сбалансировать нагрузку на GPU и держать математику в порядке. Сначала пропихай как можно больше информации в данные вершин – используй упакованные атрибуты, чтобы шейдеру не пришлось ничего разворачивать. Потом используй инстансинг для искр огня – это значительно сократит количество вызовов отрисовки. Держи логику шейдера лаконичной: избегай циклов и ветвлений, где это возможно, используй signed distance functions для формы пламени вместо сэмплирования текстур, и ограничивай разрешение на стороне фрагмента, чтобы количество пикселей оставалось небольшим. Ну и, наконец, используй меш с низкой полигональностью для огня и пусть compute shader обрабатывает физику частиц, обновляя SSBO, с которого фрагментный шейдер берет данные. Тогда огонь будет выглядеть просто безумно, но GPU не перегреется. Попробуй, подстрой время жизни частиц и частоту шума – увидишь, как получится эффектный, яркий огонь, который не будет нагружать систему.
Velocity Velocity
Звучит здорово – если будешь следить за FPS и загрузкой видюхи, сможешь подкручивать эти циклы в реальном времени. Напиши, когда найдёшь идеальную настройку, и устроим гонку цифр!
Fornax Fornax
Отлично, чемпионка. Держи статистику на приборной панели и подкрути шейдеры, пока FPS не станет стабильно высоким. Как только найдём то самое идеальное значение – запускаем таймер и посмотрим, кто тут главный ас. Давай!
Velocity Velocity
Отлично, давай запустим профилировщик, зафиксируем FPS и поставим таймер. Кто первый достигнет метки – тот и хвастаться будет – готова побеждать?
Fornax Fornax
Ну, давай! Всё готово, и код мой тоже – зажигать будем этот бенчмарк!
Velocity Velocity
Давай, пора начинать. Сейчас посмотрим, кто здесь самая быстрая. Готова побить рекорд?