我需要在Unity中以二维数组存储一些图层数据。我的问题是。哪种最好(速度和实用性的混合),将它存储在Unity纹理或简单的2D阵列中?
答案 0 :(得分:2)
纹理只是一个2D数组,可以通过GPU上的存储和转换进行优化。
数字的大小由您选择的格式决定。一个常见的是4个花车:红色,绿色,蓝色和alpha。 GPU允许更有效的转换,但它将它们限制为Unity的着色器语言支持的转换。在GPU上打开和关闭纹理是一个缓慢的过程,这可能是一个相关的问题。
在CPU端使用2D阵列更灵活但速度更慢。编程和调试更容易,因为您可以使用C#工具链。
我建议在CPU上使用2D数组,除非:
将数据存储在GPU上可能是premature optimization。