Ticket #685: josm-render-speedup.diff
File josm-render-speedup.diff, 1.2 KB (added by , 17 years ago) |
---|
-
home/dnaber/workspace/JOSM/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
10 10 import java.awt.Graphics; 11 11 import java.awt.GridBagLayout; 12 12 import java.awt.Point; 13 import java.awt.Transparency; 13 14 import java.awt.event.ActionEvent; 15 import java.awt.image.BufferedImage; 14 16 import java.io.File; 15 17 import java.util.Collection; 16 18 import java.util.HashSet; … … 170 172 } 171 173 else 172 174 { 173 standardMapPainter.setGraphics(g); 175 // MapPaintVisitor paints calls fillPolygon() with an alpha 176 // channel -- this is slow, speed it up by rendering to a BufferedImage: 177 BufferedImage bim = new BufferedImage(mv.getWidth(), mv.getHeight(), Transparency.OPAQUE); 178 standardMapPainter.setGraphics(bim.createGraphics()); 174 179 standardMapPainter.setNavigatableComponent(mv); 175 180 standardMapPainter.inactive = inactive; 176 181 standardMapPainter.visitAll(data); 182 g.drawImage(bim, 0, 0, null); 177 183 } 178 184 Main.map.conflictDialog.paintConflicts(g, mv); 179 185 }