В 2d графике, каковы потери производительности рендеринга на цель, а затем на экран? - PullRequest
2 голосов
/ 06 марта 2012

Я делаю игру с разделенным экраном. При рендеринге каждого из разделенных экранов некоторые границы перекрываются за пределами экрана.

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

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

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

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

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

Есть ли лучшее решение, или это должно быть хорошо?

1 Ответ

1 голос
/ 06 марта 2012

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

...