我正在编写一些代码,使用SDL2来显示带有移动标记的图像,我想我想使用新的(?)2D硬件加速渲染。据我了解,我必须加载图像并将其转换为纹理 - 但有什么区别?搜索'image texture 2d sdl'只能获得有关如何加载纹理的教程,我正在寻找更多的背景而不是方法。
所以,有些问题:
答案 0 :(得分:3)
要了解纹理的基础知识,建议您查看a simpler library's documentation。此处,术语pixmap
的使用方式与SDL texture
相同。从本质上讲,这些已经转换并上传到GPU的内存中,这使得操作速度提高了一些,但处理起来也更复杂。
OpenGL纹理是另一种野兽,但我们基本上可以说它们是相同的,即视频内存中的图像。在OpenGL中绑定纹理时,需要将其上传到GPU内存,这与此纹理转换有点类似。
对于125个物体,我认为考虑使用2D加速变得值得麻烦,特别是如果你必须移动它们。如果这只是一个静态图像,我想你可以选择常规的图像路径。
作为一般规则,我鼓励您尽可能使用2D加速(或仅加速),如果仅用于电池改进。话虽如此,如果图像是静态的,结果将完全相同,可能只是稍微不同的代码路径。因此,我认为你可以像普通图像一样加载静态背景图像而没有任何缺点(请注意,我不是SDL专业人员,所以这种混合方法可能在这里不起作用,但值得尝试,因为它可以在大多数情况下工作2D工具包)。
我希望我回答你所有问题:)