Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

The way QGIS draws the canvas when panning is quite annoying. If I pan the map even a little bit everything goes blank for a second or two before the layers are drawn. It looks like this happens only when the layer content is supposed to be downloaded (my PostGIS layers are drawn without hurting my eyes), so this might be just a problem with the configuration rather than the code. Does anyone have a solution?

Oh, and the question should be "how can I make QGIS suitable for epileptics?". It's that annoying.

share|improve this question
    
This is one of biggest pet peeves with Qgis. The problem is really terrible when you have a layer from the OpenLayers Plugin in your map. –  Devdatta Tengshe Jan 22 '13 at 3:20
    
It's not ideal, but you can turn off rendering by ticking the render box on the bottom toolbar. This means that data outside the current viewport is no longer shown/refreshed, though. –  djq Jan 22 '13 at 6:36
    
it is even more annoying when you think that the same layers are rendered "correctly" by geoserver and even udig. Alas i cannot turn to them, i need qgis's advanced sql capabilities to test some geo queries –  orieeel Jan 22 '13 at 11:59
1  
@orieeel geoserver and udig are done in Java and use a different rendering technique –  Nathan W Jan 22 '13 at 13:07
    
In Master you could try Settings -> Options... -> Rendering and ticking "Enable back buffer". Not sure if this is possible in 1.8. N. –  nhopton Mar 4 '13 at 19:36
add comment

2 Answers 2

I'm afraid the answer is: You can stop QGIS from blinking by funding a developer to implement a non-blinking version.

share|improve this answer
1  
To explain why: It currently comes down to how the layers and features are rendered in the rendering engine. There are some future developments, mainly multi-threading, and caching, that should help to reduce this but not fully. –  Nathan W Jan 22 '13 at 7:58
    
Underdark : LOL –  QgisTn Jan 22 '13 at 10:33
    
@underdark wish i could, but it won't happen from my student budget. –  orieeel Jan 22 '13 at 12:06
    
@nathan-w just tested the landcover raster from qgis demo dataset and there are no panning problems SO i'm pretty sure the problem appears mainly when the layers are not on localhost –  orieeel Jan 22 '13 at 12:24
    
maybe this problem can be solved by using a server on localhost for caching?...it's just incredible the wms/wfs data that has already been downloaded is not reused.. –  orieeel Jan 22 '13 at 12:28
show 2 more comments

There's an easy "fix" if you're brave enough to change the code source of QGIS:

Open 'qgsmaptoolpan.cpp', and into the corresponding 'canvasMoveEvent' member, add the sentence "mCanvas->refresh();" as follows:

void QgsMapToolPan::canvasMoveEvent( QMouseEvent * e )
{
  if (( e->buttons() & Qt::LeftButton ) )
  {
    mDragging = true;
    // move map and other canvas items
    mCanvas->panAction( e );
    mCanvas->refresh();
  }
}

(QGIS version 1.8 Lisboa)

This will force a continuous refresh on the map while you are panning with the mouse. It could go a bit slower, but it works fine, yeah, a relax for my eyes.

share|improve this answer
    
where is that file..? I can't find it in my OpenSuse 12.x Thanks –  tomsik Apr 2 '13 at 8:26
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.