WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WORKSFORME
45347
[EFL] Need to optimize Rendering
https://bugs.webkit.org/show_bug.cgi?id=45347
Summary
[EFL] Need to optimize Rendering
Ryuan Choi
Reported
2010-09-07 17:44:11 PDT
I tested how many rect was rendered. EFL: until finishing google.com in EWebLauncher [EFL] 6 will be drawn [EFL] 0 will be drawn [EFL] 11 will be drawn [EFL] 2 will be drawn [EFL] 4 will be drawn [EFL] 4 will be drawn [EFL] 4 will be drawn [EFL] 2 will be drawn [EFL] 5 will be drawn [EFL] 14 will be drawn GTK+: same condition [GTK+] 1 rect will be drawn [GTK+] 1 rect will be drawn [GTK+] 1 rect will be drawn [GTK+] 1 rect will be drawn [GTK+] 1 rect will be drawn [GTK+] 1 rect will be drawn [GTK+] 1 rect will be drawn Although count is good factor to measure render performance, I believe that EWK have point of improvement. I suggest below. 1. optimize code a) remove 0 case, b) move below code out of EINA_ITERATOR_FOREACH ewk_view_paint_context_translate(ctxt, -sx, -sy); 2. add shouldCoalesce like GTK+. 3. use cairo_region included in Cairo 1.10.0 with some logic. currently, EWK just add rectangle without considering region.
Attachments
Patch
(4.16 KB, patch)
2010-09-07 19:44 PDT
,
Ryuan Choi
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Ryuan Choi
Comment 1
2010-09-07 19:44:29 PDT
Created
attachment 66832
[details]
Patch
Ryuan Choi
Comment 2
2010-09-07 19:51:29 PDT
(In reply to
comment #1
)
> Created an attachment (id=66832) [details] > Patch
This patch is for 1 and 2 I suggested. I tested this in
http://www.naver.com
number is # of rectangles calling paint_contents. [without this patch] 6 should be rendered 0 should be rendered 10 should be rendered 0 should be rendered 9 should be rendered 0 should be rendered 4 should be rendered 0 should be rendered 7 should be rendered 0 should be rendered 20 should be rendered 124 should be rendered 0 should be rendered 128 should be rendered 5 should be rendered 16 should be rendered 10 should be rendered 0 should be rendered 29 should be rendered 53 should be rendered 0 should be rendered 6 should be rendered 3 should be rendered 17 should be rendered 1 should be rendered 1 should be rendered 8 should be rendered 4 should be rendered 11 should be rendered 1 should be rendered 1 should be rendered 1 should be rendered 1 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 1 should be rendered 1 should be rendered 26 should be rendered 0 should be rendered 1 should be rendered [with this patch] 6 should be rendered 10 should be rendered 7 should be rendered 1 should be rendered 2 should be rendered 6 should be rendered 18 should be rendered 24 should be rendered 1 should be rendered 36 should be rendered 16 should be rendered 1 should be rendered 10 should be rendered 1 should be rendered 1 should be rendered 27 should be rendered 4 should be rendered 3 should be rendered 10 should be rendered 4 should be rendered 4 should be rendered 2 should be rendered 1 should be rendered 4 should be rendered 1 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 11 should be rendered 1 should be rendered 1 should be rendered 1 should be rendered 1 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 2 should be rendered 3 should be rendered
Ryuan Choi
Comment 3
2010-09-07 19:52:51 PDT
(In reply to
comment #0
)
> I tested how many rect was rendered. > EFL: until finishing google.com in EWebLauncher > [EFL] 6 will be drawn > [EFL] 0 will be drawn > [EFL] 11 will be drawn > [EFL] 2 will be drawn > [EFL] 4 will be drawn > [EFL] 4 will be drawn > [EFL] 4 will be drawn > [EFL] 2 will be drawn > [EFL] 5 will be drawn > [EFL] 14 will be drawn > > GTK+: same condition > [GTK+] 1 rect will be drawn > [GTK+] 1 rect will be drawn > [GTK+] 1 rect will be drawn > [GTK+] 1 rect will be drawn > [GTK+] 1 rect will be drawn > [GTK+] 1 rect will be drawn > [GTK+] 1 rect will be drawn > > Although count is good factor to measure render performance,
Although count is not a good factor to measure render performance,
> I believe that EWK have point of improvement. > > I suggest below. > 1. optimize code > a) remove 0 case, > b) move below code out of EINA_ITERATOR_FOREACH > ewk_view_paint_context_translate(ctxt, -sx, -sy); > > 2. add shouldCoalesce like GTK+. > > 3. use cairo_region included in Cairo 1.10.0 with some logic. > currently, EWK just add rectangle without considering region.
Lucas De Marchi
Comment 4
2011-01-06 09:19:58 PST
We need better measurements for this.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug