12 сентября 2023Игры

В коде Starfield нашли ряд серьёзных ошибок


Эксперты и игроки по-прежнему расходятся во мнении касательно оптимизации Starfield: некоторые считают её хорошей, а кто-то — ужасной. Однако есть эксперты и профессиональные разработчики, которые также остались недовольны оптимизацией Starfield, а именно — кодовой частью.

Один из разработчиков Vkd3d, библиотеки перевода DX12 в API Vulkan, опубликовал пост, в котором объяснил — почему код игры нуждается в очень серьёзной доработке.

  • Игра некорректно распределяет память без согласования с процессором — в итоге Starfield может аварийно завершать работу, если драйверы GPU не защищены от этого;
  • Starfield во время игры создаёт большое количество «подсказок» ExecuteIndirect (функция, связанная с DX12) для графического драйвера. Эти самые подсказки зачастую выходят неверными, что приводит к созданию «пузырей» в очереди команд и застигают драйверы врасплох при попытке обработать эти данные. В итоге, чтобы всё «перепроверить», графический процессор должен приостановить свою работу;
  • При всём при этом Starfield создаёт несколько вызовов ExecuteIndirect вместо их сортировки, что ещё сильнее усугубляет проблему.

Примечательно, что разработчики Starfield наделали столь много ошибок, что их приходится исправлять обычным моддерам, которые уже улучшили работу апскейлеров — они изначально работали некорректно из-за недоработки программистов из Bethesda.

Комментарии
Чтобы оставить комментарий, Войдите или Зарегистрируйтесь