Почему я не вижу определенные диаграммы OpenGL ES в симуляторе 4.2? - PullRequest
0 голосов
/ 13 декабря 2010

Я пишу приложение, которое содержит некоторые графики, нарисованные в OpenGL ES.каждый из этих графиков находится в ячейке таблицы, когда я нажимаю некоторые из этих графиков, они открываются в полноэкранном режиме.Все работало отлично, так как я обновился до iOS4.2. Теперь проблема в симуляторе, я не вижу нарисованный график в ячейках, но в полноэкранном режиме я вижу график. Нет изменений, нет устройства, оно только на симуляторетолько в случае.Поведение здесь аналогично для других компьютеров Mac.

У кого-нибудь есть подсказка?

Ответы [ 3 ]

2 голосов
/ 13 декабря 2010

Как объяснено в в этом ответе на в этом похожем вопросе , произошло изменение в способе обработки буфером рендеринга 4.2 в слоях Core Animation. Из Руководства по программированию OpenGL ES :

В iOS 4.2 и новее производительность Core Animation вращений рендбуферы были значительно улучшены, и теперь являются предпочтительными способ вращать контент между ландшафтный и портретный режим. Для лучшего производительность, убедитесь, что высота и ширина кратны 32 пикселей.

Похоже, что если ваш буфер рендеринга не кратен 32 пикселям, он не отображается в симуляторе. Это ошибка в симуляторе, но вы, вероятно, должны сделать ваш рендер-буфер кратным 32 в любом измерении в любом случае, чтобы повысить производительность.

1 голос
/ 26 января 2011

То же самое с моим приложением.Мои текстуры спорадически ломаются на симуляторе (4.2).На железе все выглядит нормально.

0 голосов
/ 13 декабря 2010

Я не знаю, сильно ли это помогает, но я видел много странного поведения в реализации OpenGL ES на симуляторе: появляются ложные изображения; странное освещение на первом проходе рендера; битый рендеринг в растровые изображения, в зависимости от того, когда я это называю. Я не эксперт в программировании OpenGL, поэтому я мог бы просто писать дерьмовый код, но есть определенная заметная разница в поведении симулятора по сравнению с реальным оборудованием.

Твой опыт подсказывает, что, возможно, мои проблемы - не моя вина. : -)

...