加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – LIBGDX使用spritesheet或单个图像更好吗?

发布时间:2020-12-14 23:22:32 所属栏目:Java 来源:网络整理
导读:我是LIBGDX的新手,我为“英雄跑”精灵制作了40帧,我不知道使用spritesheet或单个图像是否更好. Spritesheet非常大,因为即使在1080p设备上我也想要很高的重量.你能告诉我在哪种情况下(spritesheet或个人图片)表现会更好吗? 解决方法 由于此处的其他答案并未
我是LIBGDX的新手,我为“英雄跑”精灵制作了40帧,我不知道使用spritesheet或单个图像是否更好. Spritesheet非常大,因为即使在1080p设备上我也想要很高的重量.你能告诉我在哪种情况下(spritesheet或个人图片)表现会更好吗?

解决方法

由于此处的其他答案并未指向错误的方向,但并非100%准确,我将添加更详细的解释.

在动画的情况下,它不应该在性能方面有所作为!

无论您使用spritesheet还是单个图像,它们都只会被发送到GPU一次.与spritesheets的唯一区别在于,您只需将纹理绑定一次,并且在渲染不同的东西时不会再强制更改它.

但这并不适用于你的英雄动画.无论是使用spritesheet还是单个图像,在每个帧中都需要再次绑定纹理,并且只绘制其中的一部分(在spritesheet的情况下)或整个图像(在单个图像的情况下),因为在两帧,你也渲染其他非英雄的东西.

如果你在一帧中绘制几个英雄,那么这是一个例外.使用单个图像,您每次都必须切换纹理,因为英雄可能没有同步.在spritesheet的情况下,你只绑定纹理一次,然后用一次sheet-texture绘制所有英雄(在这种情况下只会发生一次纹理绑定).

但是,如果你将角色 – 动画 – spritesheet作为另一个“更大”的spritesheet的一部分,你也肯定会获得性能提升,其中还包含其他纹理.这样,只需一个纹理绑定就可以再次绘制角色和其他东西.

spritesheets唯一的问题是,它们往往会浪费一些空间.特别是在移动设备上,当你被迫使用POT(2个幂)大小的纹理时,这可能会有所不同.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读