Modify

Opened 8 years ago

Last modified 6 years ago

#14003 new enhancement

Mouse moves trigger costly calculations to early

Reported by: GerdP Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: performance Cc: Klumbumbus

Description

Each mouse movement across the rendered data triggers a lot of costly calculations, this is done to highlite the object(s) under the cursor. I think this should only be done when the mouse stays at the same location for a while. Is there any option to configure this?

Attachments (1)

14003.patch (1.5 KB ) - added by GerdP 6 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 by Klumbumbus, 8 years ago

Cc: Klumbumbus added

in reply to:  description comment:2 by skyper, 8 years ago

Replying to Gerd Petermann <gpetermann_muenchen@…>:

Is there any option to configure this?

See Display -> OSMData in preferences

comment:3 by GerdP, 8 years ago

Don't understand. I don't see an option to set a time. WHaat option will help me?

in reply to:  3 comment:4 by skyper, 8 years ago

Replying to Gerd Petermann <gpetermann_muenchen@…>:

Don't understand. I don't see an option to set a time. WHaat option will help me?

Sorry, only available option is to disable the highlighting completely.

comment:5 by Don-vip, 7 years ago

Keywords: performance added

by GerdP, 6 years ago

Attachment: 14003.patch added

comment:6 by GerdP, 6 years ago

The attached (experimental) small patch avoids a redraw in two situations when in Select Mode
1) Mouse is outside of the MapView and one of the special keys is pressed
(This is done by setting oldEvent = null in mouseExited(). Without this change highlighted elements change when you press e.g. Ctrl)
2) Mouse is moved quickly, there is no need to highlight something in this situation as the result is unpredictable.
I've added a log message to show how often this avoids the costly call of giveUserFeedback() and possibly the repaint.

I see no negative impact on user feedback, so this should just save a lot of CPU cycles which might help on battery driven machines.

The hard coded numbers work fine for me, I assume they should depend on e.g. screen resolution, something like "distance between mouse
events" > x % of screen resolution.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to GerdP.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.