首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Libgdx (Android)中,在相机视图之外的精灵会自动不绘制吗?

在Libgdx (Android)中,在相机视图之外的精灵会自动不绘制吗?
EN

Stack Overflow用户
提问于 2016-04-20 17:08:01
回答 3查看 114关注 0票数 3

当使用camera.translate(-x,-y)方法时,它是自动不绘制它的视图之外的精灵,还是我必须手动不绘制相机视图之外的精灵?

EN

回答 3

Stack Overflow用户

发布于 2016-04-20 19:45:21

如果您正在使用stage,它将为您完成以下操作:

在Libgdx API中,分组绘制方法:

绘制所有子项。如果transform为true,则应在此方法之前调用applyTransform(Batch,Matrix4),并在此方法之后调用resetTransform(Batch)。如果transform为false,则不需要调用这些方法,绘制时,子代位置会被组位置临时偏移。如果设置为,则此方法可避免完全在剔除区域之外绘制子对象。

因此,如果没有stage,您需要手动完成此操作。

票数 1
EN

Stack Overflow用户

发布于 2016-04-20 20:49:43

它是绘制的,但GPU开销将较低,因为它不必对该精灵的任何碎片运行碎片着色器。CPU开销将是相同的。

手动检查精灵和剔除相机截体外的精灵是否有意义,取决于你一次可以做多少。如果你必须手动检查每个独立的精灵,这可能是不值得的,因为你将花费大约一样多的CPU开销来检查它们,就像你将它们从屏幕上拉出来一样。但是,如果你可以快速地检查它们的组,那么它可能是值得的。

票数 0
EN

Stack Overflow用户

发布于 2016-04-20 19:23:13

如果你使用的是一个标准的正射相机,并且不会用它做任何过于时髦的事情(除了翻译),那么它应该会自动完成这项工作。但这可能取决于所有内容的确切设置方式。

可以肯定的是,当在房间内外绘制数量惊人的精灵时,您总是可以尝试测试性能。

还有ScissorStack;https://github.com/libgdx/libgdx/wiki/Clipping%2C-with-the-use-of-scissorstack

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36738913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档