Details
Diff Detail
- Repository
- rEFL core/efl
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
src/lib/elementary/elm_widget_gengrid.h | ||
---|---|---|
157 | A variable without documentation? inconceivable! No, seriously, it helps a lot to understand the code. |
Docs are a bit better now :)
Since this is a speedup, is there any way to verify this? any performance test? or just some dragging around that was slow before and is smooth now?
@segfaultxavi you can find the reproduction case and the problem case can be found in the referenced task.
OK, thanks. I see there's a mild improvement in scrolling speed. It would be nice if this test output some numbers :)
I won't interfere with this review any longer!
The reasons the performance is still poor are:
- When the test starts, the whole set of items is realized, then unrealized, then realized again (but only those who are in the viewport)
- Every time the _elm_gengrid_pan_efl_canvas_group_group_calculate is executed, we walk a list of 5000 items, (which also happens multiple times when we scroll)
- The list walk in _elm_gengrid_pan_efl_canvas_group_group_calculate does execute a function which calculates and decides all the decisions that we need for placing a item. It looks like it never really cares about if this is even needed or not.
The problem before was that all the 5000K items have been in the focus manager. Now we are down to only those in the viewport.
sorry for late review.
on the purpose of removing unnecessary order setup, this looks valid patch.
I think still we can find more needless case that can be skipped,
but that is future work to do I think.