Review Request 121880: FocusedTreeView: use a timer to batch recomputations of column width

Milian Wolff mail at milianw.de
Sun Feb 1 17:53:22 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121880/#review75165
-----------------------------------------------------------

Ship it!


lgtm, if it still works :) go for it, and many thanks for taking care of this!

- Milian Wolff


On Jan. 30, 2015, 9:44 p.m., Nicolai Hähnle wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121880/
> -----------------------------------------------------------
> 
> (Updated Jan. 30, 2015, 9:44 p.m.)
> 
> 
> Review request for KDevelop.
> 
> 
> Repository: kdevplatform
> 
> 
> Description
> -------
> 
> We need to recompute the column width when a new row is inserted to ensure that
> the horizontal scrollbar behaves properly.
> 
> Under certain circumstances (in particular: running an extremely spammy process
> or filtering large outputs), rowInserted is called many times in quick succession,
> which leads to essentially quadratic runtime behavior, because some of the
> recomputation triggers a slow layout recomputation inside QTreeView. So we delay
> the recomputation until we get back to the event loop.
> 
> Also re-use this timer for the auto-scroll behavior in the standard output view
> (which is currently the only user of this class).
> 
> After this change, output views work more smoothly even on very large outputs.
> Unfortunately, there seems to still be some quadratic runtime behavior in Qt itself.
> 
> 
> Diffs
> -----
> 
>   util/focusedtreeview.cpp b58720313cc9c3ca08ae401c009425a30cdc326a 
>   plugins/standardoutputview/outputwidget.h 88415cfd4755d24d15c9598a283deca43b63b04c 
>   plugins/standardoutputview/outputwidget.cpp 5babb1977afe929531f6468678b4a78f9a203174 
>   util/focusedtreeview.h f813c2de6d8679c57c1477d8bc63c29e2139ba98 
> 
> Diff: https://git.reviewboard.kde.org/r/121880/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Nicolai Hähnle
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20150201/c4b0c464/attachment.html>


More information about the KDevelop-devel mailing list