Changeset 7107 in josm for trunk/src/org
- Timestamp:
- 2014-05-11T17:36:15+02:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/StyledMapRenderer.java
r7090 r7107 1511 1511 } 1512 1512 1513 List<Node> nodes = data.searchNodes(bbox); 1514 List<Way> ways = data.searchWays(bbox); 1515 List<Relation> relations = data.searchRelations(bbox); 1516 1517 final List<StyleRecord> allStyleElems = new ArrayList<>(nodes.size()+ways.size()+relations.size()); 1518 1519 ConcurrentTasksHelper helper = new ConcurrentTasksHelper(allStyleElems, data); 1520 1521 // Need to process all relations first. 1522 // Reason: Make sure, ElemStyles.getStyleCacheWithRange is 1523 // not called for the same primitive in parallel threads. 1524 // (Could be synchronized, but try to avoid this for 1525 // performance reasons.) 1526 helper.process(relations); 1527 helper.process(new CompositeList<>(nodes, ways)); 1528 1529 if (Main.isTraceEnabled()) { 1530 timePhase1 = System.currentTimeMillis(); 1531 System.err.print("phase 1 (calculate styles): " + (timePhase1 - timeStart) + " ms"); 1532 } 1533 1534 Collections.sort(allStyleElems); 1535 1536 for (StyleRecord r : allStyleElems) { 1537 r.style.paintPrimitive( 1538 r.osm, 1539 paintSettings, 1540 StyledMapRenderer.this, 1541 (r.flags & FLAG_SELECTED) != 0, 1542 (r.flags & FLAG_MEMBER_OF_SELECTED) != 0 1543 ); 1544 } 1545 1546 if (Main.isTraceEnabled()) { 1547 timeFinished = System.currentTimeMillis(); 1548 System.err.println("; phase 2 (draw): " + (timeFinished - timePhase1) + " ms; total: " + (timeFinished - timeStart) + " ms"); 1549 } 1550 1551 drawVirtualNodes(data, bbox); 1513 data.getReadLock().lock(); 1514 try { 1515 List<Node> nodes = data.searchNodes(bbox); 1516 List<Way> ways = data.searchWays(bbox); 1517 List<Relation> relations = data.searchRelations(bbox); 1518 1519 final List<StyleRecord> allStyleElems = new ArrayList<>(nodes.size()+ways.size()+relations.size()); 1520 1521 ConcurrentTasksHelper helper = new ConcurrentTasksHelper(allStyleElems, data); 1522 1523 // Need to process all relations first. 1524 // Reason: Make sure, ElemStyles.getStyleCacheWithRange is 1525 // not called for the same primitive in parallel threads. 1526 // (Could be synchronized, but try to avoid this for 1527 // performance reasons.) 1528 helper.process(relations); 1529 helper.process(new CompositeList<>(nodes, ways)); 1530 1531 if (Main.isTraceEnabled()) { 1532 timePhase1 = System.currentTimeMillis(); 1533 System.err.print("phase 1 (calculate styles): " + (timePhase1 - timeStart) + " ms"); 1534 } 1535 1536 Collections.sort(allStyleElems); 1537 1538 for (StyleRecord r : allStyleElems) { 1539 r.style.paintPrimitive( 1540 r.osm, 1541 paintSettings, 1542 StyledMapRenderer.this, 1543 (r.flags & FLAG_SELECTED) != 0, 1544 (r.flags & FLAG_MEMBER_OF_SELECTED) != 0 1545 ); 1546 } 1547 1548 if (Main.isTraceEnabled()) { 1549 timeFinished = System.currentTimeMillis(); 1550 System.err.println("; phase 2 (draw): " + (timeFinished - timePhase1) + " ms; total: " + (timeFinished - timeStart) + " ms"); 1551 } 1552 1553 drawVirtualNodes(data, bbox); 1554 } finally { 1555 data.getReadLock().unlock(); 1556 } 1552 1557 } 1553 1558 }
Note:
See TracChangeset
for help on using the changeset viewer.