Показывает ли столкновение в замедленном режиме вычислительную релаксацию?


11

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

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

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

Что правильно?

Увеличивает ли сцена замедленного движения использование процессора / графического процессора или уменьшает его?

Ответы:


4

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

Давайте предположим, что вы запускаете свою физику с 200 обновлениями в секунду. Например. одно обновление каждые 0.005секунды времени симуляции. При запуске игры с 50 обновлениями в секунду это приведет к 4 обновлениям физики на обновление рендера. Теперь вы будете запускать игру в замедленном режиме, это означает, что вы замедляете время симуляции. Таким образом, если игра все еще работает со скоростью 50 обновлений в секунду ( 0.02секунды времени симуляции), но вы показываете мир в замедленном режиме (скажем, половина скорости), то один кадр будет эквивалентен 0.01секундам времени симуляции. Таким образом, только 2 обновления физики в каждом кадре. Имеется в виду меньше физических вычислений для каждого визуализированного кадра.

Так что если вы смотрите на него с точки зрения использования центрального процессора на визуализируемый кадр, а затем медленное движение менее тяжелый CPU (если вы хотите увеличить скорость моделирования физики во время медленного движения). Загрузка графического процессора на кадр, конечно, в значительной степени постоянна.

Если вы спрашиваете о совокупной нагрузке на CPU / GPU на время одного столкновения , то очевидно, что физическое моделирование одинаково, будь то медленное движение или нормальная скорость. Загрузка графического процессора будет выше, потому что вы рендерите больше кадров.


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

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

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

Я не добавляю это как ответ, потому что это только то, о чем я могу думать прямо сейчас, и у меня нет данных или фактического опыта с системами замедленного движения, чтобы поддержать это: P
TravisG

2
@ Byte56 Вопрос: "Увеличивает ли сцена замедленного движения использование CPU / GPU?" Это [почти] определенно подразумевает использование времени, а не столкновения. Таким образом, я думаю, что ответ, поскольку GPU идет, в том, что он остается неизменным. Я говорю об этом только потому, что неясно, что пытается передать первый абзац.
Нотлеш

3

Вполне возможно, что это может быть так. Если вы не делаете физику для столкновения на GPU, это означает, что для этого нужно присесть. Но с точки зрения самой физики ... это возможно.

Если вы моделируете движение нескольких тел, они имеют тенденцию двигаться очень предсказуемым образом. Силы и силовые поля (т.е. гравитация) легко предсказуемы. Куда движутся вещи, быстро вычисляется.

Прямо до тех пор, пока одно не достигнет другого. Видите ли, в физике у вас есть то, что называется временным интервалом; это количество времени, которое охватывает выполнение физической системы. Если ваш временной интервал покрывает 1/30 секунды (30 кадров в секунду для обновления физики), то каждое обновление физики перемещает объекты на 33,3 миллисекунды в будущее.

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

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

Если у вас есть много столкновений в течение одного кванта времени, вы можете действительно убить фреймрейт. Тем не менее, вероятность многократных столкновений в пределах кванта времени уменьшается по мере размер кванта времени уменьшается. Лидирующие гоночные симы, как Forza и Gran Turismo запустить свои системы физики с невероятной частотой кадров. Я думаю, что один из них получает до 300 кадров в секунду + на их обновление физики.

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

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


1

Прежде всего, это сделано для визуального эффекта, а не из соображений производительности.

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

Не забывайте, однако, промышленность сделала довольно реалистичные игры автомобиля за последние ~ 15 лет, с современными компьютерами, это не так, как они должны сократить до 3 колеса, чтобы получить вещи работает.

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

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.