我正在制作一个使用瓦片地图的SpriteKit游戏。每个瓦片都是一个SKSprite节点。当我有大约800个瓦片时,没有任何问题。但是如果我尝试将地图大小增加到大约2000个瓦片,我的FPS从60降至20。屏幕上的瓦片节点数不会改变(约为80),只有不在屏幕上的节点数增加了。有什么想法可以解决这个问题吗?
我正在制作一个使用瓦片地图的SpriteKit游戏。每个瓦片都是一个SKSprite节点。当我有大约800个瓦片时,没有任何问题。但是如果我尝试将地图大小增加到大约2000个瓦片,我的FPS从60降至20。屏幕上的瓦片节点数不会改变(约为80),只有不在屏幕上的节点数增加了。有什么想法可以解决这个问题吗?
没有明确定义的节点最大数量。这取决于设备上可用的空闲内存量。例如,请考虑以下代码:
int NODE_LIMIT = 375000
....
for (int i = 0; i<NODE_LIMIT; i++) {
SKNode *node = [SKNode node];
[self addChild:node];
}