Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/RenderBenchmarkCollector.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/RenderBenchmarkCollector.java	(revision 16541)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/RenderBenchmarkCollector.java	(revision 16542)
@@ -65,5 +65,5 @@
         @Override
         public void renderStart(double circum) {
-            timeStart = System.currentTimeMillis();
+            timeStart = getCurrentTimeMilliseconds();
             super.renderStart(circum);
         }
@@ -71,5 +71,5 @@
         @Override
         public boolean renderSort() {
-            timeGenerateDone = System.currentTimeMillis();
+            timeGenerateDone = getCurrentTimeMilliseconds();
             return super.renderSort();
         }
@@ -77,5 +77,5 @@
         @Override
         public boolean renderDraw(List<StyleRecord> allStyleElems) {
-            timeSortingDone = System.currentTimeMillis();
+            timeSortingDone = getCurrentTimeMilliseconds();
             return super.renderDraw(allStyleElems);
         }
@@ -99,5 +99,5 @@
         @Override
         public void renderDone() {
-            timeFinished = System.currentTimeMillis();
+            timeFinished = getCurrentTimeMilliseconds();
             super.renderDone();
         }
@@ -110,4 +110,8 @@
             return timeFinished - timeGenerateDone;
         }
+    }
+
+    public static long getCurrentTimeMilliseconds() {
+        return System.nanoTime() / 1000000; // System.currentTimeMillis has low accuracy, sometimes multiples of 16ms
     }
 
