gpt4 book ai didi

ios - Sprite Kit 使用 16x16 tiles 与 32x32 tiles 渲染性能?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:42:41 30 4
gpt4 key购买 nike

我制作了一个 Tiled 游戏。现在,我正在通过增加场景中的节点数量来对手机的功能进行压力测试。有基于物理的东西,AI 运动,日夜系统,粒子在这里和那里突然出现以及我的场景的引擎盖下发生的许多其他事情。我想知道的是,使用我现在拥有的 16x16 磁贴与使用 32x32 磁贴有性能差异吗?这些图 block 基本上只是添加到场景中的图像;他们没有任何物理机构或任何其他类似的东西。它们确实具有我在 Tiled 中制作 map 时为其设置的属性,但我认为这不会对性能产生任何影响。每张 map 都有几层(背景、植被、重生点、建筑物,有时还有几层)。下面是一个代码片段,说明如何为 1 个这样的图层呈现图 block :

        if([map propertiesForGid:tileGid][@"shrub"])
{
SKSpriteNode *tile = [layer tileAtCoord:coord];
tile.name = @"vegShrub";
[self addChild:tile];
}
else if([map propertiesForGid:tileGid][@"tree"])
{
SKNode *tile = [[Breakable alloc] initWithWhole:[atlas textureNamed:@"tree"] broken:[atlas textureNamed:@"tree-stump"]];
tile.position = [self pointForCoord:coord];
[self addChild:tile];
[layer removeTileAtCoord:coord];
}

如果我在当前的 16x16 block 上使用 32x32 block ,我是否会以某种方式释放一些内存或“减轻系统负载”?

最佳答案

对于瓦片 map ,每个瓦片通常由一个 SKSpriteNode 表示。因此,如果您的 map 是 320 x 320,并且您使用的是 32x32 的图 block ,那么您最终会得到 100 个节点。在相同 map 大小上使用 16x16 瓦片将产生 400 个节点。节点越多,负载越大。

另一方面,您应该考虑获取 SKAToolKit在您的应用程序中解析瓦片 map 。它是开源的、免费的,并具有大量内置功能,例如自动关注、迷你 map 等...

关于ios - Sprite Kit 使用 16x16 tiles 与 32x32 tiles 渲染性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30797985/

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