Введение в затенение с переменной скоростью
Сложное графическое отображение, требующее расчетов шейдеров для каждого пикселя, может создать значительные узкие места в производительности GPU. Затенение с переменной скоростью (VRS) является методом оптимизации, который позволяет изменять скорость выполнения пиксельных шейдеров по всему экрану. На поддерживаемом GPUs пиксели группируются в логические плитки, где каждый пиксель в плитке использует одно и то же качество отображения. Этот метод снижает GPU накладные расходы, сохраняя качество изображения там, где это необходимо.
Вы можете использовать VRS для уменьшения скорости затенения в областях экрана, где низкое качество изображения менее заметно. Например, вы можете сделать следующее:
- Уменьшить скорость затенения областей экрана, закрытых прозрачными UI элементами.
- Используйте векторы движения, чтобы уменьшить скорость затенения в областях, затронутых размытием движения, где качество изображения уже снижено эффектом размытия.
Поддерживаемые платформы
Для затенения с переменной скоростью требуется поддержка определенного оборудования GPU и графики API. Оно поддерживается на следующих платформах:
- Windows: DirectX 12 (DX12) API с VRS-способностью GPU
- Android: Vulkan API с поддержкой скорости затенения фрагментов
- Консоли: PlayStation®5, Xbox Series X|S
Дополнительные ресурсы
- Оптимизация функций рендерера с затенением с переменной скоростью в Unity 6.1 (Unity Обсуждения)
- Демонстрационный проект скорости затенения
- Внедрение затенения переменной скорости