use*_*850 1 performance textures render pixmap libgdx
我的游戏中有大量的2D图像,有多层.我用spritebatch()和orthographicCamera().我有一些关于表演的基本问题:
Texture.draw(或Pixmap.draw用于Pixmap),制作最终图像然后渲染它吗?或者我应该在spritebatch.begin()和spritebatch.end()?感谢您的帮助(欢迎任何其他一般建议)
是的,这减少了渲染时需要交换纹理的次数.这通常比使用单独的图像快得多.
不确定这是什么意思,Pixmap应该只用于需要动态更改或作为缓存形式生成的纹理.如果可能的话,应该使用着色器完成任何动态(每秒多次更改为每帧一次).
尽可能使用精灵批量,因为它减少了绘制调用的数量.通常,只有在绝对需要时才使用Pixmaps,或者您希望将多个图层缓存在一起.缓存意味着它不会超级频繁地改变(即应该每隔几秒改变一次).由于Pixmap依赖于使用CPU,因此如果经常更换大部分内容,则速度非常慢.您还需要在进行更改后更新纹理.
不,这必须由你自己完成......这很少值得付出努力,而且通常还有其他更简单的方法,例如减少绘制调用和剔除......但是,这是非常特定于应用程序的,这是你将要做的事情需要试验一下,看看哪种方法最适合您的应用.
许多分析和监视工具都存在VisualVM for desktop.Android 4.0+拥有非常好的开发人员工具来跟踪事物,Android开发环境将提供有关GC何时发生,内存使用等的信息.当然,分析本身会降低应用程序的性能/行为.Runtime.getRuntime()还提供了一些有关正在运行的JVM的良好内存信息.
一般建议:
没有灵丹妙药,一切都是针对特定应用的,虽然我已经建议并回答了一般情况下的问题,但并非一切都适用于所有情况.您将不得不尝试使用您的应用程序来找出最适合您的应用程序.此外,不要担心太多担心性能和设计,目标是制作软件产品.如果你花太多时间担心性能,那么你永远不会完成任何你开始的项目.我最好的建议是抓住它并从经验中学习.你会犯错误,我们都会犯错,但经验总能帮助减轻这种错误.
| 归档时间: |
|
| 查看次数: |
2848 次 |
| 最近记录: |