-
-
Notifications
You must be signed in to change notification settings - Fork 313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improved tile retrieval during rendering #9
Conversation
Merge from pauldendulk
When performing recursive searches for tiles to render, I converted the resolution dictionary to a sorted list and used indices to move up to lower resolutions instead of performing dictionary look ups each time. This greatly improves performance when tiles are found right away resulting in multiple recursive calls.
Great patch! I added a unit test for the original method and then did some performance comparisons with the new one. It is now about 10 times faster. Thanks a lot. |
Sweet! I've been impressed with how smooth/quick the Mapsui WPF map runs. I'm working on map rotation now... On Mon, Sep 8, 2014 at 4:11 PM, Paul den Dulk notifications@github.com
|
Eventually I would like to replace WPF rendering (Mapsui.Rendering.Xaml) with a hardware accelerated renderer like OpenGL (that I now use on iOS and Android) or DirectX. Rotation will have a bigger impact. How will you approach it? Perhaps we should open een new issue to discuss it. |
Still looking at how to possibly handle rotation, but as you mentioned in a If you would like it done a different way let me know, but I hope to have a On Mon, Sep 8, 2014 at 4:37 PM, Paul den Dulk notifications@github.com
|
ah here is the issue for iOS/Android |
Want me to continue working on the rotation for the viewport, fetcher, and Sent from my "smart" phone
|
Better to just start. Not sure if I will have time later. I will try to help. |
Really appreciate your hard work on Mapsui. It is an awesome project!
When performing recursive searches for tiles to render in RenderGetStrategy, I converted the resolution dictionary to a sorted list at the beginning of the search and used indices to move up to lower resolutions instead of performing dictionary look ups each time. This greatly improves performance when tiles are not found right away resulting in multiple recursive calls.
I first noticed this performance problem when I had multiple layers - one had tiles down to level 19 and the other only to level 11. When zoomed into level 19, it was taking a (relatively) long time to find tiles in the top layer which only goes to level 11 and therefore the screen would stutter when dragging my WPF application. With the below improvement, it drags much more smoothly.