Improve CPU usage (and battery) for Mobile

Hi all,

Cesium looks awesome hosted in a WebView, but I noticed that it drains cell phone power far too quickly (around 1% every 5-10 seconds). I know reducing CPU usage has been a focus for the team, and the results like "requestRenderMode" really help to reduce usage when Cesium is idle. However, it does nothing to help when a user is actively using the view.

So how can we reduce CPU usage further on mobile? I tried reducing the frame rate, which did not seem to have much effect. Someone suggested changing the "farToNearRatio" but they were unsure if it would help. Any tips, thoughts on how to do this?

Thanks for kicking off this discussion Jordan!

It’d definitely be interesting to hear from others if they’ve experienced the same issues and what sort of techniques helped. I think part of the reason it might be draining the battery so much is that CesiumJS renders through many passes (for example, transparent objects are rendered separately from opaque objects). If that is the main reason, one idea would be to disable full screen passes like fxaa (https://cesiumjs.org/Cesium/Build/Documentation/PostProcessStageCollection.html#fxaa).

I think there are other things like this but they might not all be readily exposed.