View Single Post
Posts: 73 | Thanked: 33 times | Joined on Nov 2010
#565
Originally Posted by MartinK View Post
It is quite possible there could be something wrong in the last version - the cause could be two-fold:
I could have broken something input related while adding support for long-clicks or when adding the new map dragging method. I have also noticed some exceptions while downloading a tile fails. I also have not yet done the sqlite related optimizations mentioned earlier.

If you can find some easily reproducible slowdown/UI unresponsiveness or send me logs of this happening, it would probably help me debugging this issue a lot
Well, I drove 1200 km today and am almost 100% confident there is a problem with displaying tiles, or there is some associated task that's happening when tiles are retrieved for display.

Basically, I have been reporting the issues of modrana slowing down since enabling the sqlite db, and I have wrongly attributed it to the sqlite. However, it's been getting progressively worse and worse, and currently modrana is almost unuseable for navigation while driving. I will explain shortly. The issue is not connected with the sqlite db, as even regular file tile saving option behaves the same.

Basically, I have confirmed today that when zoomed in and driving fast, meaning new tiles are constantly drawn from the top, in only a couple seconds the CPU load grows immensely - top shows modrana is hogging the CPU and mem, no other app running, and the phone fails to cope, no new tiles are drawn, and you're left with just a green field of "Loading" tiles.

It seems tiles are loaded for display sequentially, i.e. FIFO, even when the tile is no longer to be displayed, it seems the system is processing it and only then getting to further ones. Furthermore it seems to me, they are not released from memory.

You can easily replicate this behavior on an N900 by first zooming in to say 100m, then scroll rapidly left a couple of screens, after one or two moves, the phone doesn't manage, it's all green, even though the tiles are there.

If you then leave it for a minute or so, the system catches up and displays tiles.

So the only way to drive now after a while is zoomed all the way out, so that the tiles move VERY slow, even then when an edge of a new one appears on top, it takes like a minute for it to be displayed.

My thinking is, maybe the tile is reloaded for display even every miniscule move, so then if it moves more again, it moves a little again... Don't know, but obviously the system is not coping...

Plus the phone got super hot, as it was working overdrive and it was not coping.

This behavior has been getting progressively worse, since around the time I reported it the first time, around when the sqlite option was introduced.

I'm thinking, you must've changed the graphic loading and display of the tiles, Marting... Or introduced some working over of the tiles when loaded or something. But like this it's just very bad...

Please don't take this the negative way, modrana is great. However this issue has been getting worse and worse and it's now almost unuseable for navigating while driving at high speeds.

The only solution is always to close it. Then restart and it will load the tiles "fast" meaning like in two or three seconds for a while, which is however still not good, because when zoomed in and driving they move off the screen in two seconds, so it doesn't manage again.

I haven't looked at the code at all, but remember you mentioned changing the drawing code or something, I think its connected with that.

But on the N900 it's easy to reproduce, like I said just keep dragging then zoom in or out then drag, after a little while it gets stuck. However when you zoom back in or out to what was displayed it displays the tiles fast, meaning that they are probably in memory, then zoom out and it's just green for a minute...
 

The Following User Says Thank You to jj0 For This Useful Post: