[Sugar-devel] Treeviews performance patches - round 2

Gonzalo Odiard godiard at sugarlabs.org
Tue May 13 08:56:38 EDT 2014


Last week I was working in improve and finish implementation
of the reworking of treeview code to improve performance, I reported in [1]

The new work is here [2] [3]

I am not proposing this for inclusion in 0.102. Sadly is too late, and add
API.
We will test it in AU, and push when 0.104 is open for development.

Most of the changes are in the toolkit, and grouped in 3 type of changes:

* Small improvements in the rendering code in CellRendererIcon:
These patches don't break the API, and could be merged upstream.
https://github.com/godiard/sugar-toolkit-gtk3/commit/b63bceda265541543ffaf20de940ebe689199c43
https://github.com/godiard/sugar-toolkit-gtk3/commit/bbe38b20e27e1ebbe17984c7ca68df8e02b63cba
https://github.com/godiard/sugar-toolkit-gtk3/commit/142f614f60912d0444414b01248d39dc279bffcc

* Detect when the treeview is scrolling, and disconnect signals,
and simplify drawing code.
https://github.com/godiard/sugar-toolkit-gtk3/commit/c45818cb9eb4517e440a1ba078ea48112a15b6cb

* Implement a TreeViewInvoker, to replace the CellRendererInvoker.
The responsability of show the palettes is moved from the CellRenderer to
the Treeview,
as a consequence, the renderer code is much simpler, and we don't have the
7 cellrendeers attached to all the mouse and touch signals.
https://github.com/godiard/sugar-toolkit-gtk3/commit/5f5269d8db949cb536c75dcd707360b241f3ef08

These are the changes in Sugar to use the new api:
https://github.com/godiard/sugar/commit/24419d9156bfcb55213deb0f5977cd0847600f9a
https://github.com/godiard/sugar/commit/379da723f2fa75d39c9e2aa1cbf7ee6a9c4034fa

Testing and comments is welcomed.
-- 
Gonzalo Odiard

SugarLabs - Software for children learning

[1] http://lists.sugarlabs.org/archive/sugar-devel/2014-February/047236.html
[2]
https://github.com/godiard/sugar-toolkit-gtk3/commits/treeview_performance
[3] https://github.com/godiard/sugar/commits/treeview_performance
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20140513/e4728589/attachment.html>


More information about the Sugar-devel mailing list