Performance optimization on old hardware

590 views
Skip to first unread message

james.b...@gmail.com

unread,
Jul 12, 2017, 6:41:37 AM7/12/17
to cesium-dev
I've seen some tips here and there about Cesium options that can help with performance on slow machines. I'm trying to deploy a Cesium-based application on a corporate network with some users stuck on end-of-life systems (Win7, outdated video cards, old drivers, etc) and I'd like to make it as performant for them as possible. They currently get less than 10fps in most cases, on a basic Viewer with no extra data loaded.

One suggestion was to set `skyAtmosphere: false`, but this appears to only help when in 3D mode. Maybe I could also disable certain scene modes? It'd be great if we had a single article or blog post that put all the performance-impacting options in one place.


Thanks,
James

David Northern

unread,
Jul 12, 2017, 8:32:44 AM7/12/17
to cesium-dev, james.b...@gmail.com
Hey James,

From my own personal experience, adjusting the viewer's resolutionScale property has a tremendous impact on performance (while also directly affecting the "quality" of the map tiles).  In my own application, I've created a little setInterval() function that checks the user's frame rate and automatically adjusts the resolutionScale if it's running below 15-20 FPS or so.  I've also tried the things you've mentioned like turning off skyAtmosphere and FXAA, but the biggest impact by far has been fiddling with resolutionScale.

Cheers,
Dave

james.b...@gmail.com

unread,
Jul 13, 2017, 6:28:06 AM7/13/17
to cesium-dev
I replied to David privately but forgot to CC the list. I got together a bunch of performance options and put them all under a single toggle in my settings menu:

viewer.resolutionScale = lowQual ? LOW_RES_PERCENT : 1.0;
viewer.scene.fxaa = !lowQual;
viewer.scene.sunBloom = !lowQual;
viewer.scene.skyAtmosphere.show = !lowQual;
viewer.scene.fog.enabled = !lowQual;
viewer.shadows = !lowQual;
viewer.terrainShadows = !lowQual;
viewer.scene.shadowMap.enabled = !lowQual;

Some of those might be redundant, but I can get roughly double the framerate with a suitably low resolution percentage plus all the above turned off. I would still welcome suggestions for other settings with a performance impact!


Thanks,
James

Sergey Volkov

unread,
Feb 8, 2018, 7:26:21 AM2/8/18
to cesium-dev

Thank you very match for your answer. It helps me up performance for big map data project( is so more entities + models


четверг, 13 июля 2017 г., 13:28:06 UTC+3 пользователь james.b...@gmail.com написал:
Message has been deleted

lawyo...@gmail.com

unread,
Aug 15, 2019, 11:10:59 PM8/15/19
to cesium-dev
Hi is there a sample/demo code for this setInterval() function combined with the performance options?
Reply all
Reply to author
Forward
0 new messages