我正在尝试做一个需要处理大量简单2D对象的项目,当然需要绘制它们.为此,我需要一个可以处理大量“精灵”的好C库.
我一直在尝试Qt,因为我认为他们的“40,000芯片”演示非常令人印象深刻.然而,有点玩弄,似乎我的电脑管理160,000芯片有很多麻烦.我不知道技术细节为什么它很慢(cpu?糟糕的OpenGL的GPU使用率?Qt对于大量的项目不好?)
所以,我一直在网上搜索一个适合我需要的图书馆.但我找不到任何东西,主要是因为没有图书馆似乎说“嘿,我擅长管理1,000,000个对象!”,但我确信有些图书馆比其他图书馆更有能力.
我不需要像SDL一样“好”的库,如果我没有操纵杆支持或其他什么都没关系.我只需要显示,缩放,旋转和移动大量简单的2D对象.
谢谢!
P.S:我测试了Ogre3D.我想知道他们如何设法处理15K三角形并在他们的演示程序中以100fps的速度在我的计算机上运行.而且,它是3D的!如果我去150K三角形,它是否可以很好地扩展?
解决方法
据我所知,不存在主流视频游戏,在一帧中渲染1,000个2D精灵(粒子). 2004年的一个研究项目展示了它是如何完成的,但是:
Building a Million Particle System
在我看来,当视频游戏最终在帧中渲染1,000个粒子时,它们将通过OpenCL或DirectCompute这样做,因为这避免了着名的填充率硬件瓶颈,这使得在OpenGL或Direct3D中渲染粒子变得不切实际.