Performance problem with owner-drawn trees on OS X

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Performance problem with owner-drawn trees on OS X

Thomas Singer
Hi all,

On OS X an owner-draw tree control gets 3 SWT.MeasureItem events before
the SWT.PaintItem event occurs (instead of just 1 as on Windows).
Because only in the 1st event the event.details are set correctly, our
caching mechanism does not work on OS X:

<https://bugs.eclipse.org/bugs/show_bug.cgi?id=510172>

The performance problem, of course, is that 3 SWT.MeasureItem events are
sent to a method that - according to
<https://github.com/aerofs/eclipse-platform-swt/blob/master/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet220.java>
- are performance relevant:

> Therefore it is critical for performance that these methods be as efficient as possible.

My work-around for the above bug is to call our measure method from the
SWT.PaintItem event again (a 4th time), because the cached values are
not correct on OS X.

This bug can cause the effect, that our applications (that make use of a
lot of owner-draw) feel sluggish on OS X.

--
Best regards,
Thomas Singer
=============
syntevo GmbH
http://www.syntevo.com
http://www.syntevo.com/blog
_______________________________________________
platform-swt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Performance problem with owner-drawn trees on OSX

Daniel Megert
Thanks Thomas for the bug report and the test case. I have targeted the bug for 4.7. If we have a fix early enough, we might also consider to backport to 4.6.3.

Dani



From:        Thomas Singer <[hidden email]>
To:        [hidden email]
Date:        10.01.2017 12:00
Subject:        [platform-swt-dev] Performance problem with owner-drawn trees on OS        X
Sent by:        [hidden email]




Hi all,

On OS X an owner-draw tree control gets 3 SWT.MeasureItem events before
the SWT.PaintItem event occurs (instead of just 1 as on Windows).
Because only in the 1st event the event.details are set correctly, our
caching mechanism does not work on OS X:

<
https://bugs.eclipse.org/bugs/show_bug.cgi?id=510172>

The performance problem, of course, is that 3 SWT.MeasureItem events are
sent to a method that - according to
<
https://github.com/aerofs/eclipse-platform-swt/blob/master/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet220.java>
- are performance relevant:

> Therefore it is critical for performance that these methods be as efficient as possible.

My work-around for the above bug is to call our measure method from the
SWT.PaintItem event again (a 4th time), because the cached values are
not correct on OS X.

This bug can cause the effect, that our applications (that make use of a
lot of owner-draw) feel sluggish on OS X.

--
Best regards,
Thomas Singer
=============
syntevo GmbH
http://www.syntevo.com
http://www.syntevo.com/blog
_______________________________________________
platform-swt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-swt-dev





_______________________________________________
platform-swt-dev mailing list
[hidden email]
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
Loading...