感谢回答!
1.不好意思我的表达有些模糊,关于补偿我的意思是指这种情况:在没有开启MeshPool的时候,此时需要的TexturePool已经大于了现有的TexturePoolSize,已知Mesh的大小是一个较大但小于TexturePoolSize的数。此时如果开始足够的MeshPool,按这个逻辑,Mesh在原TexturePool所占的内存将清空并转移到MeshPool。也就是说,Texture将会拥有一个空缺来传入更多的mips。在我的尝试中没有看到明显的变化,比如Visible Mips数值 etc
2. 在我的测试中确实看到了不同平台下这个数值的变化
3.Pool Capacity是指:在下面的情况中,我们将MeshPoolSize设置为300mb,TexturePoolSize设置为600mb,但是此时Pool Capacity(表的最右列)的显示依然为Texture Pool的大小。不过你的回答大概解释我的问题,看来目前没有stat可以监控MeshPool的大小
[Image Removed]还有一个问题我可能没有表述的很清楚:举个例子
假设 TexturePoolSize 600, MeshPoolSize 300, Mesh 实际用量也是300。按照Meshpool的设想,此时TexturePool可以调动的大小就应该是~600。 但是从我列出的代码上看来,在计算可用内存时TexturePool将会减去Mesh的部分和Margin在进行计算,在我们的例子中也就是600 - 300 = 300,此时尽管我们开启了MeshPool,但是TexturePool依然按照没有开启的方式来计算可用内存为300?