Opened 16 years ago
Closed 16 years ago
#715 closed defect (fixed)
[PATCH] Rendering speed without drawing helper line
Reported by: | fatbozz | Owned by: | framm |
---|---|---|---|
Priority: | critical | Milestone: | |
Component: | Core | Version: | latest |
Keywords: | lag render hell | Cc: | fatbozz |
Description
Latest JOSM releases are very slow in rendering. When i want to move node and move precise to another place, this make me crazy.
Im using josm in wireframe mode, and turned off arrows, but its crappy. Loaded osm file is about 750k. GPX has 6k5 points.
Attachments (2)
Change History (10)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
With or without active WMS background - all the same.
I think problem in this:
- helper line from last node to mouse cursor (disable with edit.helper-line=false)
Option "edit.helper-line=false" don't work. I can't disable this feature/With this "helper line" CPU utilization up to 100% when move or add node. In rev. 607 all ok.
comment:3 by , 16 years ago
I tested rev. 607 and 609
607 - ok
609 - rendering hell :)
find, which helper-line disable with draw.helper-line=false, but this don't really help.
Maybe, problem in this:
- additional information in status bar about length, heading, and angle of segment being drawn
CPU up to 100% when simply move cursor on map.
by , 16 years ago
Attachment: | josm-715.diff added |
---|
fast if draw.helper-line= false and makes draw.helper-line default to false
comment:5 by , 16 years ago
I guess the problem is that the extra info shown in the boxes belos the drawing area are computed in the main drawing thread. Imi originally had a mechanism where the status info was done in an extra thread that would (more or less) only run if there's nothing else to do, so that fast mouse moving or so would simply not update the info. I guess I have broken that and need to revisit... I personally experience abysmal drawing performance but that's because I am using X over ethernet and Java is known to suck at that.
by , 16 years ago
Attachment: | josm-715-v2.diff added |
---|
new version, doesn't break status information anymore
comment:6 by , 16 years ago
The problem is the rendering of the helper line (and thus of everything) on every move of the mouse, not the calculation. My first patch broke that calculcation, new patch attached (not tested much, but status information still works and performance is better when using draw.helper-line=false).
It would be nice if we could make use of Swing's setClip()/getClipBounds() feature to make sure that only the area that's really affected is rendered (i.e. the line itself) and not the complete screen, but I'm not sure how to do that yet.
comment:7 by , 16 years ago
Summary: | Rendering hell → [PATCH] Rendering speed without drawing helper line |
---|
comment:8 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
This patch has been applied in r642, we just forgot to close the ticket then.
With or without active WMS background?