The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Поступили в продажу первые игровые консоли на базе SteamOS"
Отправлено Stax, 12-Ноя-15 17:08 
Конкретика простая: игра выполняет много операций одновременно. В частности, из затратного: считает физику объектов согласно моделям их поведения; рассчитывает AI противников; подготавливает данные для рендеринга и отправляет их видео-чипу. Еще есть чуть менее затратные, но тоже важные задачи обработки устройств ввода, рассчет звука, подгрузка очередных ресурсов в RAM/VRAM (в моде огромные бесшовные миры).

Все эти операции должны успеть выполниться в положенное время. Если видяха уже отрендерила кадр и ждет иноформации для следующего, а физика не успела рассчитать, что именно нужно рендерить в очередном кадре (аналогично с простоем других операций) возникает лаг, а ресурсы компьютера - имей он хоть в 5 раз мощнее видяху, чем консоль - простаивают.

Когда игру оптимизируют под конкретную консоль, на практике выясняют, какое реальное соотношение по затратам на эти операции. И, соответственно, изменяют количество/размер объектов для физики, глубину просчета операций AI и прочее так, чтобы все шло максимально синхронно. Мощность видяхи точно известна, процессоров тоже - получается запиннить треды обработки по ядрам скажем 4-х ядерной консоли так, чтобы различные операции выполнялись максимально синхронно. И узкие места тоже получается срезать (какой-нибудь взрыв с разлетом объектов - тяжелая физика; или много противников - сложно обсчитать их поведение; или большие пространства и сложная геометрия - сложно видяхе).

В результате все получается очень сбалансировано. Переходим к компам и этим Steam Machine: процессоры внезапно оказываются по 2 ядра, 2 с HT, 4, 4 с HT, разной частоты - разброс по мощности в несколько раз. Запиннить, как на консолях больше не получается, да и разные процессоры (кэш и прочее) имеют другое соотношение по времени выполнения операций друг относительно друга. Видеокарты тоже могут отличаться по скорости в несколько раз. Что делать? Кое-как выходят из ситуации, отдав все треды обычному шедулеру ОС (который ни разу не рассчитан на такие задачи, как обеспечить синхронное выполнение операций в различных тредах); мощность компа тонет в блокировках и ожиданием одного другого. Добавляют кучу опций, которые можно крутить для тонкого тюнинга параметров физики, графики и прочего; но ни пользователь, ни разработчик понятия не имеет, как на его конкретной железке добиться того оптимального соотношения операций, как была на консоли. Пресеты помогают не очень сильно, т.к. их обычно ставят как попало.

В итоге (да, я понимаю, что разрешение/текстуры на ПК будут лучше и fps больше) - чтобы получить плавность самой игры, аналогичную консоли, нужно иметь железо в несколько раз мощнее, чтобы все операции, теперь совершенно не сбалансированные друг относительно другого и кидаемые планировщиком на ядра процессора как попало все вместе выполнялись за разумное время. С соответствующим ростом его стоимости. И руганью ПК-бояр "опять кривой консольный порт, тормозит на моем топовом железе!"

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру