Выбор между Runnable и Horeographer.FrameCallback для перераспределения поверхности OpenGLAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Выбор между Runnable и Horeographer.FrameCallback для перераспределения поверхности OpenGL

Сообщение Anonymous »

Мое приложение (сделанное в Delphi) рендерирует на поверхности OpenGL, и рендеринг выполняется «По требованию»
для запроса перекрасной реки, у меня есть две возможные стратегии: < /p>
опция 1: Использование Runnable
Я определяю myrender как runnable и запросить перерисован это до главного Looper: < /p>

Код: Выделить всё

Looper.getMainLooper().post(MyRender);
Тогда логика рендеринга выполняется внутри run () :

Код: Выделить всё

MyRender.run() {
PaintTheSurface();
}
опция 2: Использование choreographer.framecallback
Альтернативно, я определяю myrender как a choreographer.framecallback , и запросить перераспределение, используя:

Код: Выделить всё

Choreographer.getInstance().postFrameCallback(MyRender);
Логика рендеринга затем выполняется внутри doFrame () :

Код: Выделить всё

MyRender.doFrame(frameTimeNanos: Long) {
PaintTheSurface();
}
мои наблюдения
Я пробовал оба подхода, но визуально я не замечаю никакой разницы. Я не уверен, какой подход к выбору и каковы преимущества и недостатки каждого из них. Тем не менее, другие события, которые могут вызвать перерисование, например, как события Touch или Mouse Move, - насколько мне известно, увольняются хореографом .
my my Вопросы

[*] Каковы плюсы и минусы использования runnable против хореографа.framecallback для запроса redraw?
[*] Если я использую хореограф , как он обрабатывает события прикосновения или мыши, которые не могут быть синхронизированы с временем кадра хореографа?


Подробнее здесь: https://stackoverflow.com/questions/794 ... g-an-openg
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»