Влияет ли ограничение кадров / движков игрового движка (посредством вертикальной синхронизации или общего регулирования) на задержки и на подсистемы аудио и ввода? - PullRequest
1 голос
/ 25 августа 2010

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

Однако мне пришло в голову, что процесс может иметь разветвления на аудиоподсистемах (или также на устройствах ввода), предполагая, что количество кадров в секунду также определяет глобальную петлю самого движка (это имеет место почти во всех 3D-ускоренных приложениях).

Есть ли у звуковых карт / аудиоустройств в операционной системе понятие "герц", которое может быть связано?Предполагаем ли мы, что чем быстрее глобальный цикл приложения, тем выше задержка для аудиоподсистем?

Ответы [ 2 ]

3 голосов
/ 26 августа 2010

Аудио обычно не затрагивается вообще.Аудио имеет отдельный буфер, который вы заполняете заранее, может быть, за сотню миллисекунд или более, и звуковая карта воспроизводит его независимо от того, что делает ваш игровой цикл.

Это возможно, если вы заполнитеЭтот буфер в вашем игровом цикле, который занимает слишком много времени, чтобы вернуться в игровой цикл, приведет к тому, что звуковой буфер будет пуст и будет слышен зацикленный звук.Чтобы избежать этого, разработчики будут либо использовать большой буфер, либо заполнять буфер из фонового потока.

Как вы можете догадаться, звук уже работает с некоторой задержкой, пропорциональной объему данных в буферечто игра пытается держать там все время.Как правило, это не так заметно, так как в любом случае звуку требуется немалое время для путешествий в реальной жизни.Профессиональные аудиоприложения должны держать этот буфер небольшим для низкой задержки и отзывчивости, но у них нет графических кадров, о которых нужно беспокоиться ...

Что касается ввода, то да, это часто затрагивается.Если игра не отделяет скорость рендеринга от скорости обработки ввода, то при входе будет некоторая дополнительная задержка. Всегда будет некоторая дополнительная задержка при выходе, если вы рассматриваете задержку ввода как длинувремя между выполнением действия и его действием.Но эта воспринимаемая задержка может быть больше, чем задержка симуляции, поскольку затронутый объект мог быть изменен с более ранним шагом, чем тот, который отображается в следующем кадре.

2 голосов
/ 25 августа 2010

Обычно обработка игры и отображение не связаны, поэтому уменьшение FPS дисплея не повлияет на центральную обработку игры, которая будет включать в себя такие вещи, как ввод (и предположительно аудио).

Эта статья объясняет это довольно хорошо, включая различные варианты привязки FPS к скорости игры или нет.

...