• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

android - Libgdx - 渲染许多小 Sprite VS 一些大 Sprite

[复制链接]
菜鸟教程小白 发表于 2022-12-13 09:52:14 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

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

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



Best Answer-推荐答案


您可以尝试使用 Flyweight pattern ,可以找到很好的解释和教程 here .基本上你要做的是有一个默认的 Sprite 模型(在这种情况下,你的星星),然后在不同的位置绘制它。

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

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

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

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

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap