[Qgis-developer] Map canvas flickers

Marco Hugentobler marco.hugentobler at sourcepole.ch
Tue Aug 7 08:37:10 PDT 2012


Hi Matthias

I didn't try it yet, but from a first look at the patch source, it seems 
to me backbuffering is enabled by default:

settings.value( "/Map/enableBackbuffer", 1 ).toBool();

That would be ok on X11. But the windows users (who are not affected by 
the flickering) would loose the paint update / esc key interrupt without 
having an advantage. So either always execute processEvents() in vector 
layer for windows or disable backbuffer by default.

Apart from that, the patch looks fine and I'm happy to apply it.

Regards,
Marco

Am 07.08.2012 11:02, schrieb Matthias Kuhn:
> Hi all,
>
> There is now a config option to turn this fix on and off
> ( Setting=>Options=>Rendering: Enable backbuffer )
>
> The more people that test it, the better are the chances to get this
> into the main code.
>
> Thanks to everybody who is participating in this discussion and testing!
>
> On Fre, 2012-07-27 at 13:08 +0200, Matthias Kuhn wrote:
>> Hi all,
>>
>> there is this issue report #4011 "Map canvas flickers when content is
>> dragged" which is actually pretty annoying and doesn't get much
>> attention. ( http://hub.qgis.org/issues/4011 ) I think the solution
>> would be pretty simple. Please read on.
>>
>> It was introduced by f4d26d6211830a866030a333236dcfbf15e077aa "Fix for
>> resize crash, ticket #2714".
>> This bugfix disables backbuffering, what fixes the crash but leads to
>> the beforementioned flickering.
>>
>> The crash seems to be related to Qt versions (probably 4.6 and 4.7
>> affected). When I tried to reproduce the crash in 4.8.1 (by reverting
>> abovementioned patch) I couldn't reproduce the crash. So it is well
>> possible that this problem has been fixed in Qt upstreams.
>>
>> But: I myself never could reproduce this crash (due to the lack of a
>> system with old Qt libs). So, I would be happy if someone familiar with
>> this problem could confirm that this is fixed with Qt 4.8.
>>
>> Then there are two possibilities (unless you come up with a third one):
>>
>> 1. Check for qVersion upon every repaint as suggested by Martin Dobias
>> and then enable/disable the workaround accordingly.
>>
>> 2. Switch the workaround on/off by a pre-compiler constant. This way,
>> any new distro with Qt>=4.8 could be shipped without the workaround-code
>> being compiled into the binaries.
>>
>> Any comments on this issue are very welcome, as it makes QGIS look a lot
>> sweeter :)
>>
>> Regards
>>
>> _______________________________________________
>> Qgis-developer mailing list
>> Qgis-developer at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/qgis-developer
>
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer


-- 
Dr. Marco Hugentobler
Sourcepole -  Linux & Open Source Solutions
Weberstrasse 5, CH-8004 Zürich, Switzerland
marco.hugentobler at sourcepole.ch http://www.sourcepole.ch
Technical Advisor QGIS Project Steering Committee



More information about the Qgis-developer mailing list