For some reason I can't understand, when opening a Cesium app in my Chrome Browser, the performance is awful. I'm talking about that point where it gets so stuck you can barely navigate.
At first I thought that the apps I was running where to heavy. But I tried to execute to app at https://cesiumjs.org/Cesium/Apps/HelloWorld.html, and even that one is unusable.
· If I open the same apps in Internet Explorer, they work just fine.
· If I re-install Chrome, the apps work fine - for a while. After a few minutes (or refreshes, I can't tell) the laggynes comes back.
To me, it's quite obvious the problem is located at Chrome. But I can't seem to pinpoint what it is.
Hope you guys can help. Thanks and best regards,
What operating system/device are you testing on? And what version of Chrome are you using? Have you also tried testing it out in Firefox? I’m curious if it’d have the same issue.
I'm on Windows 10. Chrome version is 67.0.3396.99.
I just tested in Firefox, and there everything runs smoothly, even when generating a few thousand polygons. Same story with Microsoft Edge.
So I'm just puzzled. I don't really know where to start troubleshooting Chrome, don't know much about the internals of web browsers.
Are you using the 64bit or 32bit version of Chrome? 32bit limits the amount of RAM one tab can use, which can cause poor performance.
Most likely this is due to Chrome blacklisting an old video card driver and disabling hardware acceleration. You can check http://webglreport.com/ and see if it reports
Major Performance Caveat: Yes
If it does, that means you’re using software rendering which makes Cesium basically unusable.
I'm using 64 bit, so I guess than won't explain it. Actually, judging purely by looking at the performance tab in the windows task manager, one could think problem is CPU related. CPU stays over 90% constantly, where as RAM doesn't cross the 60-70% threshold (working on an i-7 with 8Gb of RAM).
In any case, appreciate your help.
You're the man, right on spot. I get a Yes in the Major Performance Caveat field for both Web GL 1 and Web GL 2.
And my chrome://gpu/ report reads like this:
Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
Flash: Software only. Hardware acceleration disabled
Flash Stage3D: Software only. Hardware acceleration disabled
Flash Stage3D Baseline profile: Software only. Hardware acceleration disabled
Compositing: Software only. Hardware acceleration disabled
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Software only. Hardware acceleration disabled
Surface Synchronization: Enabled
Video Decode: Software only. Hardware acceleration disabled
Viz Service Display Compositor: Disabled
WebGL: Software only, hardware acceleration unavailable
WebGL2: Software only, hardware acceleration unavailable
Could you give me any hint on why would Chrome do this? Normally I would just google myself on how to force the hardware accelaration, but I'm facing the following issue: I'm developing a web app with Cesium for internal use in my company. And my corporate laptop is the one having the problem. That means that it might eventually happen in every single laptop of my colleagues. And forcing some setting in a few hundred laptops doesn't seem like a good idea...
So I would like the understand why is this happening so I can find some more generic solution that my sysadmin colleagues could deploy easily.
In any case, thanks a lot for the knowledge.
The chrome rules for disabling WebGL are here:
You can see that the rules check various things like operating system, driver version, date, vendor id, etc.
The simplest thing to do is just update your video card drivers to the latest version. Most likely that is the cause.
Great. Thanks a lot, you're help was very valuable.