gpt4 book ai didi

android - Libgdx - 渲染许多小 Sprite VS 几个大 Sprite

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:13:13 24 4
gpt4 key购买 nike

我正在为我的游戏制作一种效果,我有几颗 (200) 颗星星从屏幕边缘出现,在逐渐消失的同时向中间移动。

我想单独渲染每颗星星(因为它是自己的对象),这样星星就可以具有随机速度、淡入淡出时间、大小和位置。但是我担心它可能会极大地影响旧手机的性能,更改 alpha 并每帧渲染 200 个 Sprite 最多 20 秒(我在它们淡出时重新创建它们)。

作为替代方案,我可以使用更大块的星星作为同一个 Sprite (一张图片),这意味着我将不得不牺牲随机效果,星星会同时淡出,obv 看起来不会那么好.

我无法在旧手机上进行测试,所以我想问一下,每帧循环 200 个 Sprite 是否太多了(我在每一帧和位置改变 alpha 的小图像)?有没有一种选择不会迫使我放弃每颗星星的随机行为?还是我只需要硬着头皮渲染更大的图像(可能是 3-4 个不同的图像,每个图像中有几颗星)?

最佳答案

你可以试试 Flyweight pattern ,可以找到很好的解释和教程here .基本上,您要做的是拥有 Sprite 的默认模型(在本例中为您的星星),然后将其绘制在不同的位置。

您不必牺牲您提到的随机效果,只需使其适应您的模型,这样每个对象就可以同时具有淡出效果。在附加示例中,它们改变了网格的位置,但我想您可以扩展它以允许改变其他参数。

另外,检查 this part libgdx wiki,他们在那里谈论性能调整。

另一种选择是检查您的应用性能(cpu、gpu、内存的使用,大多数 IDE 都有工具来衡量这一点),然后与旧手机性能统计数据进行比较。

但是,如果您想包括旧手机,我想您最终将不得不在这些型号中测试此应用。

关于android - Libgdx - 渲染许多小 Sprite VS 几个大 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32041216/

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