我使用 Allegro 5 已经有一段时间了,最近开始研究使用 Freeglut 的 OpenGL。
我准备好换了,但我想知道这是否真的值得。OpenGL的绘图操作真的比Allegro5高效吗?
Allegro 5 only has two graphics drivers: Direct3D and OpenGL. On Windows, you have a choice between the two. On other platforms, you must use OpenGL. So your question is a bit irrelevant as everything (unless you explicitly use unaccelerated memory bitmaps) in Allegro 5 is hardware accelerated, and quite likely via OpenGL.
If you are building a 3D game, then Allegro doesn't really have any graphical routines that are very useful. But you could still use it to set up the display window and get an OpenGL context. Then you could continue to use Allegro for the other components (input, sound, etc).
这取决于您执行的绘图操作。
它还取决于您执行的操作是否可以通过 OpenGL 进行硬件加速,以及这种加速是否有益。(在 OpenGL 上,它还取决于您如何执行这些操作,因为已知某些绘图方法比其他方法慢得多。)
如果您想确定,那么编写一些简单的程序,其中一个使用 Allegro 的非加速 API 进行绘制,然后另一个使用等效的 OpenGL 操作进行绘制,并分析它们。
(总的来说,我认为你的结果可能毫无意义,如果你的程序太简单或依赖于太简单的操作。许多绘图操作是如此之快,以至于即使使用硬件加速,你也可能看不到任何差异,或者差异可能太小以至于无关紧要。)