I could still invest a little more time to resolv this issue, but if the threading
branch will be ready for the next >release anyway (and this surely is the way
to go) there is probably more important work to be done now.
Yes, I also think it is not worth to invest too much time for a
short-term fix. Maybe it would be good to have a user option to choose
between flickering vs no interuption and no incremental update on X11.
That would be a very quick thing to implement.
Marco
On 03.08.2012 08:56, Kuhn Matthias, Vermessung wrote:
Hi Marco,
I start to see the real problem. It's a pretty tough one to solve without the
threading branch.
One solution I could think of is to ignore certain (problematic) events while
rendering vector layers. This would enable us to still process key events (e.g.
for esc) but I think partial drawing of vector layers will remain problematic
(as this implies triggering a repaint afaics).
As I'm not sure a) if this approach really works and b) it has no side-effects
and c) it does only solve part of the problem I'm really wondering if it's
worth it.
I could still invest a little more time to resolv this issue, but if the
threading branch will be ready for the next release anyway (and this surely is
the way to go) there is probably more important work to be done now.
Regards,
Matthias
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:[email protected]] Im Auftrag von Marco Hugentobler
Gesendet: Donnerstag, 2. August 2012 16:33
Cc: [email protected]
Betreff: Re: [Qgis-developer] Map canvas flickers
Hi Matthias
Disabling that piece of code means there is no possibility to interrupt long
rendering with the 'esc' key. Also the possibility to have an incremental
screen update will be gone (e.g. every 10000 features).
Regards,
Marco
Am 01.08.2012 17:59, schrieb Matthias Kuhn:
Hi Marco,
You're right, this patch does not work. I don't really know it passed
the tests I did here. My environment was pretty messy.
I had a look at it again today and tracked down the warning that
appeared before the crashes (QWidget::repaint: Recursive repaint
detected).
This led me to the code in qgsvectorlayer I changed in the attached
patch. It looks to me as if this patch really fixes the problem.
Still, I'd be happy if you could review the patch, because I don't
know, what side-effects it could cause. I think you know what the code
I removed did (The initials MH probably say that you already disabled
this for
Mac)
Regards,
Matthias
On Fri, 2012-07-27 at 16:19 +0200, Marco Hugentobler wrote:
I still have the crash with the patch (Qt::WA_NativeWindow) on my
machine (Qt 4.8.1).
Regards,
Marco
Am 27.07.2012 15:10, schrieb Matthias Kuhn:
Hi Marco,
thank you for verifying and advises on how to reproduce. I missed
the part with "without releasing the mouse"
I have created a patch that resolves the issue here. Can you please
check the patch and commit it if it works for you as well.
Thank you,
Matthias
On Fri, 2012-07-27 at 13:28 +0200, Marco Hugentobler wrote:
Hi Matthias
I still have the resize crash with Qt 4.8.1. To reproduce, load a
layer with many objects. Go with the mouse to the right corner and
resize several times without releasing the mouse. After the mouse
release, the crash occures.
Note: this problem (and the flicker with the workaround) is X11 only.
But still, Linux is the most important platform.
Btw, the threading branch would be the clean solution for the
issue. But if you have another workaround in the short-term, let me know.
Regards,
Marco
Am 27.07.2012 13:08, schrieb Matthias Kuhn:
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
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer
--
Dr. Marco Hugentobler
Sourcepole - Linux & Open Source Solutions Weberstrasse 5, CH-8004
Zürich, Switzerland [email protected]
http://www.sourcepole.ch Technical Advisor QGIS Project Steering
Committee _______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer
--
Dr. Marco Hugentobler
Sourcepole - Linux & Open Source Solutions
Churerstrasse 22, CH-8808 Pfäffikon SZ, Switzerland
[email protected] http://www.sourcepole.ch
Technical Advisor QGIS Project Steering Committee
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer