gpt4 book ai didi

java - libGDX 性能 : best time for OrthographicCamera. 更新()

转载 作者:行者123 更新时间:2023-11-29 05:30:14 24 4
gpt4 key购买 nike

我只是有一个简单的问题(这对你来说可能很明显,但我对 libGDX 和一般图形还是比较陌生):

什么时候调用 libGDX 中的 camera.update() 方法最好?具体来说,在更新相机之前或之后(例如启动批处理),我肯定想在渲染方法中执行其他操作 [我知道我必须在渲染方法中调用它 :-) ]?还是完全取决于我?

感谢您的回答,

托尼

最佳答案

只要在开始实际绘制内容之前执行此操作就没有关系,因为必须在将相机矩阵传递给任何渲染器之前对其进行计算。例如,对于 sprite 批处理,您必须在调用 spriteBatch.setProjectionMatrix(camera.combined); 之前的某个时刻更新相机,这必须在调用 spriteBatch.begin() 之前进行。

这样做不会影响性能。无论如何,您不必担心像这样的每帧一次的事情。你的 CPU 瓶颈几乎肯定会出现在你处理数百个 Sprite 或粒子并将它们四处移动然后将它们传递给批处理的地方,或者在你的物理模拟中,如果你使用一个。

cocos3d 的文档说最好先完成所有基于 CPU 的工作,然后尝试快速连续地完成所有绘制调用,以最大限度地并行使用 CPU 和 GPU。我不知道这会带来多大的不同,以及在 libgdx 中遵循此指南的可能性有多大。但如果它确实有帮助,那么你在 libgdx 中实现这一点的方法是确保你的 Sprite 批处理的容量至少与你在一帧中给它的最多 Sprite 一样大(所以它不必刷新调用 end() 之前。如果您正在使用 ModelBatch 和 DecalBatch 进行 3D 绘图,您实际上会希望在调用 spriteBatch.end() 之前以及在将所有 Sprite 添加到批处理之后立即执行此操作。

关于java - libGDX 性能 : best time for OrthographicCamera. 更新(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21340354/

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