[Marble-devel] Optimization tips
Torsten Rahn
tackat at t-online.de
Fri Jan 4 14:06:25 UTC 2013
Hi,
> Yes my polygons cover a small area, like 100kmx100km. They have only a few
> nodes between 4 and 10. I'm getting these vectorial data from
> OpenStreetMap server, they are: buildings, roads, land areas, water areas
> etc... I dont change the painter a lot.
I hope you are aware of the fact that Marble can load .osm files already and
that it has some more or less basic OpenStreetMap Vector rendering already.
You can either load them via File->Open in Marble, or in terms of programming
you open them like .kml files:
http://techbase.kde.org/Projects/Marble/Runners/LoadingKML
Just use a .osm file instead of the file.kml. See also
http://www.youtube.com/watch?v=QnZDkxj2SUU
Have you tried this?
> I know I can get better performances putting my data in a geometric data
> structure (like bsp tree as you said) to be able to draw only what's
> visible on on the screen. But it is not actually a problem in my
> application because when there is not much drawn on the screen, it's
> already running faster. I think the geopainter is discarding whatever is
> not on the screen.
Yes, the GeoPainter discards stuff that is not shown on the screen. It also
discards geometries that are too small to be drawn. We also do some
prefiltering for Polygon nodes and have some further optimizations in the
works.
> So implementing this will only improve the performance when zooming but not
> when all the data is displayed. Maybe I could find a way not to draw what
> is too small to be displayed.
Yes, if you load a bigger OpenStreetMap file into Marble (with Marble's own
parser) you'll run into similar issues at one point.
IIRC we try to reduce this by
* ignoring items that are too small to be rendered
* filtering out "less important" items
* and using the TileCoordsPyramid class (inside marble/src/lib)
This works to some degree already but can probably use some further
optimization. Maybe you could look into this even if you reuse our approach
:-)
Thibaut Gridel ("idis" on IRC) could maybe provide some further input on this
topic.
Best Regards,
Torsten
> I know about bsp-trees but not the tilePyramid thing. It sounds
> interesting. Can you tell me more about this or give me some internet link
> ?
>
> Jean-Charles
>
> _______________________________________________
> Marble-devel mailing list
> Marble-devel at kde.org
> https://mail.kde.org/mailman/listinfo/marble-devel
More information about the Marble-devel
mailing list