何时在XNA中使用2种纹理的威力?

何时在XNA中使用2种纹理的威力?,xna,textures,Xna,Textures,我听说2个纹理的性能更好,但我找不到足够的可靠信息来说明使用XNA时是否有问题。我的大多数纹理都有随机尺寸,我看不出有什么问题,但也许VS profiler没有显示这一点。XNA实际上是一个构建在DirectX之上的层。因此,任何适用于此的性能准则也将适用于使用XNA的任何东西 VS profiler也不会真正应用于您正在做的特定于图形的事情。这将需要通过一些工具单独分析,这些工具可以检查图形卡本身的工作情况。如果图形卡出现问题,它不会显示为CPU上的高资源使用率,而是显示为缓慢的渲染速度。一般

我听说2个纹理的性能更好,但我找不到足够的可靠信息来说明使用XNA时是否有问题。我的大多数纹理都有随机尺寸,我看不出有什么问题,但也许VS profiler没有显示这一点。

XNA实际上是一个构建在DirectX之上的层。因此,任何适用于此的性能准则也将适用于使用XNA的任何东西


VS profiler也不会真正应用于您正在做的特定于图形的事情。这将需要通过一些工具单独分析,这些工具可以检查图形卡本身的工作情况。如果图形卡出现问题,它不会显示为CPU上的高资源使用率,而是显示为缓慢的渲染速度。

一般来说,pow 2纹理更好。但大多数图形卡应允许非pow 2纹理,且性能损失最小。但是,如果使用XNA reach profile,则只允许pow 2纹理。一些小型图形卡只支持reach配置文件。

如果我在运行时在reach配置文件上加载两种纹理的非增强功能,会怎么样?至少在PC上没有例外。我没有在Xbox上尝试过,因为大多数人都说在运行时加载纹理是不可能的,但我想这值得一提,与其说是性能问题,不如说是兼容性问题。一些图形卡要求纹理为2的幂,大多数是旧卡。在某些情况下,如果图形卡被馈送非2次幂纹理,则它将调整其大小,直到最接近的2次幂。这是性能发挥作用的唯一时间。因此,如果在馈送NPOT纹理时性能损失很大,我应该在空闲RAM(手动调整纹理大小)和丢失帧之间进行选择?NPOT纹理的主要优点是它们使用更少的cpu RAM和硬盘空间。很多卡片分配2个区块的幂,而不是图像的实际尺寸(这就是我所说的调整大小)。因此,无论哪种方式,它们都使用相同的gpu ram,而NPOT使用的带宽稍微少一些(应该不会有明显的影响)。出于兼容性的考虑,我总是选择盆栽纹理。只有当卡有缺陷或与即将发生的NPOT纹理不兼容时,性能才会显著。因此,如果你打算尝试从中赚钱,我强烈建议你使用花盆纹理。