当前位置 : 主页 > 网络安全 > 测试自动化 >

XNA – 合并精灵以获得更好的绘图性能?

来源:互联网 收集:自由互联 发布时间:2021-06-22
我在某处读到,当渲染大量3D对象时,可以将它们合并形成一个巨大的网格,这样就只能进行一次绘制调用.因此,让,引用:“GPU做它的魔力”,而CPU可以自由地进行其他调用而不是绘制. 那么
我在某处读到,当渲染大量3D对象时,可以将它们合并形成一个巨大的网格,这样就只能进行一次绘制调用.因此,让,引用:“GPU做它的魔力”,而CPU可以自由地进行其他调用而不是绘制.

那么就我的问题而言,在考虑到性能的2D环境中这样做是否可行?

例如,假设我们有一个简单的tile系统,而不是为视图中的每个tile进行绘制调用,而是将所有tile合并为一个大的sprite,然后在其上调用draw.

任何有关此事的见解 – 提示,链接或诸如此类 – 都非常受欢迎,因为我之前没有图形性能方面的经验.

编辑:对不起,我的解释很糟糕.我正在创造一个供个人使用的瓷砖发动机,并希望它尽可能多样化.因此,我希望优化,以防万一我必须在不久的将来绘制大量的瓷砖.

我确实使用了一个瓷砖表,但我对这个问题的意思是,将从工作表中绘制的所有瓷砖合并到一个新的Texture2D中是否会获得性能.例如:

我们在屏幕上绘制了128×72的瓷砖.我们不是循环遍历所有图块并为每个要绘制的图块调用绘图,而是将所有图块合并为一个大小为1280×720的新图形并绘制它.这样,draw()方法每帧只调用一次.我的问题是,这是否会提高性能,因为它会在制作3D时将3d对象合并为单个网格.

因为我收集的信息是调用draw()是一个性能损失,应该尽可能少地调用.有人确认或否认?

网友评论