I am considering using Cesium in my embedded application

1,948 views
Skip to first unread message

adam...@gmail.com

unread,
Apr 4, 2014, 8:36:39 AM4/4/14
to cesiu...@googlegroups.com

Hello,

Is Cesium what I am looking for?

I need to integrate an extensible map widget with my application running on sized-down linux ARM platform with around 1GB RAM, potentially no storage, potentially low bandwidth and connectivity. These limits are quite important. My application is developed using C++ and Qt5, with QML interfaces.

Map would be used, aside from normal virtual globe uses, to display custom layer data provided by some geolocalized sensors. I need to create, display and edit paths (with waypoints) on map view, it also needs to be touchscreen-enabled.

Is Cesium up to this task, or should I look elsewhere (Marble?).

Thank you very much!
Adam Dabrowski

adam...@gmail.com

unread,
Apr 10, 2014, 2:23:17 AM4/10/14
to cesiu...@googlegroups.com, adam...@gmail.com
A less complicated question..

Does anybody have any experience using Cesium as a standalone app with pre-downloaded maps only? Is it possible? Am I going to be the first?

Regards,
Adam

plotnik

unread,
Apr 15, 2014, 3:40:00 AM4/15/14
to cesiu...@googlegroups.com, adam...@gmail.com
Hello, 

I didn't work with mobile devices. As far as I understand you need to integrate browser (Chromium) into your app and run Cesium in it. 

I just tested such thing on Windows, everything expectedly works there. It was my simple win32 app which uses CEF (chromium embedded framework) + my test Cesium app working with local (predownloaded) geodetic data. I used TileMapServiceImageryProvider with local data url and  GeographicTilingScheme in my Cesium app. 

AFAIK there are solutions for Qt+Chromium.  For initial test, you can make such app and start any Cesium example inside it. If it works, switch to local data probably will not be a problem. 

Just in case, you can search for C++ virtual globe engines. 


adam...@gmail.com

unread,
Apr 15, 2014, 6:57:42 AM4/15/14
to cesiu...@googlegroups.com, adam...@gmail.com

Thank you for your answer!

I managed to build a Qt Webkit based app and test in on the target environment. Unfortunately, provided examples were experiencing heavy performance issues (same app on my development environment runs smoothly).

I've already tested several globes. Qt Marble proved to be much lighter and had no performance issues so far. However, Cesium does look nicer, provides 3D models support and looks to be well-written, so I am not giving up on it yet.

Is there any way to tune up Cesium performance? Like settings for a weak environment. I know Mercator view is lighter, but that's not enough.

Scott Hunter

unread,
Apr 15, 2014, 3:17:35 PM4/15/14
to cesiu...@googlegroups.com
Since Cesium is entirely JavaScript-based, the JavaScript engine is probably going to be the main bottleneck.  I've never used QtWebkit, so I'm not sure which JS engine you're using, or what the options are.  In our experiences with normal web browsers, the V8 engine in Chrome is much faster than other engines, such as the JSC engine in Safari/WebKit.  I don't know if that's an option, though.

It's also possible that there are Qt-specific bottlenecks in the way that your application's graphics are composited together.  Good WebGL performance relies on being able to offload work to the video card.  If the particular implementation is doing compositing on the CPU, that may mean that each frame is read back from the video card, which will kill performance.  You're kind of limited by how QtWebkit happens to work, unfortunately.  

Sorry I don't have any specific advice.  We certainly hope that Cesium can be embedded in applications like you describe, but you're in untested waters at this point.





--
You received this message because you are subscribed to the Google Groups "cesium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cesium-dev+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

adam...@gmail.com

unread,
Apr 16, 2014, 1:48:00 AM4/16/14
to cesiu...@googlegroups.com

Thank you Scott. I might try fiddling with it for some time. If I find out something useful on the matter, I'll sure come back here to share.

plotnik

unread,
Apr 17, 2014, 3:35:27 AM4/17/14
to cesiu...@googlegroups.com, adam...@gmail.com
I agree that Cesium is good. AFAIK it is the only alive project of this kind (thanks to authors).
 
You can look at opensource http://www.openwebglobe.org/ (GPL3). It is not better than Cesium, nobody develops it about a year, but it can be lighter. It can use local geodata, import 3d models, show relief. But its functionality for helpers like labels, billboard, lines etc. is poor.

There are some proprietary javascript engines from Google, Nokia (both support terrain heighfields) and others. Seems to me support of arbitrary data sources is rather basic thing and many globes have to support it. Testing them is probably easy for you, because you just need to start their demos in your ready environment.

There are Java globes (NASA World Wind).

I'm inetrested in your results too :) . May be I'll try to launch a globe on mobile devices soon.

Akshay kapadia

unread,
Oct 6, 2015, 1:32:50 AM10/6/15
to cesium-dev, adam...@gmail.com
Try QtWebEngine using qt 5.5

Narco

unread,
Oct 12, 2015, 9:36:45 AM10/12/15
to cesium-dev, adam...@gmail.com
I tried open cesium on mobile browsers (both Andorid and iOS), I would say it running decent with minor bugs, like sometimes respond strangely to touches. Not all Android devices will work but newer ones looks Ok

One thing to note, it will crash if model too big (and used too much memory). So I guess you need manage the memory nicely.

dav...@strategicmissionelements.com

unread,
Jul 10, 2019, 9:13:26 AM7/10/19
to cesium-dev
On Wednesday, April 16, 2014 at 1:48:00 AM UTC-4, adam...@gmail.com wrote:
> Thank you Scott. I might try fiddling with it for some time. If I find out something useful on the matter, I'll sure come back here to share.

I know this post is quite old but, did you ever have any success with QT and Cesium?

Dave

Omar Shehata

unread,
Jul 11, 2019, 10:24:29 AM7/11/19
to cesium-dev
I can add that I recently put together a demo with Cordova embedding Cesium in a web view. The imagery, terrain and 3D Tilesets were all embedded in the application and it worked pretty well. I also know others in the community have had success with react native. 
Reply all
Reply to author
Forward
0 new messages