gpt4 book ai didi

ios - SpriteKit 最大节点数

转载 作者:可可西里 更新时间:2023-11-01 03:54:40 25 4
gpt4 key购买 nike

我正在创建一个带有平铺 map 的 SpriteKit 游戏。每个图 block 都是一个 SKSprite 节点。当我有大约 800 block 瓷砖时,没有问题。但是,如果我尝试将 map 的大小增加到大约 2000 个图 block ,我的 FPS 就会从 60 变为 20。屏幕上的图 block 节点数没有变化(大约 80),只是屏幕外的节点数没有变化。关于可能导致此问题或如何补救的任何想法?

最佳答案

似乎没有定义最大节点数。这实际上取决于您设备上可用的可用内存量。例如考虑以下代码:

int NODE_LIMIT = 375000
....

for (int i = 0; i<NODE_LIMIT; i++) {
SKNode *node = [SKNode node];
[self addChild:node];
}

我可以在我的 sprite kit 游戏中创建 375000 个节点。但是当我将数字增加到高于该数字时,我的设备内存不足。您设备上的可用内存量会因多种因素而异。 如评论中所述,您的帧速率变慢的原因是物理模拟甚至针对屏幕上不可见的节点运行。

为了保持高帧率,去掉不可见的物理体,或者不需要每帧都模拟的物理体。您可以通过仅在屏幕可见部分添加 Sprite /物理体并在它们不在可见部分时将其移除来实现这一点。

关于ios - SpriteKit 最大节点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19411031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com