RESOLVED INVALID 74925
[EFL] Added selective rendering to tiled backing store
https://bugs.webkit.org/show_bug.cgi?id=74925
Summary [EFL] Added selective rendering to tiled backing store
Tomasz Morawski
Reported 2011-12-20 05:46:08 PST
The selective rendering allows to render and update tiles during scrolling without blocking of UI. This is especially useful on mobile devices comparing to the old implementation of tiled backing store where UI can be blocked for long time when there was a lot of tiles to update.
Attachments
Patch (17.93 KB, patch)
2011-12-20 05:48 PST, Tomasz Morawski
no flags
Updated. (17.92 KB, patch)
2011-12-20 06:27 PST, Tomasz Morawski
no flags
Updated. Changed API version (18.23 KB, patch)
2011-12-21 01:56 PST, Tomasz Morawski
no flags
Updated according to suggestions (18.24 KB, patch)
2011-12-22 00:57 PST, Tomasz Morawski
no flags
Tomasz Morawski
Comment 1 2011-12-20 05:48:45 PST
KwangHyuk
Comment 2 2011-12-20 06:05:55 PST
Need small fix. > Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp:1804 > + PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, EINA_FALSE); check EINA_FALSE. > Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp:1819 > + PRIV_DATA_GET_OR_RETURN(ewkBackingStore, priv, EINA_FALSE); Ditto.
KwangHyuk
Comment 3 2011-12-20 06:07:13 PST
> Source/WebKit/efl/ChangeLog:3 > + [EFL] Added selective rendering to tiled backing store Need to be end with ".".
Tomasz Morawski
Comment 4 2011-12-20 06:27:35 PST
Created attachment 120021 [details] Updated.
KwangHyuk
Comment 5 2011-12-20 06:45:58 PST
LGTM.
Raphael Kubo da Costa (:rakuco)
Comment 6 2011-12-20 07:43:07 PST
Comment on attachment 120021 [details] Updated. View in context: https://bugs.webkit.org/attachment.cgi?id=120021&action=review How does this relate to the rendering suspension code? > Source/WebKit/efl/ewk/ewk_view.h:186 > -#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} > +#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} Whenever you change the public structure, you need to bump EWK_VIEW_SMART_CLASS_VERSION.
KwangHyuk
Comment 7 2011-12-20 20:25:26 PST
(In reply to comment #6) > (From update of attachment 120021 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=120021&action=review > > How does this relate to the rendering suspension code? > > > Source/WebKit/efl/ewk/ewk_view.h:186 > > -#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} > > +#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} > > Whenever you change the public structure, you need to bump EWK_VIEW_SMART_CLASS_VERSION. Good point. :) Update of this field can be useful for preventing unexpected crash. Tomasz, would you update the version too ?
Tomasz Morawski
Comment 8 2011-12-21 01:56:18 PST
Created attachment 120161 [details] Updated. Changed API version
Tomasz Morawski
Comment 9 2011-12-21 02:10:21 PST
(In reply to comment #6) > (From update of attachment 120021 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=120021&action=review > > How does this relate to the rendering suspension code? Selective rendering partially neutralizes rendering suspension in some conditions and allows to render some tiles in diffrent way. But still enabled rendering suspension doesn't allow to call some code inside _ewk_tiled_backing_store_smart_calculate function (change matrix model).
KwangHyuk
Comment 10 2011-12-21 16:46:44 PST
LGTM.
Gyuyoung Kim
Comment 11 2011-12-21 18:48:58 PST
Comment on attachment 120161 [details] Updated. Changed API version View in context: https://bugs.webkit.org/attachment.cgi?id=120161&action=review > Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp:94 > + bool selective_rendering : 1; // Set if selective tile rendering should be used. This setting allows to create a new tiles when are needed. Do not use efl coding style for internal implementation.
Tomasz Morawski
Comment 12 2011-12-22 00:57:53 PST
Created attachment 120284 [details] Updated according to suggestions
KwangHyuk
Comment 13 2012-01-11 06:11:02 PST
> Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp:1586 > + // disable selective rendering if zooming You may check comment rule #2 on webkit coding style. > Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp:1641 > + // disable selective rendering if zooming Ditto. > Source/WebKit/efl/ewk/ewk_tiled_backing_store.cpp:1810 > + // update pending updates now Ditto. > Source/WebKit/efl/ewk/ewk_view.h:174 > +#define EWK_VIEW_SMART_CLASS_VERSION 4UL Need to rebase and update version again. :)
KwangHyuk
Comment 14 2012-01-26 20:40:36 PST
Tomasz, Would you update this patch ? GyuYoung and Ryuan, Would you share your additional idea for this patch after the update ? :)
KwangHyuk
Comment 15 2012-02-01 05:07:16 PST
(In reply to comment #14) > Tomasz, > Would you update this patch ? > > GyuYoung and Ryuan, > Would you share your additional idea for this patch after the update ? :) Any update ?
Note You need to log in before you can comment on or make changes to this bug.