2010-11-04 4 views
1

Я ищу сравнение графических систем iPhone 3G/3GS (opengl) с теми, что есть на ПК/MAC.Тест OpenGL на iPhone

Google не помог. Может быть, кто-нибудь здесь?

+0

Вы ищете контрольные показатели производительности? Можно также сравнить Ferrari с велосипедом. – mikerobi

+0

@mikerobi - Как я утверждаю в своем ответе, различия в производительности не так велики, как вы думаете. В то время как современные настольные графические процессоры, как правило, гораздо более мощные, чем мобильные, в большинстве приложений, в некоторых случаях мобильные графические процессоры могут превосходить старые настольные аппаратные средства. –

ответ

3

Хотя этот вопрос может быть скорее аппаратным, достаточно, чтобы повлиять на дизайн приложения на основе OpenGL, которое я укушу.

Используя приложение Molecules в качестве шаблона, я сравнивал производительность рендеринга с тем, что работает на iPhone 3G, iPad и MacBook Air второго поколения (Nvidia GeForce 9400M). Для MacBook, цифры были получены от запуска приложения в тренажере с ничего не выполняет в системе:

iPhone 3G: 423,000 triangles/s 
iPad: 1,830,000 triangles/s 
MacBook Air: 2,150,000 triangles/s 

Вы можете захватить code for the application и попробовать это самостоятельно, позволяя RUN_OPENGL_BENCHMARKS определить в SLSMoleculeGLViewController. Это заставляет структуры отображаться на 100 кадров, затем общее измеренное время и скорость рендеринга вычисляются по сложности отображаемой модели.

Обратите внимание, что это приложение OpenGL ES 1.1, которое ограничено геометрией в текущем состоянии. Приложение с ограничением на заполнение может иметь совершенно разные характеристики производительности, такие же, как при использовании шейдеров OpenGL/OpenGL ES 2.0.

Помимо отличий в производительности, набор команд OpenGL отличается между iOS и Mac. OpenGL ES вырезает много трещин, созданных в OpenGL на протяжении многих лет (немедленный режим и т. Д.). В общем, OpenGL ES является подмножеством OpenGL, поэтому вы можете в значительной степени переносить что-то, написанное для OpenGL ES на OpenGL, без особых проблем. OpenGL на рабочем столе также использует более новую версию GLSL для своих шейдеров (1.4, я считаю), поэтому некоторые из поддерживаемых там команд не будут работать на устройствах iOS.

У Apple больше о различиях в платформе в их разделе Platform Notes в Руководстве по программированию OpenGL ES для iOS.

+0

wow. это отличный ответ. Спасибо! – kolinko

Смежные вопросы