Android вызывает GLUtils.texImage2D в onDrawFrame очень медленно - PullRequest
1 голос
/ 23 сентября 2010

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

Спасибо.

Ответы [ 2 ]

1 голос
/ 24 сентября 2010

Используйте texSubImage2D() для перезагрузки существующих объектов текстуры вместо создания совершенно новых.

0 голосов
/ 24 сентября 2010

Да, приятель, я думаю, что огромное количество данных изображения, которые вы пытаетесь передать в течение времени кадра, немного: если вы используете формат 24bpp, 512x512 составляет 1 МБ данных.Я могу придумать два способа свести его к минимуму:

  • Перейти на растровый формат с меньшим числом битов в секунду.Если вы используете ARGB8888, вы можете попробовать переключиться на RGB565 (поскольку это фон), чтобы разделить данные пополам.
  • Рассмотрите возможность разделения 512x512, например, на 4 фрагмента по 512x128 (поскольку вы прокручиваете по вертикали).Таким образом, вы распределяете нагрузку по нескольким интервалам кадров.

Cheers, Aert.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...