当我更改SceneKit节点的纹理/背景图像时,我注意到,用于纹理的内存一直在增长。
在场景和背景之间切换场景的背景图像不会增加大约4MB的空间(当为null-> UIImage时),但不会增加-4MB(当UIImage-> null时)。当我更改节点的材质时,也会发生同样的情况。我正在使用C#/ Xamarin。
代码
private void SetPhotoAsBackground(string imageFile, SCNScene scene)
{
var image = string.IsNullOrEmpty(imageFile) ? null : UIImage.FromFile(imageFile);
scene.Background.ContentImage = image;
}
SceneKit是否缓存纹理?使用已加载的纹理时,如何避免增加纹理内存的使用?这种观点会误导人吗?