You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi Radim, could you explain qhat the commit does? I remember we founded generalisation for identify highlight because it was extremely slow for big features and sometimes led to crash.. Could your commit reintroduce that?
Thanks for your lights
Régis
The highlight was originally using a rectangle, simple line or simple polygon ignoring feature symbology. The commit renders highlighted features using current renderer with additional highlight symbol layer over each original symbol layer so that the whole current appearance of the feature including all markers, patterns etc. is highlighted.
"Real shape" in comment was meant for symbology not for geometry. It is true however, that original geometry simplification in QgsHighlight::paintPolygon() is not used anymore. OTOH, rendering is done using standard renderer with all its tricks (cut by extent, simplification...) so I believe that it may not crash (because the same methods are used to render the layer itself). It may be slower (of course, rendering of true symbology may be slower if it is complex) but it should not become so slow to make it unusable because, as said, the same algorithm is used to render the whole layer.
Could you please test with your data and computer?
Thanks Radim, will test when osgeo4w builds gets it. I have some huge 400 000 vertices polygons full of rings and islands for that ( crazy dataset... )
Régis
Hi I tested today, and it works well and fast. Not sure if it is a problem, but I was amazed when I zoomed out.. identified object appears clipped to the old extent.. Not totally sure this is good from a user point of view the real object is not shown entirely. By myself, conscious of the performance gain, I do accept that behaviour. Maybe should we request user comments on this?
Strange I checked but could not replicate that. You zoomed in, selected a
feature and then zoomed out? That worked for me and drew correctly in both
cases. I thought the change simply adds a transient symbol layer to the
selection so it should redraw the whole feature as selected whenever the
layer is redrawn.
On Tue, Jan 14, 2014 at 11:21 AM, Régis Haubourg ***@***.***:
Hi I tested today, and it works well and fast. Not sure if it is a
problem, but I was amazed when I zoomed out.. identified object appears
clipped to the old extent.. Not totally sure this is good from a user point
of view the real object is not shown entirely. By myself, conscious of the
performance gain, I do accept that behaviour. Maybe should we request user
comments on this?
—
Reply to this email directly or view it on GitHubhttps://github.com/qgis/QGIS/commit/a18b4a35c60bb1d10e124dc73a9fb01592075b21#commitcomment-5060243
.
##
# Tim Sutton - QGIS Project Steering Committee Member
Visit http://linfiniti.com to find out about:
- QGIS programming services
- GeoDjango web development
- FOSS Consulting Services
Skype: timlinux Irc: timlinux on #qgis at freenode.net
==============================================
As @slarosa pointed out, new highlight covers features in other layer. It is because the feature is rendered with all its symbol layers + highlight layer above each. That covers all other features. The reason for rendering all original symbol layers is that otherwise the lower symbol layers become visible if the highlight is only transparent (lower transparent highlight layers are visible).
11 commit comments
haubourg commentedon Jan 13, 2014
Hi Radim, could you explain qhat the commit does? I remember we founded generalisation for identify highlight because it was extremely slow for big features and sometimes led to crash.. Could your commit reintroduce that?
Thanks for your lights
Régis
blazek commentedon Jan 13, 2014
The highlight was originally using a rectangle, simple line or simple polygon ignoring feature symbology. The commit renders highlighted features using current renderer with additional highlight symbol layer over each original symbol layer so that the whole current appearance of the feature including all markers, patterns etc. is highlighted.
"Real shape" in comment was meant for symbology not for geometry. It is true however, that original geometry simplification in QgsHighlight::paintPolygon() is not used anymore. OTOH, rendering is done using standard renderer with all its tricks (cut by extent, simplification...) so I believe that it may not crash (because the same methods are used to render the layer itself). It may be slower (of course, rendering of true symbology may be slower if it is complex) but it should not become so slow to make it unusable because, as said, the same algorithm is used to render the whole layer.
Could you please test with your data and computer?
timlinux commentedon Jan 13, 2014
For me the selection post Radim's patch is working very nice and quickly even for layers with quite complex polygons.
haubourg commentedon Jan 13, 2014
Thanks Radim, will test when osgeo4w builds gets it. I have some huge 400 000 vertices polygons full of rings and islands for that ( crazy dataset... )
Régis
haubourg commentedon Jan 14, 2014
Hi I tested today, and it works well and fast. Not sure if it is a problem, but I was amazed when I zoomed out.. identified object appears clipped to the old extent.. Not totally sure this is good from a user point of view the real object is not shown entirely. By myself, conscious of the performance gain, I do accept that behaviour. Maybe should we request user comments on this?
timlinux commentedon Jan 14, 2014
blazek commentedon Jan 14, 2014
Zoom out: I know about it. I'll fix that.
blazek commentedon Jan 16, 2014
I have fixed the clip on zoom out.
BTW, the highlight is painted 10 times when mouse enters or leaves map canvas, that may be additional source of possible slowness.
blazek commentedon Jan 27, 2014
As @slarosa pointed out, new highlight covers features in other layer. It is because the feature is rendered with all its symbol layers + highlight layer above each. That covers all other features. The reason for rendering all original symbol layers is that otherwise the lower symbol layers become visible if the highlight is only transparent (lower transparent highlight layers are visible).
I'll try to fix that using blending modes.
blazek commentedon Feb 9, 2014
It should be fixed in b05c93c.
slarosa commentedon Feb 10, 2014
thanks!