Удаление мерцающий в OpenGL приложения ES
Q: Мой OpenGL мерцания приложения ES. Особенно при работе iPhone 3GS, мерцание, кажется, происходит каждый кадр. Как я решаю эту проблему?
A: Мой OpenGL мерцания приложения ES. Особенно при работе iPhone 3GS, мерцание, кажется, происходит каждый кадр. Как я решаю эту проблему?
По умолчанию содержание renderbuffer лишено законной силы после того, как он будет представлен экрану (путем вызова -EAGLContext/presentRenderbuffer:). Ваше приложение должно полностью перерисовать содержание renderbuffer каждый раз, когда Вы рисуете кадр, иначе можно наблюдать мерцание или другие неожиданные результаты.
Необходимо обеспечить цвет для каждого пикселя на экране. В начале Вашего кода для прорисовки это - хорошая идея использовать glClear() инициализировать цветной буфер. Полноэкранный свободный из каждого Вашего цвета, глубины и буферов шаблонов (при использовании их) в начале кадра может также обычно улучшать производительность приложения.
Если Ваше приложение должно сохранить drawable содержание между кадрами, можно добавить опцию kEAGLDrawablePropertyRetainedBacking = YES к Вашему CAEAGLLayer объект drawableProperties свойство. Используя эту опцию требует дополнительной памяти и может сократить производительность Вашего приложения.
История версии документа
| Дата | Примечания |
|---|---|
| 24.03.2010 | Новый документ, демонстрирующий, как решить мерцающую проблему в OpenGL приложения ES |