C#比较Texture2D纹理的有效方法

本文关键字:有效 方法 纹理 比较 Texture2D | 更新日期: 2023-09-27 18:28:47

在我的程序中,我有许多具有Texture2D属性的Entity类,这些类被添加到List<>容器来迭代它们的draw函数。我想将具有相同纹理的实体分组在一起,这样它们就可以在我的SpriteBatch中有效地进行批处理,而不会在以前的纹理不同时被清空。

对于我的排序方法,什么是比较Texture2D类的有效方法?我只需要一个布尔结果来判断它是否是相同的纹理。我曾想过使用getData()来比较像素,但这似乎效率很低。有更好的方法吗?

C#比较Texture2D纹理的有效方法

考虑到正在使用的纹理成员(例如Name),将SortedList与自定义IComparer一起使用怎么样?这样,您应该能够在将所有对象添加到列表时按纹理对其进行排序。只是不要忘记,你可能想在其他人面前绘制特定的实体,严格排序可能不是最好的选择。