是的,这减少了渲染时需要交换纹理的次数。这通常比使用单独的图像要快得多。
不知道你的意思是什么,像素图应该只用于需要动态更改或作为缓存形式生成的纹理。如果可能的话,任何动态的(每秒改变多次到每帧一次)都应该使用着色器来完成。
尽可能使用 sprite 批处理,因为它可以减少绘制调用的数量。通常,仅在绝对需要或您想要将多个图层缓存在一起时才应使用像素图。缓存意味着它不会非常频繁地更改(即应该每隔几秒钟更改一次)。由于 Pixmap 依赖于使用 CPU,因此如果经常更改大部分内容,则会非常慢。您还需要在进行更改后更新纹理。
不,这必须由您自己完成...这很少值得付出努力,通常还有其他更简单的方法,例如减少绘制调用和剔除...但是,这是非常特定于应用程序的,这是您将要做的事情需要进行试验以查看最适合您的应用程序的方法。
许多分析和监视工具存在 VisualVM for desktop。Android 4.0+ 具有非常好的开发工具来跟踪事物,Android 开发环境将提供有关 GC 发生时间、内存使用情况等的信息。当然,分析本身会降低应用程序的性能/行为。Runtime.getRuntime()还提供了一些关于正在运行的 JVM 的良好内存信息。
一般建议:
没有灵丹妙药,一切都是特定于应用程序的,虽然我已经针对一般情况提出并回答了您的问题,但并非一切都适用于所有情况。您将不得不对您的应用程序进行试验,以找出最适合您的方法。另外,不要过于担心性能和设计,目标是制作软件产品。如果您花太多时间担心性能,那么您将永远无法完成您开始的任何项目。我最好的建议是尝试一下并从经验中学习。你会犯错,我们都会犯错,但经验总是有助于减轻这种情况。