Wutschkow schrieb:Früher hatte ich immer alle Caches markiert, um sie auf der Karte zu sehen. Bis ich mir dann mal den Code der MovingMap angeschaut habe. Seitdem markiere ich meist nur den Cache, den ich gerade in Arbeit habe und freue mich über die bessere Performance der MM.
Also wenn das kommt, dann bitte nur optional.
Wir reden hier also über einen grundlegenden Umbau der MovingMap? Da besteht sicherlich Optimierungspotenzial. Trotzdem klingt Deine Formel "Mehr Wegpunkte berücksichtigen und trotzdem bessere Performance" ein wenig nach einem Perpetuum Mobile.araber95 schrieb:Es werden natürlich nur die Cache "geladen", die auf dem Display sichtbar sind.
Wutschkow schrieb:Wir reden hier also über einen grundlegenden Umbau der MovingMap? Da besteht sicherlich Optimierungspotenzial. Trotzdem klingt Deine Formel "Mehr Wegpunkte berücksichtigen und trotzdem bessere Performance" ein wenig nach einem Perpetuum Mobile.araber95 schrieb:Es werden natürlich nur die Cache "geladen", die auf dem Display sichtbar sind.
Aber ich lasse mich gerne vom Gegenteil überzeugen.
CacheHolder ch;
int twidth = width/10;
int theight = height/10;
Area screenArea = new Area(ScreenXY2LatLon(-twidth,-theight), ScreenXY2LatLon(width+twidth,height+theight));
for (int i = cacheDB.size() - 1; i >= 0; i--) {
ch = cacheDB.get(i);
if (screenArea.isInBound(ch.pos)) {
// because visible and valid don't change while showing map -->need no remove
if (ch.isVisible() && ch.pos.isValid()) {
addSymbolIfNecessary(ch.cacheName, ch, GuiImageBroker.getTypeImage(ch.getType()), ch.pos);
}
}else{
removeMapSymbol(ch.cacheName);
}
}