Allegro против OpenGL в отношении скорости / эффективности - PullRequest
3 голосов
/ 13 апреля 2011

Я уже некоторое время использую Allegro 5, и недавно начал изучать OpenGL с Freeglut.

Я был бы готов сделать переход, но я хотел бы знать, действительно ли оно того стоит. Действительно ли OpenGL намного эффективнее, чем Allegro5, для операций рисования?

Ответы [ 2 ]

3 голосов
/ 13 апреля 2011

Allegro 5 имеет только два графических драйвера: Direct3D и OpenGL. В Windows у вас есть выбор между двумя. На других платформах вы должны использовать OpenGL. Таким образом, ваш вопрос немного не имеет значения, поскольку все (если вы явно не используете битовые карты памяти без ускорения) в Allegro 5 с аппаратным ускорением и, скорее всего, через OpenGL.

Если вы создаете 3D-игру, то у Allegro на самом деле нет графических подпрограмм, которые были бы очень полезны. Но вы все равно можете использовать его для настройки окна отображения и получения контекста OpenGL. Затем вы можете продолжить использовать Allegro для других компонентов (вход, звук и т. Д.).

1 голос
/ 13 апреля 2011

Это зависит от операций рисования, которые вы выполняете.

Это также зависит от того, может ли выполняемые вами операции быть аппаратно ускоренными OpenGL и является ли это ускорение выгодным. (В OpenGL это также зависит от того, как вы выполняете эти операции, поскольку известно, что некоторые методы рисования заметно медленнее, чем другие.)

Если вы хотите знать наверняка, то напишите несколько простых программ, в которых одна рисует с помощью неускоренного API Allegro, затем другая, которая рисует с помощью эквивалентных операций OpenGL, и профилируйте их.

(В общем, я думаю, что ваши результаты могут быть бессмысленными, если ваша программа слишком проста или использует слишком простые операции. Многие операции рисования выполняются настолько быстро, что даже с аппаратным ускорением вы можете не увидеть никакой разницы, или разница может быть настолько мала, что это не будет иметь значения.)

...