Implement buffer image to increase FPS
This commit is contained in:
parent
ec83f9f72c
commit
0bae5ded80
3 changed files with 10 additions and 12 deletions
|
@ -818,9 +818,10 @@ public class BinaryMapIndexReader {
|
|||
|
||||
}
|
||||
}
|
||||
|
||||
if(req.numberOfVisitedObjects > 0) {
|
||||
log.info("Search is done. Visit " + req.numberOfVisitedObjects + " objects. Read " + req.numberOfAcceptedObjects + " objects."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
log.info("Read " + req.numberOfReadSubtrees + " subtrees. Go through " + req.numberOfAcceptedSubtrees + " subtrees."); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
|
||||
}
|
||||
return req.getSearchResults();
|
||||
}
|
||||
|
||||
|
@ -885,8 +886,10 @@ public class BinaryMapIndexReader {
|
|||
}
|
||||
|
||||
|
||||
if(req.numberOfVisitedObjects > 0) {
|
||||
log.info("Search is done. Visit " + req.numberOfVisitedObjects + " objects. Read " + req.numberOfAcceptedObjects + " objects."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
log.info("Read " + req.numberOfReadSubtrees + " subtrees. Go through " + req.numberOfAcceptedSubtrees + " subtrees."); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
|
||||
}
|
||||
return req.getSearchResults();
|
||||
}
|
||||
|
||||
|
|
|
@ -144,7 +144,7 @@ public class DownloadedRegionsLayer extends OsmandMapLayer {
|
|||
}
|
||||
|
||||
private RotatedTileBox queryNewData(RotatedTileBox tileBox) {
|
||||
if (queriedBox == null || queriedBox.containsTileBox(tileBox) || Math.abs(queriedBox.getZoom() - tileBox.getZoom()) > ZOOM_THRESHOLD ) {
|
||||
if (queriedBox == null || !queriedBox.containsTileBox(tileBox) || Math.abs(queriedBox.getZoom() - tileBox.getZoom()) > ZOOM_THRESHOLD ) {
|
||||
tileBox = tileBox.copy();
|
||||
tileBox.increasePixelDimensions(tileBox.getPixWidth() / 2, tileBox.getPixHeight() / 2);
|
||||
AsyncTask<Object, Object, List<BinaryMapDataObject>> task = createNewTask(tileBox);
|
||||
|
|
|
@ -457,6 +457,7 @@ public class OsmandMapTileView extends SurfaceView implements IMapDownloaderCall
|
|||
if(currentViewport.getPixWidth() != getWidth() || currentViewport.getPixHeight() != getHeight() ||
|
||||
currentViewport.getCenterPixelY() != cy) {
|
||||
currentViewport.setPixelDimensions(getWidth(), getHeight(), 0.5f, ratioy);
|
||||
refreshBufferImage(drawSettings);
|
||||
}
|
||||
// make copy to avoid concurrency
|
||||
RotatedTileBox viewportToDraw = currentViewport.copy();
|
||||
|
@ -536,15 +537,9 @@ public class OsmandMapTileView extends SurfaceView implements IMapDownloaderCall
|
|||
Message msg = Message.obtain(handler, new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if(bufferBitmap == null) {
|
||||
System.out.println("St " + System.currentTimeMillis());
|
||||
}
|
||||
baseHandler.removeMessages(BASE_REFRESH_MESSAGE);
|
||||
refreshBaseMapInternal(currentViewport.copy(), drawSettings);
|
||||
sendRefreshMapMsg(drawSettings, 0);
|
||||
if(bufferBitmapTmp == null) {
|
||||
System.out.println("End " + System.currentTimeMillis());
|
||||
}
|
||||
}
|
||||
});
|
||||
msg.what = BASE_REFRESH_MESSAGE;
|
||||
|
|
Loading…
Reference in a new issue