【问题标题】:One image with alpha lagging spritekit一张带有 alpha 滞后 spritekit 的图像
【发布时间】:2014-03-01 19:41:26
【问题描述】:

我正在制作一款游戏,其中涉及一场沙尘暴。我决定基本概念是我将制作一个看起来大致像沙尘暴的图像,然后用一些粒子/其他任何东西来装饰它。

我在第一步遇到了问题。为了测试目的,我拼凑了一个简单的图像:

我将它添加到我的游戏中,FPS 下降了 60%。我对一张图像的效果感到惊讶,但我并不太担心。我将图像的分辨率降低了一半,又一次出现了很多延迟。

spritekit/iOS 真的不擅长处理带有 alpha 的中等大小的图像吗?我在另一个问题上读到模拟器不擅长渲染,但这不是问题的全部。

有没有希望在不影响我的表现的情况下渲染它?粒子运行良好,其他一切都以 60fps 运行,但添加此图像显然会严重消耗资源。

编辑:我在手机上测试了我的游戏,没有任何延迟。显然,模拟器毕竟在渲染方面真的很糟糕。同时,我很好奇如何提高性能,因为显然存在某种滞后。

【问题讨论】:

    标签: ios xcode sprite-kit alpha lag


    【解决方案1】:

    我不是 SpriteKit 方面的专家,但我在简单的核心动画和分层方面有类似的经验。

    问题在于,带有 alpha 的图像,即使对于其中的“不透明”部分,每次移动时都会在其下方的所有子层上引入重绘调用。首先检查这是否真的是问题所在,然后尝试其中一个,看看它是否有所改善:

    1. SKCropNode 可以阻止渲染下面的元素
    2. 平铺图像,使只有边框具有 alpha 值
    3. 对下面的图层进行快照。
    4. 减少正在渲染的节点数量,隐藏“沙尘暴”下的节点。

    而且你应该使用真实设备来测试你的游戏性能,你不能依赖模拟器。

    【讨论】:

    • 我要试试这些,我可能暂时不会回过头来,但到目前为止,您的信息似乎非常准确且很有帮助。每个解决方案似乎都伴随着一些其他问题,但我可以解决这些问题。最重要的是,您的分析对我来说似乎是正确的。虽然,我刚刚更新了我的问题,但我发现了一些东西
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 2016-07-26
    • 1970-01-01
    相关资源
    最近更新 更多