in the Cesium blog (https://cesiumjs.org/2016/01/04/Cesium-version-1.17-released/) it was stated that Cesium 1.17 "Reduced the amount of GPU and CPU memory used by terrain by using compression. The CPU memory was reduced by up to 40%.". Can someone please tell me quantitatively what the hardware requirements/recommendations are?
Cesium’s only requirement is that your computer needs to be able to run WebGL. Any modern computer should be able to meet that requirement. Having a dedicated graphics card will help speed up rendering times, but Cesium applications even work on mobile devices.
We ran into a problem in our application where the globe was rendered with a blue shade around the edge and navigation was pretty slow. The browser was receiving streamed CZML and seem to be bogged down most of the time. This was our first time hitting the application on this machine which was an older HP - same Firefox version (31.XX) and graphics driver (NVIDIA) as all other machines that would hit the application. The older HP that was experiencing this issue has a 4 monitor display with Xinerama on; the other setups are 2 monitors.
Has Cesium been tested on multiple-head displays (maybe this is the issue)? Or, maybe older PCs affects the performance as well?
In my opinion, Cesium’s only requirement for WebGL is a bit optimistic. In a perfect world of modern hardware it would run mostly without problems.
However, I’ve been testing it in my environment with a variety of older hardware pc’s, laptops and even an older generation panasonic toughbook.
For example, on a Windows 7 PC with Radeon 6450 HD, this is how I see ground primitives :
On another machine with an Intel onboard graphics with a WDDM driver (which was blacklisted), I had troubles with Billboards and Points - their textures had weird buggy colors. But blacklisted GPU are not trustworthy.
On my Ubuntu machine I get half FPS than on Windows with a modern low-end nVidia card on a monitor with a resolution of 1920x1080. I guess it is related to the lack of proper drivers for ubuntu.
On an old toughbook I can’t get decent framerate when just hundreds of objects.
So to me it is really not only having WebGL but the specific GPU’s capabilities for some features, to be able to deliver an application with a good framerate and visual experience.
You can tweak Cesium to perform slightly better, like disabling fxaa, atmosphere (gave me twice fps boost) at the cost of quality.
All those are not Cesium’s fault of course, but the inability of older and weak hardware to deal with it. Like games, you can’t run them properly on older pc’s even if the minimum requirements are met
Thank you for the response!
Do you notice a performance difference on Windows vs. Linux?
In regards to blacklisted GPUs… Is the blacklisted GPUs browser-specific? Is there a list specifically for Cesium?
I can almost totally assure you that Windows is by far better at running WebGL as well as other graphics than Linux. I have a dual boot pc in which I get twice more FPS on windows than on linux, I didn’t
conducted any research about the reason causing this differences, but I know (from reading) that gpu drivers for linux are a painful topic.
On windows, WebGL in Chrome uses ANGLE which to my knowledge under the hood uses DirectX instead of OpenGL.
Regarding blacklisted GPUs, they are browser specific. As far as I’m familiar with Cesium, it makes no assumptions about the GPU, it just asks for WebGL as Hannah stated above.
We did more testing and it seems like the problem involves Xinerama being turned on.
The map is fine with 2-headed displays, Xinerama on. When we set up 3 (and then 4) displays, the map is not rendered correctly. When we turned Xinerama off with 3 (and then 4) displays, we got the correct map display as well as better performance.
Thanks again for the info!