Opened 15 years ago

Last modified 13 years ago

#1451 new bug

High usage of CPU when moving mouse over map canvas

Reported by: wonder Owned by: nobody
Priority: minor: annoyance Milestone: Version 1.7.0
Component: GUI Version: Trunk
Keywords: Cc: pcav
Must Fix for Release: No Platform: All
Platform Version: Awaiting user input: no

Description

When you move mouse over map canvas (with any tool, e.g. panning), you can see high CPU usage by QGIS application.

The problem is related to updates of coordinates shown in status bar - if extent is being shown instead of coordinates, CPU usage is very low.

I think it has something to do with layout management in status bar...

Using ubuntu, Qt 4.3.4.

Change History (7)

comment:1 by lutra, 15 years ago

Cc: pcav added

What is the status of this problem? Since the ticket was posted something changed?

With qgis 1.2 from trunk, Ubuntu 9.04 and a bunch of vectors/raster opened in the project the %cpu for the qgis process rarely passed 50% when panning, zooming, etc.

comment:2 by smizuno, 15 years ago

It appears that QLabel is doing a lot of work to paint the new values. Perhaps using a QLineEdit control would be better. The CoordinateCapture tool has two such controls, plus it does coordinate transforms, and its CPU utilization isn't any more (actually less in my testing on Windows) than the mouse cursor position control.

comment:3 by lutra, 15 years ago

Milestone: Version 1.0.3Version 1.2.0
Platform: LinuxAll

comment:4 by pcav, 14 years ago

Milestone: Version 1.5.0Version 1.6.0

comment:5 by pcav, 13 years ago

Confirmed with r15260

comment:6 by aghisla, 13 years ago

I can't confirm with r15724, qt 4.7.1 on Fedora. CPU usage by QGIS is mainly under 10% while panning and zooming on a medium complex layer, both with coordinates or extent in the status bar.

Is there any other factor that can trigger this CPU consumption?

comment:7 by wonder, 13 years ago

The problem is still there. Ubuntu, Qt 4.7.0.

It is not necessary to pan/zoom a layer. This happens even with empty canvas - just moving the mouse over it keeps the processor busy more than one would expect. Still happens only when showing the current coordinates, not the extent.

Note: See TracTickets for help on using tickets.