Compare to nokia maps http://www.hermes.com/, Cesium seems a little slow. I switch on "Show FPS" on chrome://flags page. When I drag the earth. FPS of Cesium is 20-60. But Nokia maps is 60, very smooth. Especially in tilt view. FPS of Cesium is very low, sometimes touch 20. Is there any design cause this issue?
Which Cesium demo are you comparing against? In order to do an “apples-to-apples” test of Cesium against other WebGL globes, you need to make sure you are comparing the same feature set. For example, most of the Cesium demos are rendering time-dynamic content. This is very different to the static geometry used in every other WebGL globe that I’m aware of. I am also aware that the map you linked to is showing labels for geographic locations and other things as well, so in some cases it may be doing more than Cesium.
Also, what operating system and browser are you using? These play a big role in what the numbers might look like. In fact, since we are using requestAnimationFrame, the Chrome FPS meter is incorrect most of the time.
Finally, we are always working to improve performance in Cesium, so if you have specific use cases where Cesium is too slow or performs poorly, we would love to hear about them. Cesium is still in heavy development, so our overall performance characteristics will continue to improve as we work on it. I also think what you’ll find is that once you populate the globe with a ton of data, Cesium will start to really shine and out-perform many other globes. There will always be use cases where some globes will be better than others, Cesium itself will always be tuned for dynamic-data, but handling static geometry and terrain is also really important to us and is actively being improved.
I'm using Chrome 26.0.1410.64, Win7 64bit. When you drag and throw the global by left mouse button, during the inertial moving, you can see the jump between frames. And I write code to test the render time for one frame. During the initial moving by drag and throw, most of frames were drawn in 1-10 ms. But some, maybe a round 5% of frames, were drawn beyond 20ms, which cause frame dropping.
BTW, would you tell me, what browser and operating system are you take?
I just use the HelloWorld demo to compare to Nokia maps.
When terrain is used, I could see Cesium being a bit slower since Nokia doesn’t have global terrain. However, our Hello World doesn’t have terrain so I am surprised to hear this. I made an issue to do some profiling to see what is going on. We already do a lot of profiling, and there are a few hotspots we plan to improve, but Kevin or I should take a closer look for this comparison.
Is this a fair comparison? As far as I can tell, the Nokia maps isn’t using canvas/WebGL while Cesium is.
Caleb - Nokia has a 3D version that is built on WebGL. Here is some tech details: http://www.youtube.com/watch?v=1at6WML3kWc
Shawn, we opened an issue to profile Hello World to see if we can reproduce your results. See here: https://github.com/AnalyticalGraphicsInc/cesium/issues/792
You mentioned that you wrote code yourself to time the frames. Can you share this code with us? Normally we would profile using the dev tools built into Chrome.
I just count the time cost by "scene.render();"