В Epic Games знают, как устранить главную проблему Unreal Engine, мешающую современным играм на ПК
До версии Unreal Engine 5.2 основной метод борьбы с заиканиями заключался в создании кеша заранее скомпилированных Pipeline State Objects (PSO). Однако этот способ требовал значительных ресурсов и плохо работал в играх с динамическим контентом. Теперь в последних версиях движка внедрена система PSO Pre-Caching, которая предварительно загружает нужные шейдеры во время загрузки уровня или при появлении объекта в кадре. Это снижает вероятность заиканий, так как процесс компиляции происходит до момента отображения графики на экране. Например, Fortnite использует около 10 000 PSO за матч, хотя потенциально их число могло бы исчисляться миллионами.
Epic признает, что новая система не решает проблему полностью. Глобальные шейдеры, такие как те, что используются в пост-обработке (размытие в движении, тени, отражения), все еще могут вызывать кратковременные подвисания. Разработчики движка продолжают работу над устранением этих недостатков. Кроме того, кеш PSO может занимать много памяти, и Epic сейчас ищет способы автоматического управления его размером.
Текст: Playground.ru