【问题标题】:iOS Performance With Sprites精灵的 iOS 性能
【发布时间】:2012-07-25 03:04:38
【问题描述】:

我正在使用 cocos2d 为游戏中的战斗场景制作健康条。如果我在网页设计中这样做,那么最优化的方法就是使用我想要的颜色的 1 像素(高度)图像,并根据需要水平重复。 iPhone也是这样吗?

在性能方面,拥有 1 个小精灵并重复多次,直到达到我需要的宽度会更好,还是只拥有我需要的条形图,然后将其缩小为怪物失去健康?

【问题讨论】:

    标签: ios memory-management cocos2d-iphone ccsprite


    【解决方案1】:

    从高度为 1 像素的图像开始。设置 scale x 属性以适当地缩放它以对应于健康。我很确定你可以将精灵缩放到你想要的任何东西,并且仍然会使用相同数量的内存(不要引用我的话)。

    尽管如此,一个全尺寸的精灵不会对性能产生很大影响,所以如果你想使用一个完整的图像(使它比一个盒子更详细),那么它可能没问题。

    如果您想使用全尺寸图像并且仍然担心性能,请将其与所有其他精灵一起放入纹理图集(精灵表)中(因为您正在使用纹理图集(精灵表),对吗?; ) ) 并使用 CCBatchNode 渲染它。

    希望这会有所帮助。

    【讨论】:

    • 我以前从未听说过纹理图集...我一直在使用 spritesheets。我知道这个精灵不会导致性能问题,但我想知道最佳实践是什么。我没想过将小精灵缩放到更大。这很有意义。谢谢。
    • 欢迎您,纹理图集精灵表,所以您做得很好。 :)
    • 哦,好吧,太好了...我正要查一下;)
    • 我做 2D OpenGL ES 的经验是,切换纹理对性能的影响并不大(UIKit 应该一直这样做,除非图像在 acenes 后面缝合在一起)。使用图集来最小化纹理切换似乎是一种抢先优化,或“良好实践”。不加选择地使用混合会产生更大的影响:iOS 设备无法处理大量透支。
    • 在内存使用方面,原始精灵和拉伸精灵是等价的;但是拉伸后的像素在屏幕上的像素更多,因此透支更多。当然,一个血条应该不会有太大的不同。
    猜你喜欢
    • 2014-12-10
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    相关资源
    最近更新 更多