Различия и преимущества SurfaceView по сравнению с GLSurfaceView на Android?

Я в настоящее время играю вокруг с 2D графикой в андроиде и использовал простой SurfaceView для привлечения Drawables и Bitmaps на экран. Это работало хорошо, но в перемещении спрайта существует немного задержки, и я задаюсь вопросом выполнимость, чтобы сделать реальное время (но не ужасный быстрый) игра с этим.

Я знаю, что GLSurfaceView существует, какое использование OpenGL, но мне любопытно относительно степени, до которой это имеет значение. Плоскость SurfaceView аппаратно ускорена, или я должен использовать OpenGL? Какое различие в скорости я мог ожидать от переключения до OpenGL, и какого количества изменения кода требовалось бы для переключения (игровая логика - все в отдельном объекте, который обеспечивает заказанный массив drawables к SurfaceView)?

11
задан genpfault 2 August 2010 в 16:33
поделиться

1 ответ

Насколько я могу судить, вы должны использовать openGL, чтобы получить ускорение HW. Но не принимайте это как должное и ждите других ответов ^^

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

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

2
ответ дан 3 December 2019 в 12:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: