|
|
Created:
7 years ago by Philippe Modified:
7 years ago CC:
blink-reviews Base URL:
https://chromium.googlesource.com/chromium/blink.git@master Visibility:
Public. |
DescriptionRefine memory accounting in ImageDecodingStore for discardable entries.
Discardable entries used not to be taken into account while computing the
current cache memory usage.
On Android at least, clients should not use discardable memory as an unlimited
resource and should not rely on the kernel only for regular eviction without
having any limit. The kernel purges unpinned memory only in case of memory
pressure which means that the pages used by unpinned memory are still seen by
the rest of the kernel as dirty until very/(too?) late (when the ashmem
shrinker kicks in due to memory pressure after regular page frame reclamation
failed). Therefore unpinned pages can't be reclaimed as early as they should be
unfortunately.
We should not cause memory pressure ourselves in order to handle eviction
especially if we already have a limit machinery in place.
Ashmem used to have a soft limit of 128 regions but this is no longer the case
and ashmem allocations will now always succeed (see the corresponding bug).
This change emulates the previous behavior which was to only update the cache
memory usage for heap-allocated entries (i.e. when more than 128 ashmem regions
were being used).
BUG=299828
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=164285
Patch Set 1 : #Patch Set 2 : Add |m_discardableEntriesCount| #Patch Set 3 : Always update m_discardableEntriesCount with discardable entries #Patch Set 4 : Store accounting information in CacheEntry #
Messages
Total messages: 29 (0 generated)
You should check with qinmin@ on this change. He added that exception to excluding counting ashmem resources.
Who do you guys think I should add as an owner?
On 2013/12/09 19:26:36, Philippe wrote: > Who do you guys think I should add as an owner? LGTM. As discussed you probably want to raise the cache limit to something larger than 32MB.
On 2013/12/09 19:29:43, Alpha wrote: > On 2013/12/09 19:26:36, Philippe wrote: > > Who do you guys think I should add as an owner? > > LGTM. As discussed you probably want to raise the cache limit to something > larger than 32MB. Hi Min, I ran page_cyclers on Nexus 10 (which has a big screen) with the top_10 page set. I haven't seen any statistically significant change (in fact the average overall ends up being slightly faster with this change). I inlined the data below. I also ran the same page set on Chromium Linux with the extra --enable-deferred-image-decoding flag. Same conclusion. To be even more confident I did some manual scrolling testing on images.google.com (still on Nexus 10) with and without the change and did not observe extra jank. I also took a chrome trace and observed a similar amount of image decoding tasks. The perf bots will tell us of course if this turns out not to be the case. What do you think? Thanks, Philippe. $ tools/perf/run_measurement -v --browser=android-chromium-testshell page_cycler tools/perf/page_sets/top_10.json Without this CL: RESULT warm_times_by_url: Facebook= [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms Avg warm_times_by_url: 7229.222222ms Sd warm_times_by_url: 173.481827ms RESULT warm_times_by_url: Wikipedia (1 tab)= [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms Avg warm_times_by_url: 5135.777778ms Sd warm_times_by_url: 69.420418ms RESULT warm_times_by_url: http___www.amazon.com= [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms Avg warm_times_by_url: 1565.666667ms Sd warm_times_by_url: 37.556624ms RESULT warm_times_by_url: http___www.ask.com_= [760,819,899,812,844,824,839,891,746] ms Avg warm_times_by_url: 826.000000ms Sd warm_times_by_url: 51.298148ms RESULT warm_times_by_url: http___www.bing.com_= [271,261,254,290,287,233,248,258,260] ms Avg warm_times_by_url: 262.444444ms Sd warm_times_by_url: 18.063161ms RESULT warm_times_by_url: http___www.yahoo.com_= [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms Avg warm_times_by_url: 1627.555556ms Sd warm_times_by_url: 62.928752ms RESULT warm_times_by_url: http___www.youtube.com= [684,672,698,700,664,679,659,658,729] ms Avg warm_times_by_url: 682.555556ms Sd warm_times_by_url: 23.260004ms RESULT warm_times_by_url: https___mail.google.com_mail_= [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms Avg warm_times_by_url: 8859.777778ms Sd warm_times_by_url: 961.881071ms RESULT warm_times_by_url: https___www.google.com__hl_en_q_barack+obama= [856,843,846,775,767,781,845,818,743] ms Avg warm_times_by_url: 808.222222ms Sd warm_times_by_url: 42.079620ms RESULT warm_times_by_url: https___www.google.com_calendar_= [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms Avg warm_times_by_url: 1068.222222ms Sd warm_times_by_url: 13.055437ms *RESULT warm_times: page_load_time= [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, Avg warm_times: 2806.544444ms Sd warm_times: 2971.912512ms With this CL: RESULT warm_times_by_url: Facebook= [762,7524,7486,7405,7620,7477,7115,7569,7256] ms Avg warm_times_by_url: 6690.444444ms Sd warm_times_by_url: 2228.774053ms RESULT warm_times_by_url: Wikipedia (1 tab)= [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms Avg warm_times_by_url: 5172.444444ms Sd warm_times_by_url: 143.618515ms RESULT warm_times_by_url: http___www.amazon.com= [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms Avg warm_times_by_url: 1564.666667ms Sd warm_times_by_url: 59.720181ms RESULT warm_times_by_url: http___www.ask.com_= [863,853,804,857,792,861,834,813,872] ms Avg warm_times_by_url: 838.777778ms Sd warm_times_by_url: 29.162381ms RESULT warm_times_by_url: http___www.bing.com_= [255,275,247,243,282,228,235,262,307] ms Avg warm_times_by_url: 259.333333ms Sd warm_times_by_url: 25.124689ms RESULT warm_times_by_url: http___www.yahoo.com_= [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms Avg warm_times_by_url: 1666.333333ms Sd warm_times_by_url: 40.865633ms RESULT warm_times_by_url: http___www.youtube.com= [656,672,675,679,668,675,646,694,682] ms Avg warm_times_by_url: 671.888889ms Sd warm_times_by_url: 14.137224ms RESULT warm_times_by_url: https___mail.google.com_mail_= [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms Avg warm_times_by_url: 8665.666667ms Sd warm_times_by_url: 756.245000ms RESULT warm_times_by_url: https___www.google.com__hl_en_q_barack+obama= [788,820,814,814,874,836,806,798,800] ms Avg warm_times_by_url: 816.666667ms Sd warm_times_by_url: 25.612497ms RESULT warm_times_by_url: https___www.google.com_calendar_= [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms Avg warm_times_by_url: 1070.666667ms Sd warm_times_by_url: 21.731314ms *RESULT warm_times: page_load_time= [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 Avg warm_times: 2741.688889ms Sd warm_times: 2925.786481ms
This is the loading performance, not really the cache hit rate during scrolling/fling. I don't think the stats are really useful in evaluating the impact of your CL, we need a better benchmark. On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: > On 2013/12/09 19:29:43, Alpha wrote: >> >> On 2013/12/09 19:26:36, Philippe wrote: >> > Who do you guys think I should add as an owner? > > >> LGTM. As discussed you probably want to raise the cache limit to something >> larger than 32MB. > > > Hi Min, > > I ran page_cyclers on Nexus 10 (which has a big screen) with the top_10 page > set. I haven't seen any statistically significant change (in fact the > average > overall ends up being slightly faster with this change). I inlined the data > below. I also ran the same page set on Chromium Linux with the extra > --enable-deferred-image-decoding flag. Same conclusion. To be even more > confident I did some manual scrolling testing on images.google.com (still on > Nexus 10) with and without the change and did not observe extra jank. I also > took a chrome trace and observed a similar amount of image decoding tasks. > The > perf bots will tell us of course if this turns out not to be the case. > > What do you think? > > Thanks, > Philippe. > > > $ tools/perf/run_measurement -v --browser=android-chromium-testshell > page_cycler > tools/perf/page_sets/top_10.json > > Without this CL: > RESULT warm_times_by_url: Facebook= > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms > Avg warm_times_by_url: 7229.222222ms > Sd warm_times_by_url: 173.481827ms > RESULT warm_times_by_url: Wikipedia (1 tab)= > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms > Avg warm_times_by_url: 5135.777778ms > Sd warm_times_by_url: 69.420418ms > RESULT warm_times_by_url: http___www.amazon.com= > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms > Avg warm_times_by_url: 1565.666667ms > Sd warm_times_by_url: 37.556624ms > RESULT warm_times_by_url: http___www.ask.com_= > [760,819,899,812,844,824,839,891,746] ms > Avg warm_times_by_url: 826.000000ms > Sd warm_times_by_url: 51.298148ms > RESULT warm_times_by_url: http___www.bing.com_= > [271,261,254,290,287,233,248,258,260] ms > Avg warm_times_by_url: 262.444444ms > Sd warm_times_by_url: 18.063161ms > RESULT warm_times_by_url: http___www.yahoo.com_= > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms > Avg warm_times_by_url: 1627.555556ms > Sd warm_times_by_url: 62.928752ms > RESULT warm_times_by_url: http___www.youtube.com= > [684,672,698,700,664,679,659,658,729] ms > Avg warm_times_by_url: 682.555556ms > Sd warm_times_by_url: 23.260004ms > RESULT warm_times_by_url: https___mail.google.com_mail_= > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms > Avg warm_times_by_url: 8859.777778ms > Sd warm_times_by_url: 961.881071ms > RESULT warm_times_by_url: https___www.google.com__hl_en_q_barack+obama= > [856,843,846,775,767,781,845,818,743] ms > Avg warm_times_by_url: 808.222222ms > Sd warm_times_by_url: 42.079620ms > RESULT warm_times_by_url: https___www.google.com_calendar_= > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms > Avg warm_times_by_url: 1068.222222ms > Sd warm_times_by_url: 13.055437ms > *RESULT warm_times: page_load_time= > [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, > Avg warm_times: 2806.544444ms > Sd warm_times: 2971.912512ms > > > With this CL: > RESULT warm_times_by_url: Facebook= > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms > > > > Avg warm_times_by_url: 6690.444444ms > Sd warm_times_by_url: 2228.774053ms > RESULT warm_times_by_url: Wikipedia (1 tab)= > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms > Avg warm_times_by_url: 5172.444444ms > Sd warm_times_by_url: 143.618515ms > RESULT warm_times_by_url: http___www.amazon.com= > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms > Avg warm_times_by_url: 1564.666667ms > Sd warm_times_by_url: 59.720181ms > RESULT warm_times_by_url: http___www.ask.com_= > [863,853,804,857,792,861,834,813,872] ms > Avg warm_times_by_url: 838.777778ms > Sd warm_times_by_url: 29.162381ms > RESULT warm_times_by_url: http___www.bing.com_= > [255,275,247,243,282,228,235,262,307] ms > Avg warm_times_by_url: 259.333333ms > Sd warm_times_by_url: 25.124689ms > RESULT warm_times_by_url: http___www.yahoo.com_= > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms > Avg warm_times_by_url: 1666.333333ms > Sd warm_times_by_url: 40.865633ms > RESULT warm_times_by_url: http___www.youtube.com= > [656,672,675,679,668,675,646,694,682] ms > Avg warm_times_by_url: 671.888889ms > Sd warm_times_by_url: 14.137224ms > RESULT warm_times_by_url: https___mail.google.com_mail_= > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms > Avg warm_times_by_url: 8665.666667ms > Sd warm_times_by_url: 756.245000ms > RESULT warm_times_by_url: https___www.google.com__hl_en_q_barack+obama= > [788,820,814,814,874,836,806,798,800] ms > Avg warm_times_by_url: 816.666667ms > Sd warm_times_by_url: 25.612497ms > RESULT warm_times_by_url: https___www.google.com_calendar_= > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms > Avg warm_times_by_url: 1070.666667ms > Sd warm_times_by_url: 21.731314ms > *RESULT warm_times: page_load_time= > [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 > Avg warm_times: 2741.688889ms > Sd warm_times: 2925.786481ms > > https://chromiumcodereview.appspot.com/110273002/ To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
There is an image_decoding_benchmark, can you use that? 2013/12/11 Min Qin <qinmin@chromium.org> > This is the loading performance, not really the cache hit rate during > scrolling/fling. I don't think the stats are really useful in > evaluating the impact of your CL, we need a better benchmark. > > On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: > > On 2013/12/09 19:29:43, Alpha wrote: > >> > >> On 2013/12/09 19:26:36, Philippe wrote: > >> > Who do you guys think I should add as an owner? > > > > > >> LGTM. As discussed you probably want to raise the cache limit to > something > >> larger than 32MB. > > > > > > Hi Min, > > > > I ran page_cyclers on Nexus 10 (which has a big screen) with the top_10 > page > > set. I haven't seen any statistically significant change (in fact the > > average > > overall ends up being slightly faster with this change). I inlined the > data > > below. I also ran the same page set on Chromium Linux with the extra > > --enable-deferred-image-decoding flag. Same conclusion. To be even more > > confident I did some manual scrolling testing on images.google.com(still on > > Nexus 10) with and without the change and did not observe extra jank. I > also > > took a chrome trace and observed a similar amount of image decoding > tasks. > > The > > perf bots will tell us of course if this turns out not to be the case. > > > > What do you think? > > > > Thanks, > > Philippe. > > > > > > $ tools/perf/run_measurement -v --browser=android-chromium-testshell > > page_cycler > > tools/perf/page_sets/top_10.json > > > > Without this CL: > > RESULT warm_times_by_url: Facebook= > > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms > > Avg warm_times_by_url: 7229.222222ms > > Sd warm_times_by_url: 173.481827ms > > RESULT warm_times_by_url: Wikipedia (1 tab)= > > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms > > Avg warm_times_by_url: 5135.777778ms > > Sd warm_times_by_url: 69.420418ms > > RESULT warm_times_by_url: http___www.amazon.com= > > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms > > Avg warm_times_by_url: 1565.666667ms > > Sd warm_times_by_url: 37.556624ms > > RESULT warm_times_by_url: http___www.ask.com_= > > [760,819,899,812,844,824,839,891,746] ms > > Avg warm_times_by_url: 826.000000ms > > Sd warm_times_by_url: 51.298148ms > > RESULT warm_times_by_url: http___www.bing.com_= > > [271,261,254,290,287,233,248,258,260] ms > > Avg warm_times_by_url: 262.444444ms > > Sd warm_times_by_url: 18.063161ms > > RESULT warm_times_by_url: http___www.yahoo.com_= > > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms > > Avg warm_times_by_url: 1627.555556ms > > Sd warm_times_by_url: 62.928752ms > > RESULT warm_times_by_url: http___www.youtube.com= > > [684,672,698,700,664,679,659,658,729] ms > > Avg warm_times_by_url: 682.555556ms > > Sd warm_times_by_url: 23.260004ms > > RESULT warm_times_by_url: https___mail.google.com_mail_= > > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms > > Avg warm_times_by_url: 8859.777778ms > > Sd warm_times_by_url: 961.881071ms > > RESULT warm_times_by_url: https___www.google.com__hl_en_q_barack+obama= > > [856,843,846,775,767,781,845,818,743] ms > > Avg warm_times_by_url: 808.222222ms > > Sd warm_times_by_url: 42.079620ms > > RESULT warm_times_by_url: https___www.google.com_calendar_= > > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms > > Avg warm_times_by_url: 1068.222222ms > > Sd warm_times_by_url: 13.055437ms > > *RESULT warm_times: page_load_time= > > > [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, > > Avg warm_times: 2806.544444ms > > Sd warm_times: 2971.912512ms > > > > > > With this CL: > > RESULT warm_times_by_url: Facebook= > > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms > > > > > > > > Avg warm_times_by_url: 6690.444444ms > > Sd warm_times_by_url: 2228.774053ms > > RESULT warm_times_by_url: Wikipedia (1 tab)= > > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms > > Avg warm_times_by_url: 5172.444444ms > > Sd warm_times_by_url: 143.618515ms > > RESULT warm_times_by_url: http___www.amazon.com= > > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms > > Avg warm_times_by_url: 1564.666667ms > > Sd warm_times_by_url: 59.720181ms > > RESULT warm_times_by_url: http___www.ask.com_= > > [863,853,804,857,792,861,834,813,872] ms > > Avg warm_times_by_url: 838.777778ms > > Sd warm_times_by_url: 29.162381ms > > RESULT warm_times_by_url: http___www.bing.com_= > > [255,275,247,243,282,228,235,262,307] ms > > Avg warm_times_by_url: 259.333333ms > > Sd warm_times_by_url: 25.124689ms > > RESULT warm_times_by_url: http___www.yahoo.com_= > > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms > > Avg warm_times_by_url: 1666.333333ms > > Sd warm_times_by_url: 40.865633ms > > RESULT warm_times_by_url: http___www.youtube.com= > > [656,672,675,679,668,675,646,694,682] ms > > Avg warm_times_by_url: 671.888889ms > > Sd warm_times_by_url: 14.137224ms > > RESULT warm_times_by_url: https___mail.google.com_mail_= > > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms > > Avg warm_times_by_url: 8665.666667ms > > Sd warm_times_by_url: 756.245000ms > > RESULT warm_times_by_url: https___www.google.com__hl_en_q_barack+obama= > > [788,820,814,814,874,836,806,798,800] ms > > Avg warm_times_by_url: 816.666667ms > > Sd warm_times_by_url: 25.612497ms > > RESULT warm_times_by_url: https___www.google.com_calendar_= > > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms > > Avg warm_times_by_url: 1070.666667ms > > Sd warm_times_by_url: 21.731314ms > > *RESULT warm_times: page_load_time= > > > [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 > > Avg warm_times: 2741.688889ms > > Sd warm_times: 2925.786481ms > > > > https://chromiumcodereview.appspot.com/110273002/ > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
that's a benchmark for decoding png/gif/webp/jpeg files, so it only evaluates the performance of libjpeg/libpng/libwebp etc. On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> wrote: > There is an image_decoding_benchmark, can you use that? > > > 2013/12/11 Min Qin <qinmin@chromium.org> >> >> This is the loading performance, not really the cache hit rate during >> scrolling/fling. I don't think the stats are really useful in >> evaluating the impact of your CL, we need a better benchmark. >> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: >> > On 2013/12/09 19:29:43, Alpha wrote: >> >> >> >> On 2013/12/09 19:26:36, Philippe wrote: >> >> > Who do you guys think I should add as an owner? >> > >> > >> >> LGTM. As discussed you probably want to raise the cache limit to >> >> something >> >> larger than 32MB. >> > >> > >> > Hi Min, >> > >> > I ran page_cyclers on Nexus 10 (which has a big screen) with the top_10 >> > page >> > set. I haven't seen any statistically significant change (in fact the >> > average >> > overall ends up being slightly faster with this change). I inlined the >> > data >> > below. I also ran the same page set on Chromium Linux with the extra >> > --enable-deferred-image-decoding flag. Same conclusion. To be even more >> > confident I did some manual scrolling testing on images.google.com >> > (still on >> > Nexus 10) with and without the change and did not observe extra jank. I >> > also >> > took a chrome trace and observed a similar amount of image decoding >> > tasks. >> > The >> > perf bots will tell us of course if this turns out not to be the case. >> > >> > What do you think? >> > >> > Thanks, >> > Philippe. >> > >> > >> > $ tools/perf/run_measurement -v --browser=android-chromium-testshell >> > page_cycler >> > tools/perf/page_sets/top_10.json >> > >> > Without this CL: >> > RESULT warm_times_by_url: Facebook= >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >> > Avg warm_times_by_url: 7229.222222ms >> > Sd warm_times_by_url: 173.481827ms >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >> > Avg warm_times_by_url: 5135.777778ms >> > Sd warm_times_by_url: 69.420418ms >> > RESULT warm_times_by_url: http___www.amazon.com= >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >> > Avg warm_times_by_url: 1565.666667ms >> > Sd warm_times_by_url: 37.556624ms >> > RESULT warm_times_by_url: http___www.ask.com_= >> > [760,819,899,812,844,824,839,891,746] ms >> > Avg warm_times_by_url: 826.000000ms >> > Sd warm_times_by_url: 51.298148ms >> > RESULT warm_times_by_url: http___www.bing.com_= >> > [271,261,254,290,287,233,248,258,260] ms >> > Avg warm_times_by_url: 262.444444ms >> > Sd warm_times_by_url: 18.063161ms >> > RESULT warm_times_by_url: http___www.yahoo.com_= >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >> > Avg warm_times_by_url: 1627.555556ms >> > Sd warm_times_by_url: 62.928752ms >> > RESULT warm_times_by_url: http___www.youtube.com= >> > [684,672,698,700,664,679,659,658,729] ms >> > Avg warm_times_by_url: 682.555556ms >> > Sd warm_times_by_url: 23.260004ms >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >> > Avg warm_times_by_url: 8859.777778ms >> > Sd warm_times_by_url: 961.881071ms >> > RESULT warm_times_by_url: https___www.google.com__hl_en_q_barack+obama= >> > [856,843,846,775,767,781,845,818,743] ms >> > Avg warm_times_by_url: 808.222222ms >> > Sd warm_times_by_url: 42.079620ms >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >> > Avg warm_times_by_url: 1068.222222ms >> > Sd warm_times_by_url: 13.055437ms >> > *RESULT warm_times: page_load_time= >> > >> > [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >> > Avg warm_times: 2806.544444ms >> > Sd warm_times: 2971.912512ms >> > >> > >> > With this CL: >> > RESULT warm_times_by_url: Facebook= >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >> > >> > >> > >> > Avg warm_times_by_url: 6690.444444ms >> > Sd warm_times_by_url: 2228.774053ms >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >> > Avg warm_times_by_url: 5172.444444ms >> > Sd warm_times_by_url: 143.618515ms >> > RESULT warm_times_by_url: http___www.amazon.com= >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >> > Avg warm_times_by_url: 1564.666667ms >> > Sd warm_times_by_url: 59.720181ms >> > RESULT warm_times_by_url: http___www.ask.com_= >> > [863,853,804,857,792,861,834,813,872] ms >> > Avg warm_times_by_url: 838.777778ms >> > Sd warm_times_by_url: 29.162381ms >> > RESULT warm_times_by_url: http___www.bing.com_= >> > [255,275,247,243,282,228,235,262,307] ms >> > Avg warm_times_by_url: 259.333333ms >> > Sd warm_times_by_url: 25.124689ms >> > RESULT warm_times_by_url: http___www.yahoo.com_= >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >> > Avg warm_times_by_url: 1666.333333ms >> > Sd warm_times_by_url: 40.865633ms >> > RESULT warm_times_by_url: http___www.youtube.com= >> > [656,672,675,679,668,675,646,694,682] ms >> > Avg warm_times_by_url: 671.888889ms >> > Sd warm_times_by_url: 14.137224ms >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >> > Avg warm_times_by_url: 8665.666667ms >> > Sd warm_times_by_url: 756.245000ms >> > RESULT warm_times_by_url: https___www.google.com__hl_en_q_barack+obama= >> > [788,820,814,814,874,836,806,798,800] ms >> > Avg warm_times_by_url: 816.666667ms >> > Sd warm_times_by_url: 25.612497ms >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >> > Avg warm_times_by_url: 1070.666667ms >> > Sd warm_times_by_url: 21.731314ms >> > *RESULT warm_times: page_load_time= >> > >> > [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >> > Avg warm_times: 2741.688889ms >> > Sd warm_times: 2925.786481ms >> > >> > https://chromiumcodereview.appspot.com/110273002/ > > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
Can I use a smoothness benchmark then? It should do some scrolling, right? On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> wrote: > that's a benchmark for decoding png/gif/webp/jpeg files, so it only > evaluates the performance of libjpeg/libpng/libwebp etc. > > On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> wrote: > > There is an image_decoding_benchmark, can you use that? > > > > > > 2013/12/11 Min Qin <qinmin@chromium.org> > >> > >> This is the loading performance, not really the cache hit rate during > >> scrolling/fling. I don't think the stats are really useful in > >> evaluating the impact of your CL, we need a better benchmark. > >> > >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: > >> > On 2013/12/09 19:29:43, Alpha wrote: > >> >> > >> >> On 2013/12/09 19:26:36, Philippe wrote: > >> >> > Who do you guys think I should add as an owner? > >> > > >> > > >> >> LGTM. As discussed you probably want to raise the cache limit to > >> >> something > >> >> larger than 32MB. > >> > > >> > > >> > Hi Min, > >> > > >> > I ran page_cyclers on Nexus 10 (which has a big screen) with the > top_10 > >> > page > >> > set. I haven't seen any statistically significant change (in fact the > >> > average > >> > overall ends up being slightly faster with this change). I inlined the > >> > data > >> > below. I also ran the same page set on Chromium Linux with the extra > >> > --enable-deferred-image-decoding flag. Same conclusion. To be even > more > >> > confident I did some manual scrolling testing on images.google.com > >> > (still on > >> > Nexus 10) with and without the change and did not observe extra jank. > I > >> > also > >> > took a chrome trace and observed a similar amount of image decoding > >> > tasks. > >> > The > >> > perf bots will tell us of course if this turns out not to be the case. > >> > > >> > What do you think? > >> > > >> > Thanks, > >> > Philippe. > >> > > >> > > >> > $ tools/perf/run_measurement -v --browser=android-chromium-testshell > >> > page_cycler > >> > tools/perf/page_sets/top_10.json > >> > > >> > Without this CL: > >> > RESULT warm_times_by_url: Facebook= > >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms > >> > Avg warm_times_by_url: 7229.222222ms > >> > Sd warm_times_by_url: 173.481827ms > >> > RESULT warm_times_by_url: Wikipedia (1 tab)= > >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms > >> > Avg warm_times_by_url: 5135.777778ms > >> > Sd warm_times_by_url: 69.420418ms > >> > RESULT warm_times_by_url: http___www.amazon.com= > >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms > >> > Avg warm_times_by_url: 1565.666667ms > >> > Sd warm_times_by_url: 37.556624ms > >> > RESULT warm_times_by_url: http___www.ask.com_= > >> > [760,819,899,812,844,824,839,891,746] ms > >> > Avg warm_times_by_url: 826.000000ms > >> > Sd warm_times_by_url: 51.298148ms > >> > RESULT warm_times_by_url: http___www.bing.com_= > >> > [271,261,254,290,287,233,248,258,260] ms > >> > Avg warm_times_by_url: 262.444444ms > >> > Sd warm_times_by_url: 18.063161ms > >> > RESULT warm_times_by_url: http___www.yahoo.com_= > >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms > >> > Avg warm_times_by_url: 1627.555556ms > >> > Sd warm_times_by_url: 62.928752ms > >> > RESULT warm_times_by_url: http___www.youtube.com= > >> > [684,672,698,700,664,679,659,658,729] ms > >> > Avg warm_times_by_url: 682.555556ms > >> > Sd warm_times_by_url: 23.260004ms > >> > RESULT warm_times_by_url: https___mail.google.com_mail_= > >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms > >> > Avg warm_times_by_url: 8859.777778ms > >> > Sd warm_times_by_url: 961.881071ms > >> > RESULT warm_times_by_url: > https___www.google.com__hl_en_q_barack+obama= > >> > [856,843,846,775,767,781,845,818,743] ms > >> > Avg warm_times_by_url: 808.222222ms > >> > Sd warm_times_by_url: 42.079620ms > >> > RESULT warm_times_by_url: https___www.google.com_calendar_= > >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms > >> > Avg warm_times_by_url: 1068.222222ms > >> > Sd warm_times_by_url: 13.055437ms > >> > *RESULT warm_times: page_load_time= > >> > > >> > > [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, > >> > Avg warm_times: 2806.544444ms > >> > Sd warm_times: 2971.912512ms > >> > > >> > > >> > With this CL: > >> > RESULT warm_times_by_url: Facebook= > >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms > >> > > >> > > >> > > >> > Avg warm_times_by_url: 6690.444444ms > >> > Sd warm_times_by_url: 2228.774053ms > >> > RESULT warm_times_by_url: Wikipedia (1 tab)= > >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms > >> > Avg warm_times_by_url: 5172.444444ms > >> > Sd warm_times_by_url: 143.618515ms > >> > RESULT warm_times_by_url: http___www.amazon.com= > >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms > >> > Avg warm_times_by_url: 1564.666667ms > >> > Sd warm_times_by_url: 59.720181ms > >> > RESULT warm_times_by_url: http___www.ask.com_= > >> > [863,853,804,857,792,861,834,813,872] ms > >> > Avg warm_times_by_url: 838.777778ms > >> > Sd warm_times_by_url: 29.162381ms > >> > RESULT warm_times_by_url: http___www.bing.com_= > >> > [255,275,247,243,282,228,235,262,307] ms > >> > Avg warm_times_by_url: 259.333333ms > >> > Sd warm_times_by_url: 25.124689ms > >> > RESULT warm_times_by_url: http___www.yahoo.com_= > >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms > >> > Avg warm_times_by_url: 1666.333333ms > >> > Sd warm_times_by_url: 40.865633ms > >> > RESULT warm_times_by_url: http___www.youtube.com= > >> > [656,672,675,679,668,675,646,694,682] ms > >> > Avg warm_times_by_url: 671.888889ms > >> > Sd warm_times_by_url: 14.137224ms > >> > RESULT warm_times_by_url: https___mail.google.com_mail_= > >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms > >> > Avg warm_times_by_url: 8665.666667ms > >> > Sd warm_times_by_url: 756.245000ms > >> > RESULT warm_times_by_url: > https___www.google.com__hl_en_q_barack+obama= > >> > [788,820,814,814,874,836,806,798,800] ms > >> > Avg warm_times_by_url: 816.666667ms > >> > Sd warm_times_by_url: 25.612497ms > >> > RESULT warm_times_by_url: https___www.google.com_calendar_= > >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms > >> > Avg warm_times_by_url: 1070.666667ms > >> > Sd warm_times_by_url: 21.731314ms > >> > *RESULT warm_times: page_load_time= > >> > > >> > > [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 > >> > Avg warm_times: 2741.688889ms > >> > Sd warm_times: 2925.786481ms > >> > > >> > https://chromiumcodereview.appspot.com/110273002/ > > > > > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
I ran the smoothness benchmarks on the top_10 page set (nexus 10) by doing: $ tools/perf/run_measurement -v --browser=android-chromium-testshell smoothness tools/perf/page_sets/top_10.json The data doesn't always always look very stable so I ran it twice and retained the worst case with and without this patch. This is still not ideal but we can hardly get more stable/meaningful data with such high level benchmarks on so flaky devices (e.g. thermal throttling). Without the patch: jank_count_by_url: Facebook= 5 janks jank_count_by_url: Wikipedia (1 tab)= 1 janks jank_count_by_url: http___www.amazon.com= 5 janks jank_count_by_url: http___www.ask.com= 2 janks jank_count_by_url: http___www.yahoo.com= 9 janks jank_count_by_url: http___www.youtube.com= 1 janks jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 5 janks With the patch: jank_count_by_url: Facebook= 3 janks jank_count_by_url: Wikipedia (1 tab)= 2 janks jank_count_by_url: http___www.amazon.com= 7 janks jank_count_by_url: http___www.ask.com= 2 janks jank_count_by_url: http___www.yahoo.com= 10 janks jank_count_by_url: http___www.youtube.com= 1 janks jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 3 janks Surprisingly both of them end up with the same total amount of janks: 28. In my opinion results should be weighted according to the amount of user on each site. In this case the measurements with the patch would win :) But anyway since this is quite noisy I don't think there is any statistically significant difference between both. Again, I would be happy to revert/investigate more if the bots/GASP tell us otherwise :) At this point I don't see any strong reason not to move forward and save dozens of megabytes of RAM. What do you think? Thanks, Philippe. On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard <pliard@chromium.org> wrote: > Can I use a smoothness benchmark then? It should do some scrolling, right? > > > On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> wrote: > >> that's a benchmark for decoding png/gif/webp/jpeg files, so it only >> evaluates the performance of libjpeg/libpng/libwebp etc. >> >> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> wrote: >> > There is an image_decoding_benchmark, can you use that? >> > >> > >> > 2013/12/11 Min Qin <qinmin@chromium.org> >> >> >> >> This is the loading performance, not really the cache hit rate during >> >> scrolling/fling. I don't think the stats are really useful in >> >> evaluating the impact of your CL, we need a better benchmark. >> >> >> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: >> >> > On 2013/12/09 19:29:43, Alpha wrote: >> >> >> >> >> >> On 2013/12/09 19:26:36, Philippe wrote: >> >> >> > Who do you guys think I should add as an owner? >> >> > >> >> > >> >> >> LGTM. As discussed you probably want to raise the cache limit to >> >> >> something >> >> >> larger than 32MB. >> >> > >> >> > >> >> > Hi Min, >> >> > >> >> > I ran page_cyclers on Nexus 10 (which has a big screen) with the >> top_10 >> >> > page >> >> > set. I haven't seen any statistically significant change (in fact the >> >> > average >> >> > overall ends up being slightly faster with this change). I inlined >> the >> >> > data >> >> > below. I also ran the same page set on Chromium Linux with the extra >> >> > --enable-deferred-image-decoding flag. Same conclusion. To be even >> more >> >> > confident I did some manual scrolling testing on images.google.com >> >> > (still on >> >> > Nexus 10) with and without the change and did not observe extra >> jank. I >> >> > also >> >> > took a chrome trace and observed a similar amount of image decoding >> >> > tasks. >> >> > The >> >> > perf bots will tell us of course if this turns out not to be the >> case. >> >> > >> >> > What do you think? >> >> > >> >> > Thanks, >> >> > Philippe. >> >> > >> >> > >> >> > $ tools/perf/run_measurement -v --browser=android-chromium-testshell >> >> > page_cycler >> >> > tools/perf/page_sets/top_10.json >> >> > >> >> > Without this CL: >> >> > RESULT warm_times_by_url: Facebook= >> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >> >> > Avg warm_times_by_url: 7229.222222ms >> >> > Sd warm_times_by_url: 173.481827ms >> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >> >> > Avg warm_times_by_url: 5135.777778ms >> >> > Sd warm_times_by_url: 69.420418ms >> >> > RESULT warm_times_by_url: http___www.amazon.com= >> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >> >> > Avg warm_times_by_url: 1565.666667ms >> >> > Sd warm_times_by_url: 37.556624ms >> >> > RESULT warm_times_by_url: http___www.ask.com_= >> >> > [760,819,899,812,844,824,839,891,746] ms >> >> > Avg warm_times_by_url: 826.000000ms >> >> > Sd warm_times_by_url: 51.298148ms >> >> > RESULT warm_times_by_url: http___www.bing.com_= >> >> > [271,261,254,290,287,233,248,258,260] ms >> >> > Avg warm_times_by_url: 262.444444ms >> >> > Sd warm_times_by_url: 18.063161ms >> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >> >> > Avg warm_times_by_url: 1627.555556ms >> >> > Sd warm_times_by_url: 62.928752ms >> >> > RESULT warm_times_by_url: http___www.youtube.com= >> >> > [684,672,698,700,664,679,659,658,729] ms >> >> > Avg warm_times_by_url: 682.555556ms >> >> > Sd warm_times_by_url: 23.260004ms >> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >> >> > Avg warm_times_by_url: 8859.777778ms >> >> > Sd warm_times_by_url: 961.881071ms >> >> > RESULT warm_times_by_url: >> https___www.google.com__hl_en_q_barack+obama= >> >> > [856,843,846,775,767,781,845,818,743] ms >> >> > Avg warm_times_by_url: 808.222222ms >> >> > Sd warm_times_by_url: 42.079620ms >> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >> >> > Avg warm_times_by_url: 1068.222222ms >> >> > Sd warm_times_by_url: 13.055437ms >> >> > *RESULT warm_times: page_load_time= >> >> > >> >> > >> [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >> >> > Avg warm_times: 2806.544444ms >> >> > Sd warm_times: 2971.912512ms >> >> > >> >> > >> >> > With this CL: >> >> > RESULT warm_times_by_url: Facebook= >> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >> >> > >> >> > >> >> > >> >> > Avg warm_times_by_url: 6690.444444ms >> >> > Sd warm_times_by_url: 2228.774053ms >> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >> >> > Avg warm_times_by_url: 5172.444444ms >> >> > Sd warm_times_by_url: 143.618515ms >> >> > RESULT warm_times_by_url: http___www.amazon.com= >> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >> >> > Avg warm_times_by_url: 1564.666667ms >> >> > Sd warm_times_by_url: 59.720181ms >> >> > RESULT warm_times_by_url: http___www.ask.com_= >> >> > [863,853,804,857,792,861,834,813,872] ms >> >> > Avg warm_times_by_url: 838.777778ms >> >> > Sd warm_times_by_url: 29.162381ms >> >> > RESULT warm_times_by_url: http___www.bing.com_= >> >> > [255,275,247,243,282,228,235,262,307] ms >> >> > Avg warm_times_by_url: 259.333333ms >> >> > Sd warm_times_by_url: 25.124689ms >> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >> >> > Avg warm_times_by_url: 1666.333333ms >> >> > Sd warm_times_by_url: 40.865633ms >> >> > RESULT warm_times_by_url: http___www.youtube.com= >> >> > [656,672,675,679,668,675,646,694,682] ms >> >> > Avg warm_times_by_url: 671.888889ms >> >> > Sd warm_times_by_url: 14.137224ms >> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >> >> > Avg warm_times_by_url: 8665.666667ms >> >> > Sd warm_times_by_url: 756.245000ms >> >> > RESULT warm_times_by_url: >> https___www.google.com__hl_en_q_barack+obama= >> >> > [788,820,814,814,874,836,806,798,800] ms >> >> > Avg warm_times_by_url: 816.666667ms >> >> > Sd warm_times_by_url: 25.612497ms >> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >> >> > Avg warm_times_by_url: 1070.666667ms >> >> > Sd warm_times_by_url: 21.731314ms >> >> > *RESULT warm_times: page_load_time= >> >> > >> >> > >> [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >> >> > Avg warm_times: 2741.688889ms >> >> > Sd warm_times: 2925.786481ms >> >> > >> >> > https://chromiumcodereview.appspot.com/110273002/ >> > >> > >> > > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
with impl side painting and image decoding on the raster thread, does jankiness still caused by image decoding? I am doubtful about this. On Thu, Dec 12, 2013 at 2:36 AM, Philippe Liard <pliard@chromium.org> wrote: > I ran the smoothness benchmarks on the top_10 page set (nexus 10) by doing: > $ tools/perf/run_measurement -v --browser=android-chromium-testshell > smoothness tools/perf/page_sets/top_10.json > > The data doesn't always always look very stable so I ran it twice and > retained the worst case with and without this patch. This is still not ideal > but we can hardly get more stable/meaningful data with such high level > benchmarks on so flaky devices (e.g. thermal throttling). > > Without the patch: > jank_count_by_url: Facebook= 5 janks > jank_count_by_url: Wikipedia (1 tab)= 1 janks > jank_count_by_url: http___www.amazon.com= 5 janks > jank_count_by_url: http___www.ask.com= 2 janks > jank_count_by_url: http___www.yahoo.com= 9 janks > jank_count_by_url: http___www.youtube.com= 1 janks > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 5 janks > > With the patch: > jank_count_by_url: Facebook= 3 janks > jank_count_by_url: Wikipedia (1 tab)= 2 janks > jank_count_by_url: http___www.amazon.com= 7 janks > jank_count_by_url: http___www.ask.com= 2 janks > jank_count_by_url: http___www.yahoo.com= 10 janks > jank_count_by_url: http___www.youtube.com= 1 janks > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 3 janks > > Surprisingly both of them end up with the same total amount of janks: 28. In > my opinion results should be weighted according to the amount of user on > each site. In this case the measurements with the patch would win :) But > anyway since this is quite noisy I don't think there is any statistically > significant difference between both. Again, I would be happy to > revert/investigate more if the bots/GASP tell us otherwise :) At this point > I don't see any strong reason not to move forward and save dozens of > megabytes of RAM. > > What do you think? > > Thanks, > Philippe. > > > On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard <pliard@chromium.org> wrote: >> >> Can I use a smoothness benchmark then? It should do some scrolling, right? >> >> >> On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> wrote: >>> >>> that's a benchmark for decoding png/gif/webp/jpeg files, so it only >>> evaluates the performance of libjpeg/libpng/libwebp etc. >>> >>> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> wrote: >>> > There is an image_decoding_benchmark, can you use that? >>> > >>> > >>> > 2013/12/11 Min Qin <qinmin@chromium.org> >>> >> >>> >> This is the loading performance, not really the cache hit rate during >>> >> scrolling/fling. I don't think the stats are really useful in >>> >> evaluating the impact of your CL, we need a better benchmark. >>> >> >>> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: >>> >> > On 2013/12/09 19:29:43, Alpha wrote: >>> >> >> >>> >> >> On 2013/12/09 19:26:36, Philippe wrote: >>> >> >> > Who do you guys think I should add as an owner? >>> >> > >>> >> > >>> >> >> LGTM. As discussed you probably want to raise the cache limit to >>> >> >> something >>> >> >> larger than 32MB. >>> >> > >>> >> > >>> >> > Hi Min, >>> >> > >>> >> > I ran page_cyclers on Nexus 10 (which has a big screen) with the >>> >> > top_10 >>> >> > page >>> >> > set. I haven't seen any statistically significant change (in fact >>> >> > the >>> >> > average >>> >> > overall ends up being slightly faster with this change). I inlined >>> >> > the >>> >> > data >>> >> > below. I also ran the same page set on Chromium Linux with the extra >>> >> > --enable-deferred-image-decoding flag. Same conclusion. To be even >>> >> > more >>> >> > confident I did some manual scrolling testing on images.google.com >>> >> > (still on >>> >> > Nexus 10) with and without the change and did not observe extra >>> >> > jank. I >>> >> > also >>> >> > took a chrome trace and observed a similar amount of image decoding >>> >> > tasks. >>> >> > The >>> >> > perf bots will tell us of course if this turns out not to be the >>> >> > case. >>> >> > >>> >> > What do you think? >>> >> > >>> >> > Thanks, >>> >> > Philippe. >>> >> > >>> >> > >>> >> > $ tools/perf/run_measurement -v --browser=android-chromium-testshell >>> >> > page_cycler >>> >> > tools/perf/page_sets/top_10.json >>> >> > >>> >> > Without this CL: >>> >> > RESULT warm_times_by_url: Facebook= >>> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >>> >> > Avg warm_times_by_url: 7229.222222ms >>> >> > Sd warm_times_by_url: 173.481827ms >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >>> >> > Avg warm_times_by_url: 5135.777778ms >>> >> > Sd warm_times_by_url: 69.420418ms >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >>> >> > Avg warm_times_by_url: 1565.666667ms >>> >> > Sd warm_times_by_url: 37.556624ms >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>> >> > [760,819,899,812,844,824,839,891,746] ms >>> >> > Avg warm_times_by_url: 826.000000ms >>> >> > Sd warm_times_by_url: 51.298148ms >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>> >> > [271,261,254,290,287,233,248,258,260] ms >>> >> > Avg warm_times_by_url: 262.444444ms >>> >> > Sd warm_times_by_url: 18.063161ms >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >>> >> > Avg warm_times_by_url: 1627.555556ms >>> >> > Sd warm_times_by_url: 62.928752ms >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>> >> > [684,672,698,700,664,679,659,658,729] ms >>> >> > Avg warm_times_by_url: 682.555556ms >>> >> > Sd warm_times_by_url: 23.260004ms >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >>> >> > Avg warm_times_by_url: 8859.777778ms >>> >> > Sd warm_times_by_url: 961.881071ms >>> >> > RESULT warm_times_by_url: >>> >> > https___www.google.com__hl_en_q_barack+obama= >>> >> > [856,843,846,775,767,781,845,818,743] ms >>> >> > Avg warm_times_by_url: 808.222222ms >>> >> > Sd warm_times_by_url: 42.079620ms >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >>> >> > Avg warm_times_by_url: 1068.222222ms >>> >> > Sd warm_times_by_url: 13.055437ms >>> >> > *RESULT warm_times: page_load_time= >>> >> > >>> >> > >>> >> > [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >>> >> > Avg warm_times: 2806.544444ms >>> >> > Sd warm_times: 2971.912512ms >>> >> > >>> >> > >>> >> > With this CL: >>> >> > RESULT warm_times_by_url: Facebook= >>> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >>> >> > >>> >> > >>> >> > >>> >> > Avg warm_times_by_url: 6690.444444ms >>> >> > Sd warm_times_by_url: 2228.774053ms >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >>> >> > Avg warm_times_by_url: 5172.444444ms >>> >> > Sd warm_times_by_url: 143.618515ms >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >>> >> > Avg warm_times_by_url: 1564.666667ms >>> >> > Sd warm_times_by_url: 59.720181ms >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>> >> > [863,853,804,857,792,861,834,813,872] ms >>> >> > Avg warm_times_by_url: 838.777778ms >>> >> > Sd warm_times_by_url: 29.162381ms >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>> >> > [255,275,247,243,282,228,235,262,307] ms >>> >> > Avg warm_times_by_url: 259.333333ms >>> >> > Sd warm_times_by_url: 25.124689ms >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >>> >> > Avg warm_times_by_url: 1666.333333ms >>> >> > Sd warm_times_by_url: 40.865633ms >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>> >> > [656,672,675,679,668,675,646,694,682] ms >>> >> > Avg warm_times_by_url: 671.888889ms >>> >> > Sd warm_times_by_url: 14.137224ms >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >>> >> > Avg warm_times_by_url: 8665.666667ms >>> >> > Sd warm_times_by_url: 756.245000ms >>> >> > RESULT warm_times_by_url: >>> >> > https___www.google.com__hl_en_q_barack+obama= >>> >> > [788,820,814,814,874,836,806,798,800] ms >>> >> > Avg warm_times_by_url: 816.666667ms >>> >> > Sd warm_times_by_url: 25.612497ms >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >>> >> > Avg warm_times_by_url: 1070.666667ms >>> >> > Sd warm_times_by_url: 21.731314ms >>> >> > *RESULT warm_times: page_load_time= >>> >> > >>> >> > >>> >> > [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >>> >> > Avg warm_times: 2741.688889ms >>> >> > Sd warm_times: 2925.786481ms >>> >> > >>> >> > https://chromiumcodereview.appspot.com/110273002/ >>> > >>> > >> >> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
On Thu, Dec 12, 2013 at 12:20 PM, Min Qin <qinmin@chromium.org> wrote: > with impl side painting and image decoding on the raster thread, does > jankiness still caused by image decoding? I am doubtful about this. > correct. you're not going to see jank from significantly reduced decode performance. you might see more low-res tiles or checkerboarding as a result of not being able to produce new tiles as efficiently. > > On Thu, Dec 12, 2013 at 2:36 AM, Philippe Liard <pliard@chromium.org> > wrote: > > I ran the smoothness benchmarks on the top_10 page set (nexus 10) by > doing: > > $ tools/perf/run_measurement -v --browser=android-chromium-testshell > > smoothness tools/perf/page_sets/top_10.json > > > > The data doesn't always always look very stable so I ran it twice and > > retained the worst case with and without this patch. This is still not > ideal > > but we can hardly get more stable/meaningful data with such high level > > benchmarks on so flaky devices (e.g. thermal throttling). > > > > Without the patch: > > jank_count_by_url: Facebook= 5 janks > > jank_count_by_url: Wikipedia (1 tab)= 1 janks > > jank_count_by_url: http___www.amazon.com= 5 janks > > jank_count_by_url: http___www.ask.com= 2 janks > > jank_count_by_url: http___www.yahoo.com= 9 janks > > jank_count_by_url: http___www.youtube.com= 1 janks > > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 5 janks > > > > With the patch: > > jank_count_by_url: Facebook= 3 janks > > jank_count_by_url: Wikipedia (1 tab)= 2 janks > > jank_count_by_url: http___www.amazon.com= 7 janks > > jank_count_by_url: http___www.ask.com= 2 janks > > jank_count_by_url: http___www.yahoo.com= 10 janks > > jank_count_by_url: http___www.youtube.com= 1 janks > > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 3 janks > > > > Surprisingly both of them end up with the same total amount of janks: > 28. In > > my opinion results should be weighted according to the amount of user on > > each site. In this case the measurements with the patch would win :) But > > anyway since this is quite noisy I don't think there is any statistically > > significant difference between both. Again, I would be happy to > > revert/investigate more if the bots/GASP tell us otherwise :) At this > point > > I don't see any strong reason not to move forward and save dozens of > > megabytes of RAM. > > > > What do you think? > > > > Thanks, > > Philippe. > > > > > > On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard <pliard@chromium.org> > wrote: > >> > >> Can I use a smoothness benchmark then? It should do some scrolling, > right? > >> > >> > >> On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> wrote: > >>> > >>> that's a benchmark for decoding png/gif/webp/jpeg files, so it only > >>> evaluates the performance of libjpeg/libpng/libwebp etc. > >>> > >>> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> > wrote: > >>> > There is an image_decoding_benchmark, can you use that? > >>> > > >>> > > >>> > 2013/12/11 Min Qin <qinmin@chromium.org> > >>> >> > >>> >> This is the loading performance, not really the cache hit rate > during > >>> >> scrolling/fling. I don't think the stats are really useful in > >>> >> evaluating the impact of your CL, we need a better benchmark. > >>> >> > >>> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: > >>> >> > On 2013/12/09 19:29:43, Alpha wrote: > >>> >> >> > >>> >> >> On 2013/12/09 19:26:36, Philippe wrote: > >>> >> >> > Who do you guys think I should add as an owner? > >>> >> > > >>> >> > > >>> >> >> LGTM. As discussed you probably want to raise the cache limit to > >>> >> >> something > >>> >> >> larger than 32MB. > >>> >> > > >>> >> > > >>> >> > Hi Min, > >>> >> > > >>> >> > I ran page_cyclers on Nexus 10 (which has a big screen) with the > >>> >> > top_10 > >>> >> > page > >>> >> > set. I haven't seen any statistically significant change (in fact > >>> >> > the > >>> >> > average > >>> >> > overall ends up being slightly faster with this change). I inlined > >>> >> > the > >>> >> > data > >>> >> > below. I also ran the same page set on Chromium Linux with the > extra > >>> >> > --enable-deferred-image-decoding flag. Same conclusion. To be even > >>> >> > more > >>> >> > confident I did some manual scrolling testing on > images.google.com > >>> >> > (still on > >>> >> > Nexus 10) with and without the change and did not observe extra > >>> >> > jank. I > >>> >> > also > >>> >> > took a chrome trace and observed a similar amount of image > decoding > >>> >> > tasks. > >>> >> > The > >>> >> > perf bots will tell us of course if this turns out not to be the > >>> >> > case. > >>> >> > > >>> >> > What do you think? > >>> >> > > >>> >> > Thanks, > >>> >> > Philippe. > >>> >> > > >>> >> > > >>> >> > $ tools/perf/run_measurement -v > --browser=android-chromium-testshell > >>> >> > page_cycler > >>> >> > tools/perf/page_sets/top_10.json > >>> >> > > >>> >> > Without this CL: > >>> >> > RESULT warm_times_by_url: Facebook= > >>> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms > >>> >> > Avg warm_times_by_url: 7229.222222ms > >>> >> > Sd warm_times_by_url: 173.481827ms > >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= > >>> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms > >>> >> > Avg warm_times_by_url: 5135.777778ms > >>> >> > Sd warm_times_by_url: 69.420418ms > >>> >> > RESULT warm_times_by_url: http___www.amazon.com= > >>> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms > >>> >> > Avg warm_times_by_url: 1565.666667ms > >>> >> > Sd warm_times_by_url: 37.556624ms > >>> >> > RESULT warm_times_by_url: http___www.ask.com_= > >>> >> > [760,819,899,812,844,824,839,891,746] ms > >>> >> > Avg warm_times_by_url: 826.000000ms > >>> >> > Sd warm_times_by_url: 51.298148ms > >>> >> > RESULT warm_times_by_url: http___www.bing.com_= > >>> >> > [271,261,254,290,287,233,248,258,260] ms > >>> >> > Avg warm_times_by_url: 262.444444ms > >>> >> > Sd warm_times_by_url: 18.063161ms > >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= > >>> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms > >>> >> > Avg warm_times_by_url: 1627.555556ms > >>> >> > Sd warm_times_by_url: 62.928752ms > >>> >> > RESULT warm_times_by_url: http___www.youtube.com= > >>> >> > [684,672,698,700,664,679,659,658,729] ms > >>> >> > Avg warm_times_by_url: 682.555556ms > >>> >> > Sd warm_times_by_url: 23.260004ms > >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= > >>> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms > >>> >> > Avg warm_times_by_url: 8859.777778ms > >>> >> > Sd warm_times_by_url: 961.881071ms > >>> >> > RESULT warm_times_by_url: > >>> >> > https___www.google.com__hl_en_q_barack+obama= > >>> >> > [856,843,846,775,767,781,845,818,743] ms > >>> >> > Avg warm_times_by_url: 808.222222ms > >>> >> > Sd warm_times_by_url: 42.079620ms > >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= > >>> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms > >>> >> > Avg warm_times_by_url: 1068.222222ms > >>> >> > Sd warm_times_by_url: 13.055437ms > >>> >> > *RESULT warm_times: page_load_time= > >>> >> > > >>> >> > > >>> >> > > [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, > >>> >> > Avg warm_times: 2806.544444ms > >>> >> > Sd warm_times: 2971.912512ms > >>> >> > > >>> >> > > >>> >> > With this CL: > >>> >> > RESULT warm_times_by_url: Facebook= > >>> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms > >>> >> > > >>> >> > > >>> >> > > >>> >> > Avg warm_times_by_url: 6690.444444ms > >>> >> > Sd warm_times_by_url: 2228.774053ms > >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= > >>> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms > >>> >> > Avg warm_times_by_url: 5172.444444ms > >>> >> > Sd warm_times_by_url: 143.618515ms > >>> >> > RESULT warm_times_by_url: http___www.amazon.com= > >>> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms > >>> >> > Avg warm_times_by_url: 1564.666667ms > >>> >> > Sd warm_times_by_url: 59.720181ms > >>> >> > RESULT warm_times_by_url: http___www.ask.com_= > >>> >> > [863,853,804,857,792,861,834,813,872] ms > >>> >> > Avg warm_times_by_url: 838.777778ms > >>> >> > Sd warm_times_by_url: 29.162381ms > >>> >> > RESULT warm_times_by_url: http___www.bing.com_= > >>> >> > [255,275,247,243,282,228,235,262,307] ms > >>> >> > Avg warm_times_by_url: 259.333333ms > >>> >> > Sd warm_times_by_url: 25.124689ms > >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= > >>> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms > >>> >> > Avg warm_times_by_url: 1666.333333ms > >>> >> > Sd warm_times_by_url: 40.865633ms > >>> >> > RESULT warm_times_by_url: http___www.youtube.com= > >>> >> > [656,672,675,679,668,675,646,694,682] ms > >>> >> > Avg warm_times_by_url: 671.888889ms > >>> >> > Sd warm_times_by_url: 14.137224ms > >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= > >>> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms > >>> >> > Avg warm_times_by_url: 8665.666667ms > >>> >> > Sd warm_times_by_url: 756.245000ms > >>> >> > RESULT warm_times_by_url: > >>> >> > https___www.google.com__hl_en_q_barack+obama= > >>> >> > [788,820,814,814,874,836,806,798,800] ms > >>> >> > Avg warm_times_by_url: 816.666667ms > >>> >> > Sd warm_times_by_url: 25.612497ms > >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= > >>> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms > >>> >> > Avg warm_times_by_url: 1070.666667ms > >>> >> > Sd warm_times_by_url: 21.731314ms > >>> >> > *RESULT warm_times: page_load_time= > >>> >> > > >>> >> > > >>> >> > > [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 > >>> >> > Avg warm_times: 2741.688889ms > >>> >> > Sd warm_times: 2925.786481ms > >>> >> > > >>> >> > https://chromiumcodereview.appspot.com/110273002/ > >>> > > >>> > > >> > >> > > > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
If we do way more decoding there should be less CPU available and possibly more CPU contention being a possible cause of jank, right? There is obviously some existing jankiness on Nexus 10 and I filed a bug about it a couple of days ago with a Chrome Trace: https://code.google.com/p/chromium/issues/detail?id=327666. The trace appears to show CPU contention when the jank happens. If you guys now a benchmark exposing possible checkerboarding or low-res tiles I would be happy to try though :) But what I can tell you for know is that we can very quickly reach 128 MBytes of private dirty RAM only used by the ImageDecodingStore just by scrolling a bit on maps.google.com. And this is not even on a Nexus 10 (it's on a Nexus 4). This is a real bug to me with observable effects. On the other hand I haven't been able to measure nor observe any problem with this patch. On Thu, Dec 12, 2013 at 6:28 PM, David Reveman <reveman@google.com> wrote: > > > > On Thu, Dec 12, 2013 at 12:20 PM, Min Qin <qinmin@chromium.org> wrote: > >> with impl side painting and image decoding on the raster thread, does >> jankiness still caused by image decoding? I am doubtful about this. >> > > correct. you're not going to see jank from significantly reduced decode > performance. you might see more low-res tiles or checkerboarding as a > result of not being able to produce new tiles as efficiently. > > >> >> On Thu, Dec 12, 2013 at 2:36 AM, Philippe Liard <pliard@chromium.org> >> wrote: >> > I ran the smoothness benchmarks on the top_10 page set (nexus 10) by >> doing: >> > $ tools/perf/run_measurement -v --browser=android-chromium-testshell >> > smoothness tools/perf/page_sets/top_10.json >> > >> > The data doesn't always always look very stable so I ran it twice and >> > retained the worst case with and without this patch. This is still not >> ideal >> > but we can hardly get more stable/meaningful data with such high level >> > benchmarks on so flaky devices (e.g. thermal throttling). >> > >> > Without the patch: >> > jank_count_by_url: Facebook= 5 janks >> > jank_count_by_url: Wikipedia (1 tab)= 1 janks >> > jank_count_by_url: http___www.amazon.com= 5 janks >> > jank_count_by_url: http___www.ask.com= 2 janks >> > jank_count_by_url: http___www.yahoo.com= 9 janks >> > jank_count_by_url: http___www.youtube.com= 1 janks >> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 5 janks >> > >> > With the patch: >> > jank_count_by_url: Facebook= 3 janks >> > jank_count_by_url: Wikipedia (1 tab)= 2 janks >> > jank_count_by_url: http___www.amazon.com= 7 janks >> > jank_count_by_url: http___www.ask.com= 2 janks >> > jank_count_by_url: http___www.yahoo.com= 10 janks >> > jank_count_by_url: http___www.youtube.com= 1 janks >> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 3 janks >> > >> > Surprisingly both of them end up with the same total amount of janks: >> 28. In >> > my opinion results should be weighted according to the amount of user on >> > each site. In this case the measurements with the patch would win :) But >> > anyway since this is quite noisy I don't think there is any >> statistically >> > significant difference between both. Again, I would be happy to >> > revert/investigate more if the bots/GASP tell us otherwise :) At this >> point >> > I don't see any strong reason not to move forward and save dozens of >> > megabytes of RAM. >> > >> > What do you think? >> > >> > Thanks, >> > Philippe. >> > >> > >> > On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard <pliard@chromium.org> >> wrote: >> >> >> >> Can I use a smoothness benchmark then? It should do some scrolling, >> right? >> >> >> >> >> >> On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> wrote: >> >>> >> >>> that's a benchmark for decoding png/gif/webp/jpeg files, so it only >> >>> evaluates the performance of libjpeg/libpng/libwebp etc. >> >>> >> >>> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> >> wrote: >> >>> > There is an image_decoding_benchmark, can you use that? >> >>> > >> >>> > >> >>> > 2013/12/11 Min Qin <qinmin@chromium.org> >> >>> >> >> >>> >> This is the loading performance, not really the cache hit rate >> during >> >>> >> scrolling/fling. I don't think the stats are really useful in >> >>> >> evaluating the impact of your CL, we need a better benchmark. >> >>> >> >> >>> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: >> >>> >> > On 2013/12/09 19:29:43, Alpha wrote: >> >>> >> >> >> >>> >> >> On 2013/12/09 19:26:36, Philippe wrote: >> >>> >> >> > Who do you guys think I should add as an owner? >> >>> >> > >> >>> >> > >> >>> >> >> LGTM. As discussed you probably want to raise the cache limit to >> >>> >> >> something >> >>> >> >> larger than 32MB. >> >>> >> > >> >>> >> > >> >>> >> > Hi Min, >> >>> >> > >> >>> >> > I ran page_cyclers on Nexus 10 (which has a big screen) with the >> >>> >> > top_10 >> >>> >> > page >> >>> >> > set. I haven't seen any statistically significant change (in fact >> >>> >> > the >> >>> >> > average >> >>> >> > overall ends up being slightly faster with this change). I >> inlined >> >>> >> > the >> >>> >> > data >> >>> >> > below. I also ran the same page set on Chromium Linux with the >> extra >> >>> >> > --enable-deferred-image-decoding flag. Same conclusion. To be >> even >> >>> >> > more >> >>> >> > confident I did some manual scrolling testing on >> images.google.com >> >>> >> > (still on >> >>> >> > Nexus 10) with and without the change and did not observe extra >> >>> >> > jank. I >> >>> >> > also >> >>> >> > took a chrome trace and observed a similar amount of image >> decoding >> >>> >> > tasks. >> >>> >> > The >> >>> >> > perf bots will tell us of course if this turns out not to be the >> >>> >> > case. >> >>> >> > >> >>> >> > What do you think? >> >>> >> > >> >>> >> > Thanks, >> >>> >> > Philippe. >> >>> >> > >> >>> >> > >> >>> >> > $ tools/perf/run_measurement -v >> --browser=android-chromium-testshell >> >>> >> > page_cycler >> >>> >> > tools/perf/page_sets/top_10.json >> >>> >> > >> >>> >> > Without this CL: >> >>> >> > RESULT warm_times_by_url: Facebook= >> >>> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >> >>> >> > Avg warm_times_by_url: 7229.222222ms >> >>> >> > Sd warm_times_by_url: 173.481827ms >> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >> >>> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >> >>> >> > Avg warm_times_by_url: 5135.777778ms >> >>> >> > Sd warm_times_by_url: 69.420418ms >> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >> >>> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >> >>> >> > Avg warm_times_by_url: 1565.666667ms >> >>> >> > Sd warm_times_by_url: 37.556624ms >> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >> >>> >> > [760,819,899,812,844,824,839,891,746] ms >> >>> >> > Avg warm_times_by_url: 826.000000ms >> >>> >> > Sd warm_times_by_url: 51.298148ms >> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >> >>> >> > [271,261,254,290,287,233,248,258,260] ms >> >>> >> > Avg warm_times_by_url: 262.444444ms >> >>> >> > Sd warm_times_by_url: 18.063161ms >> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >> >>> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >> >>> >> > Avg warm_times_by_url: 1627.555556ms >> >>> >> > Sd warm_times_by_url: 62.928752ms >> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >> >>> >> > [684,672,698,700,664,679,659,658,729] ms >> >>> >> > Avg warm_times_by_url: 682.555556ms >> >>> >> > Sd warm_times_by_url: 23.260004ms >> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >> >>> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >> >>> >> > Avg warm_times_by_url: 8859.777778ms >> >>> >> > Sd warm_times_by_url: 961.881071ms >> >>> >> > RESULT warm_times_by_url: >> >>> >> > https___www.google.com__hl_en_q_barack+obama= >> >>> >> > [856,843,846,775,767,781,845,818,743] ms >> >>> >> > Avg warm_times_by_url: 808.222222ms >> >>> >> > Sd warm_times_by_url: 42.079620ms >> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >> >>> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >> >>> >> > Avg warm_times_by_url: 1068.222222ms >> >>> >> > Sd warm_times_by_url: 13.055437ms >> >>> >> > *RESULT warm_times: page_load_time= >> >>> >> > >> >>> >> > >> >>> >> > >> [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >> >>> >> > Avg warm_times: 2806.544444ms >> >>> >> > Sd warm_times: 2971.912512ms >> >>> >> > >> >>> >> > >> >>> >> > With this CL: >> >>> >> > RESULT warm_times_by_url: Facebook= >> >>> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > Avg warm_times_by_url: 6690.444444ms >> >>> >> > Sd warm_times_by_url: 2228.774053ms >> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >> >>> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >> >>> >> > Avg warm_times_by_url: 5172.444444ms >> >>> >> > Sd warm_times_by_url: 143.618515ms >> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >> >>> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >> >>> >> > Avg warm_times_by_url: 1564.666667ms >> >>> >> > Sd warm_times_by_url: 59.720181ms >> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >> >>> >> > [863,853,804,857,792,861,834,813,872] ms >> >>> >> > Avg warm_times_by_url: 838.777778ms >> >>> >> > Sd warm_times_by_url: 29.162381ms >> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >> >>> >> > [255,275,247,243,282,228,235,262,307] ms >> >>> >> > Avg warm_times_by_url: 259.333333ms >> >>> >> > Sd warm_times_by_url: 25.124689ms >> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >> >>> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >> >>> >> > Avg warm_times_by_url: 1666.333333ms >> >>> >> > Sd warm_times_by_url: 40.865633ms >> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >> >>> >> > [656,672,675,679,668,675,646,694,682] ms >> >>> >> > Avg warm_times_by_url: 671.888889ms >> >>> >> > Sd warm_times_by_url: 14.137224ms >> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >> >>> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >> >>> >> > Avg warm_times_by_url: 8665.666667ms >> >>> >> > Sd warm_times_by_url: 756.245000ms >> >>> >> > RESULT warm_times_by_url: >> >>> >> > https___www.google.com__hl_en_q_barack+obama= >> >>> >> > [788,820,814,814,874,836,806,798,800] ms >> >>> >> > Avg warm_times_by_url: 816.666667ms >> >>> >> > Sd warm_times_by_url: 25.612497ms >> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >> >>> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >> >>> >> > Avg warm_times_by_url: 1070.666667ms >> >>> >> > Sd warm_times_by_url: 21.731314ms >> >>> >> > *RESULT warm_times: page_load_time= >> >>> >> > >> >>> >> > >> >>> >> > >> [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >> >>> >> > Avg warm_times: 2741.688889ms >> >>> >> > Sd warm_times: 2925.786481ms >> >>> >> > >> >>> >> > https://chromiumcodereview.appspot.com/110273002/ >> >>> > >> >>> > >> >> >> >> >> > >> > > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
And also this patch would not be set in stone obviously :) Once we have some LRU eviction logic in DiscardableMemory (in userspace) on all platforms (with "smart" capacities preventing this kind of issue), thanks to David, I would be happy to revert that patch. We can do even more though by completely removing the eviction logic from ImageDecodingStore but let's keep that (or not) for later :) On Thu, Dec 12, 2013 at 6:39 PM, Philippe Liard <pliard@chromium.org> wrote: > If we do way more decoding there should be less CPU available and possibly > more CPU contention being a possible cause of jank, right? There is > obviously some existing jankiness on Nexus 10 and I filed a bug about it a > couple of days ago with a Chrome Trace: > https://code.google.com/p/chromium/issues/detail?id=327666. The trace > appears to show CPU contention when the jank happens. If you guys now a > benchmark exposing possible checkerboarding or low-res tiles I would be > happy to try though :) But what I can tell you for know is that we can very > quickly reach 128 MBytes of private dirty RAM only used by the > ImageDecodingStore just by scrolling a bit on maps.google.com. And this > is not even on a Nexus 10 (it's on a Nexus 4). This is a real bug to me > with observable effects. On the other hand I haven't been able to measure > nor observe any problem with this patch. > > > On Thu, Dec 12, 2013 at 6:28 PM, David Reveman <reveman@google.com> wrote: > >> >> >> >> On Thu, Dec 12, 2013 at 12:20 PM, Min Qin <qinmin@chromium.org> wrote: >> >>> with impl side painting and image decoding on the raster thread, does >>> jankiness still caused by image decoding? I am doubtful about this. >>> >> >> correct. you're not going to see jank from significantly reduced decode >> performance. you might see more low-res tiles or checkerboarding as a >> result of not being able to produce new tiles as efficiently. >> >> >>> >>> On Thu, Dec 12, 2013 at 2:36 AM, Philippe Liard <pliard@chromium.org> >>> wrote: >>> > I ran the smoothness benchmarks on the top_10 page set (nexus 10) by >>> doing: >>> > $ tools/perf/run_measurement -v --browser=android-chromium-testshell >>> > smoothness tools/perf/page_sets/top_10.json >>> > >>> > The data doesn't always always look very stable so I ran it twice and >>> > retained the worst case with and without this patch. This is still not >>> ideal >>> > but we can hardly get more stable/meaningful data with such high level >>> > benchmarks on so flaky devices (e.g. thermal throttling). >>> > >>> > Without the patch: >>> > jank_count_by_url: Facebook= 5 janks >>> > jank_count_by_url: Wikipedia (1 tab)= 1 janks >>> > jank_count_by_url: http___www.amazon.com= 5 janks >>> > jank_count_by_url: http___www.ask.com= 2 janks >>> > jank_count_by_url: http___www.yahoo.com= 9 janks >>> > jank_count_by_url: http___www.youtube.com= 1 janks >>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 5 >>> janks >>> > >>> > With the patch: >>> > jank_count_by_url: Facebook= 3 janks >>> > jank_count_by_url: Wikipedia (1 tab)= 2 janks >>> > jank_count_by_url: http___www.amazon.com= 7 janks >>> > jank_count_by_url: http___www.ask.com= 2 janks >>> > jank_count_by_url: http___www.yahoo.com= 10 janks >>> > jank_count_by_url: http___www.youtube.com= 1 janks >>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 3 >>> janks >>> > >>> > Surprisingly both of them end up with the same total amount of janks: >>> 28. In >>> > my opinion results should be weighted according to the amount of user >>> on >>> > each site. In this case the measurements with the patch would win :) >>> But >>> > anyway since this is quite noisy I don't think there is any >>> statistically >>> > significant difference between both. Again, I would be happy to >>> > revert/investigate more if the bots/GASP tell us otherwise :) At this >>> point >>> > I don't see any strong reason not to move forward and save dozens of >>> > megabytes of RAM. >>> > >>> > What do you think? >>> > >>> > Thanks, >>> > Philippe. >>> > >>> > >>> > On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard <pliard@chromium.org> >>> wrote: >>> >> >>> >> Can I use a smoothness benchmark then? It should do some scrolling, >>> right? >>> >> >>> >> >>> >> On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> wrote: >>> >>> >>> >>> that's a benchmark for decoding png/gif/webp/jpeg files, so it only >>> >>> evaluates the performance of libjpeg/libpng/libwebp etc. >>> >>> >>> >>> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> >>> wrote: >>> >>> > There is an image_decoding_benchmark, can you use that? >>> >>> > >>> >>> > >>> >>> > 2013/12/11 Min Qin <qinmin@chromium.org> >>> >>> >> >>> >>> >> This is the loading performance, not really the cache hit rate >>> during >>> >>> >> scrolling/fling. I don't think the stats are really useful in >>> >>> >> evaluating the impact of your CL, we need a better benchmark. >>> >>> >> >>> >>> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: >>> >>> >> > On 2013/12/09 19:29:43, Alpha wrote: >>> >>> >> >> >>> >>> >> >> On 2013/12/09 19:26:36, Philippe wrote: >>> >>> >> >> > Who do you guys think I should add as an owner? >>> >>> >> > >>> >>> >> > >>> >>> >> >> LGTM. As discussed you probably want to raise the cache limit >>> to >>> >>> >> >> something >>> >>> >> >> larger than 32MB. >>> >>> >> > >>> >>> >> > >>> >>> >> > Hi Min, >>> >>> >> > >>> >>> >> > I ran page_cyclers on Nexus 10 (which has a big screen) with the >>> >>> >> > top_10 >>> >>> >> > page >>> >>> >> > set. I haven't seen any statistically significant change (in >>> fact >>> >>> >> > the >>> >>> >> > average >>> >>> >> > overall ends up being slightly faster with this change). I >>> inlined >>> >>> >> > the >>> >>> >> > data >>> >>> >> > below. I also ran the same page set on Chromium Linux with the >>> extra >>> >>> >> > --enable-deferred-image-decoding flag. Same conclusion. To be >>> even >>> >>> >> > more >>> >>> >> > confident I did some manual scrolling testing on >>> images.google.com >>> >>> >> > (still on >>> >>> >> > Nexus 10) with and without the change and did not observe extra >>> >>> >> > jank. I >>> >>> >> > also >>> >>> >> > took a chrome trace and observed a similar amount of image >>> decoding >>> >>> >> > tasks. >>> >>> >> > The >>> >>> >> > perf bots will tell us of course if this turns out not to be the >>> >>> >> > case. >>> >>> >> > >>> >>> >> > What do you think? >>> >>> >> > >>> >>> >> > Thanks, >>> >>> >> > Philippe. >>> >>> >> > >>> >>> >> > >>> >>> >> > $ tools/perf/run_measurement -v >>> --browser=android-chromium-testshell >>> >>> >> > page_cycler >>> >>> >> > tools/perf/page_sets/top_10.json >>> >>> >> > >>> >>> >> > Without this CL: >>> >>> >> > RESULT warm_times_by_url: Facebook= >>> >>> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >>> >>> >> > Avg warm_times_by_url: 7229.222222ms >>> >>> >> > Sd warm_times_by_url: 173.481827ms >>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>> >>> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >>> >>> >> > Avg warm_times_by_url: 5135.777778ms >>> >>> >> > Sd warm_times_by_url: 69.420418ms >>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>> >>> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >>> >>> >> > Avg warm_times_by_url: 1565.666667ms >>> >>> >> > Sd warm_times_by_url: 37.556624ms >>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>> >>> >> > [760,819,899,812,844,824,839,891,746] ms >>> >>> >> > Avg warm_times_by_url: 826.000000ms >>> >>> >> > Sd warm_times_by_url: 51.298148ms >>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>> >>> >> > [271,261,254,290,287,233,248,258,260] ms >>> >>> >> > Avg warm_times_by_url: 262.444444ms >>> >>> >> > Sd warm_times_by_url: 18.063161ms >>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>> >>> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >>> >>> >> > Avg warm_times_by_url: 1627.555556ms >>> >>> >> > Sd warm_times_by_url: 62.928752ms >>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>> >>> >> > [684,672,698,700,664,679,659,658,729] ms >>> >>> >> > Avg warm_times_by_url: 682.555556ms >>> >>> >> > Sd warm_times_by_url: 23.260004ms >>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>> >>> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >>> >>> >> > Avg warm_times_by_url: 8859.777778ms >>> >>> >> > Sd warm_times_by_url: 961.881071ms >>> >>> >> > RESULT warm_times_by_url: >>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>> >>> >> > [856,843,846,775,767,781,845,818,743] ms >>> >>> >> > Avg warm_times_by_url: 808.222222ms >>> >>> >> > Sd warm_times_by_url: 42.079620ms >>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>> >>> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >>> >>> >> > Avg warm_times_by_url: 1068.222222ms >>> >>> >> > Sd warm_times_by_url: 13.055437ms >>> >>> >> > *RESULT warm_times: page_load_time= >>> >>> >> > >>> >>> >> > >>> >>> >> > >>> [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >>> >>> >> > Avg warm_times: 2806.544444ms >>> >>> >> > Sd warm_times: 2971.912512ms >>> >>> >> > >>> >>> >> > >>> >>> >> > With this CL: >>> >>> >> > RESULT warm_times_by_url: Facebook= >>> >>> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >>> >>> >> > >>> >>> >> > >>> >>> >> > >>> >>> >> > Avg warm_times_by_url: 6690.444444ms >>> >>> >> > Sd warm_times_by_url: 2228.774053ms >>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>> >>> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >>> >>> >> > Avg warm_times_by_url: 5172.444444ms >>> >>> >> > Sd warm_times_by_url: 143.618515ms >>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>> >>> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >>> >>> >> > Avg warm_times_by_url: 1564.666667ms >>> >>> >> > Sd warm_times_by_url: 59.720181ms >>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>> >>> >> > [863,853,804,857,792,861,834,813,872] ms >>> >>> >> > Avg warm_times_by_url: 838.777778ms >>> >>> >> > Sd warm_times_by_url: 29.162381ms >>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>> >>> >> > [255,275,247,243,282,228,235,262,307] ms >>> >>> >> > Avg warm_times_by_url: 259.333333ms >>> >>> >> > Sd warm_times_by_url: 25.124689ms >>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>> >>> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >>> >>> >> > Avg warm_times_by_url: 1666.333333ms >>> >>> >> > Sd warm_times_by_url: 40.865633ms >>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>> >>> >> > [656,672,675,679,668,675,646,694,682] ms >>> >>> >> > Avg warm_times_by_url: 671.888889ms >>> >>> >> > Sd warm_times_by_url: 14.137224ms >>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>> >>> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >>> >>> >> > Avg warm_times_by_url: 8665.666667ms >>> >>> >> > Sd warm_times_by_url: 756.245000ms >>> >>> >> > RESULT warm_times_by_url: >>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>> >>> >> > [788,820,814,814,874,836,806,798,800] ms >>> >>> >> > Avg warm_times_by_url: 816.666667ms >>> >>> >> > Sd warm_times_by_url: 25.612497ms >>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>> >>> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >>> >>> >> > Avg warm_times_by_url: 1070.666667ms >>> >>> >> > Sd warm_times_by_url: 21.731314ms >>> >>> >> > *RESULT warm_times: page_load_time= >>> >>> >> > >>> >>> >> > >>> >>> >> > >>> [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >>> >>> >> > Avg warm_times: 2741.688889ms >>> >>> >> > Sd warm_times: 2925.786481ms >>> >>> >> > >>> >>> >> > https://chromiumcodereview.appspot.com/110273002/ >>> >>> > >>> >>> > >>> >> >>> >> >>> > >>> >> >> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
On Thu, Dec 12, 2013 at 12:47 PM, Philippe Liard <pliard@chromium.org>wrote: > And also this patch would not be set in stone obviously :) Once we have > some LRU eviction logic in DiscardableMemory (in userspace) on all > platforms (with "smart" capacities preventing this kind of issue), thanks > to David, I would be happy to revert that patch. We can do even more though > by completely removing the eviction logic from ImageDecodingStore but let's > keep that (or not) for later :) > > > On Thu, Dec 12, 2013 at 6:39 PM, Philippe Liard <pliard@chromium.org>wrote: > >> If we do way more decoding there should be less CPU available and >> possibly more CPU contention being a possible cause of jank, right? There >> is obviously some existing jankiness on Nexus 10 and I filed a bug about it >> a couple of days ago with a Chrome Trace: >> https://code.google.com/p/chromium/issues/detail?id=327666. The trace >> appears to show CPU contention when the jank happens. If you guys now a >> benchmark exposing possible checkerboarding or low-res tiles I would be >> happy to try though :) But what I can tell you for know is that we can very >> quickly reach 128 MBytes of private dirty RAM only used by the >> ImageDecodingStore just by scrolling a bit on maps.google.com. And this >> is not even on a Nexus 10 (it's on a Nexus 4). This is a real bug to me >> with observable effects. On the other hand I haven't been able to measure >> nor observe any problem with this patch. >> > Raster threads have lower priority so more decoding should in theory not prevent us from producing frames at a consistent interval. This of course depends on the kernel behaving well so there are no guarantees but we shouldn't expect more raster work to have a negative impact on jank as we've done our best to build a system where this is not the case. > >> >> On Thu, Dec 12, 2013 at 6:28 PM, David Reveman <reveman@google.com>wrote: >> >>> >>> >>> >>> On Thu, Dec 12, 2013 at 12:20 PM, Min Qin <qinmin@chromium.org> wrote: >>> >>>> with impl side painting and image decoding on the raster thread, does >>>> jankiness still caused by image decoding? I am doubtful about this. >>>> >>> >>> correct. you're not going to see jank from significantly reduced decode >>> performance. you might see more low-res tiles or checkerboarding as a >>> result of not being able to produce new tiles as efficiently. >>> >>> >>>> >>>> On Thu, Dec 12, 2013 at 2:36 AM, Philippe Liard <pliard@chromium.org> >>>> wrote: >>>> > I ran the smoothness benchmarks on the top_10 page set (nexus 10) by >>>> doing: >>>> > $ tools/perf/run_measurement -v --browser=android-chromium-testshell >>>> > smoothness tools/perf/page_sets/top_10.json >>>> > >>>> > The data doesn't always always look very stable so I ran it twice and >>>> > retained the worst case with and without this patch. This is still >>>> not ideal >>>> > but we can hardly get more stable/meaningful data with such high level >>>> > benchmarks on so flaky devices (e.g. thermal throttling). >>>> > >>>> > Without the patch: >>>> > jank_count_by_url: Facebook= 5 janks >>>> > jank_count_by_url: Wikipedia (1 tab)= 1 janks >>>> > jank_count_by_url: http___www.amazon.com= 5 janks >>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>> > jank_count_by_url: http___www.yahoo.com= 9 janks >>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 5 >>>> janks >>>> > >>>> > With the patch: >>>> > jank_count_by_url: Facebook= 3 janks >>>> > jank_count_by_url: Wikipedia (1 tab)= 2 janks >>>> > jank_count_by_url: http___www.amazon.com= 7 janks >>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>> > jank_count_by_url: http___www.yahoo.com= 10 janks >>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 3 >>>> janks >>>> > >>>> > Surprisingly both of them end up with the same total amount of janks: >>>> 28. In >>>> > my opinion results should be weighted according to the amount of user >>>> on >>>> > each site. In this case the measurements with the patch would win :) >>>> But >>>> > anyway since this is quite noisy I don't think there is any >>>> statistically >>>> > significant difference between both. Again, I would be happy to >>>> > revert/investigate more if the bots/GASP tell us otherwise :) At this >>>> point >>>> > I don't see any strong reason not to move forward and save dozens of >>>> > megabytes of RAM. >>>> > >>>> > What do you think? >>>> > >>>> > Thanks, >>>> > Philippe. >>>> > >>>> > >>>> > On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard <pliard@chromium.org> >>>> wrote: >>>> >> >>>> >> Can I use a smoothness benchmark then? It should do some scrolling, >>>> right? >>>> >> >>>> >> >>>> >> On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> >>>> wrote: >>>> >>> >>>> >>> that's a benchmark for decoding png/gif/webp/jpeg files, so it only >>>> >>> evaluates the performance of libjpeg/libpng/libwebp etc. >>>> >>> >>>> >>> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> >>>> wrote: >>>> >>> > There is an image_decoding_benchmark, can you use that? >>>> >>> > >>>> >>> > >>>> >>> > 2013/12/11 Min Qin <qinmin@chromium.org> >>>> >>> >> >>>> >>> >> This is the loading performance, not really the cache hit rate >>>> during >>>> >>> >> scrolling/fling. I don't think the stats are really useful in >>>> >>> >> evaluating the impact of your CL, we need a better benchmark. >>>> >>> >> >>>> >>> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: >>>> >>> >> > On 2013/12/09 19:29:43, Alpha wrote: >>>> >>> >> >> >>>> >>> >> >> On 2013/12/09 19:26:36, Philippe wrote: >>>> >>> >> >> > Who do you guys think I should add as an owner? >>>> >>> >> > >>>> >>> >> > >>>> >>> >> >> LGTM. As discussed you probably want to raise the cache limit >>>> to >>>> >>> >> >> something >>>> >>> >> >> larger than 32MB. >>>> >>> >> > >>>> >>> >> > >>>> >>> >> > Hi Min, >>>> >>> >> > >>>> >>> >> > I ran page_cyclers on Nexus 10 (which has a big screen) with >>>> the >>>> >>> >> > top_10 >>>> >>> >> > page >>>> >>> >> > set. I haven't seen any statistically significant change (in >>>> fact >>>> >>> >> > the >>>> >>> >> > average >>>> >>> >> > overall ends up being slightly faster with this change). I >>>> inlined >>>> >>> >> > the >>>> >>> >> > data >>>> >>> >> > below. I also ran the same page set on Chromium Linux with the >>>> extra >>>> >>> >> > --enable-deferred-image-decoding flag. Same conclusion. To be >>>> even >>>> >>> >> > more >>>> >>> >> > confident I did some manual scrolling testing on >>>> images.google.com >>>> >>> >> > (still on >>>> >>> >> > Nexus 10) with and without the change and did not observe extra >>>> >>> >> > jank. I >>>> >>> >> > also >>>> >>> >> > took a chrome trace and observed a similar amount of image >>>> decoding >>>> >>> >> > tasks. >>>> >>> >> > The >>>> >>> >> > perf bots will tell us of course if this turns out not to be >>>> the >>>> >>> >> > case. >>>> >>> >> > >>>> >>> >> > What do you think? >>>> >>> >> > >>>> >>> >> > Thanks, >>>> >>> >> > Philippe. >>>> >>> >> > >>>> >>> >> > >>>> >>> >> > $ tools/perf/run_measurement -v >>>> --browser=android-chromium-testshell >>>> >>> >> > page_cycler >>>> >>> >> > tools/perf/page_sets/top_10.json >>>> >>> >> > >>>> >>> >> > Without this CL: >>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>> >>> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >>>> >>> >> > Avg warm_times_by_url: 7229.222222ms >>>> >>> >> > Sd warm_times_by_url: 173.481827ms >>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>> >>> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >>>> >>> >> > Avg warm_times_by_url: 5135.777778ms >>>> >>> >> > Sd warm_times_by_url: 69.420418ms >>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>> >>> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >>>> >>> >> > Avg warm_times_by_url: 1565.666667ms >>>> >>> >> > Sd warm_times_by_url: 37.556624ms >>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>> >>> >> > [760,819,899,812,844,824,839,891,746] ms >>>> >>> >> > Avg warm_times_by_url: 826.000000ms >>>> >>> >> > Sd warm_times_by_url: 51.298148ms >>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>> >>> >> > [271,261,254,290,287,233,248,258,260] ms >>>> >>> >> > Avg warm_times_by_url: 262.444444ms >>>> >>> >> > Sd warm_times_by_url: 18.063161ms >>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>> >>> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >>>> >>> >> > Avg warm_times_by_url: 1627.555556ms >>>> >>> >> > Sd warm_times_by_url: 62.928752ms >>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>> >>> >> > [684,672,698,700,664,679,659,658,729] ms >>>> >>> >> > Avg warm_times_by_url: 682.555556ms >>>> >>> >> > Sd warm_times_by_url: 23.260004ms >>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>> >>> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >>>> >>> >> > Avg warm_times_by_url: 8859.777778ms >>>> >>> >> > Sd warm_times_by_url: 961.881071ms >>>> >>> >> > RESULT warm_times_by_url: >>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>> >>> >> > [856,843,846,775,767,781,845,818,743] ms >>>> >>> >> > Avg warm_times_by_url: 808.222222ms >>>> >>> >> > Sd warm_times_by_url: 42.079620ms >>>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>>> >>> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >>>> >>> >> > Avg warm_times_by_url: 1068.222222ms >>>> >>> >> > Sd warm_times_by_url: 13.055437ms >>>> >>> >> > *RESULT warm_times: page_load_time= >>>> >>> >> > >>>> >>> >> > >>>> >>> >> > >>>> [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >>>> >>> >> > Avg warm_times: 2806.544444ms >>>> >>> >> > Sd warm_times: 2971.912512ms >>>> >>> >> > >>>> >>> >> > >>>> >>> >> > With this CL: >>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>> >>> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >>>> >>> >> > >>>> >>> >> > >>>> >>> >> > >>>> >>> >> > Avg warm_times_by_url: 6690.444444ms >>>> >>> >> > Sd warm_times_by_url: 2228.774053ms >>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>> >>> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >>>> >>> >> > Avg warm_times_by_url: 5172.444444ms >>>> >>> >> > Sd warm_times_by_url: 143.618515ms >>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>> >>> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >>>> >>> >> > Avg warm_times_by_url: 1564.666667ms >>>> >>> >> > Sd warm_times_by_url: 59.720181ms >>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>> >>> >> > [863,853,804,857,792,861,834,813,872] ms >>>> >>> >> > Avg warm_times_by_url: 838.777778ms >>>> >>> >> > Sd warm_times_by_url: 29.162381ms >>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>> >>> >> > [255,275,247,243,282,228,235,262,307] ms >>>> >>> >> > Avg warm_times_by_url: 259.333333ms >>>> >>> >> > Sd warm_times_by_url: 25.124689ms >>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>> >>> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >>>> >>> >> > Avg warm_times_by_url: 1666.333333ms >>>> >>> >> > Sd warm_times_by_url: 40.865633ms >>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>> >>> >> > [656,672,675,679,668,675,646,694,682] ms >>>> >>> >> > Avg warm_times_by_url: 671.888889ms >>>> >>> >> > Sd warm_times_by_url: 14.137224ms >>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>> >>> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >>>> >>> >> > Avg warm_times_by_url: 8665.666667ms >>>> >>> >> > Sd warm_times_by_url: 756.245000ms >>>> >>> >> > RESULT warm_times_by_url: >>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>> >>> >> > [788,820,814,814,874,836,806,798,800] ms >>>> >>> >> > Avg warm_times_by_url: 816.666667ms >>>> >>> >> > Sd warm_times_by_url: 25.612497ms >>>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>>> >>> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >>>> >>> >> > Avg warm_times_by_url: 1070.666667ms >>>> >>> >> > Sd warm_times_by_url: 21.731314ms >>>> >>> >> > *RESULT warm_times: page_load_time= >>>> >>> >> > >>>> >>> >> > >>>> >>> >> > >>>> [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >>>> >>> >> > Avg warm_times: 2741.688889ms >>>> >>> >> > Sd warm_times: 2925.786481ms >>>> >>> >> > >>>> >>> >> > https://chromiumcodereview.appspot.com/110273002/ >>>> >>> > >>>> >>> > >>>> >> >>>> >> >>>> > >>>> >>> >>> >> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
If we do have shared state/mutexes between those threads (whose priorities would be different) then we can still have priority inversion issues causing Jank. Anyway this might not be the first observable effect caused by excessive image decoding as David said although I'm not able to observe checkerboarding or low-res tiles either with this patch. There doesn't seem to be any benchmark either AFAICT that would expose those issues. How about submitting this? :) On Thu, Dec 12, 2013 at 7:53 PM, David Reveman <reveman@google.com> wrote: > > > > On Thu, Dec 12, 2013 at 12:47 PM, Philippe Liard <pliard@chromium.org>wrote: > >> And also this patch would not be set in stone obviously :) Once we have >> some LRU eviction logic in DiscardableMemory (in userspace) on all >> platforms (with "smart" capacities preventing this kind of issue), thanks >> to David, I would be happy to revert that patch. We can do even more though >> by completely removing the eviction logic from ImageDecodingStore but let's >> keep that (or not) for later :) >> >> >> On Thu, Dec 12, 2013 at 6:39 PM, Philippe Liard <pliard@chromium.org>wrote: >> >>> If we do way more decoding there should be less CPU available and >>> possibly more CPU contention being a possible cause of jank, right? There >>> is obviously some existing jankiness on Nexus 10 and I filed a bug about it >>> a couple of days ago with a Chrome Trace: >>> https://code.google.com/p/chromium/issues/detail?id=327666. The trace >>> appears to show CPU contention when the jank happens. If you guys now a >>> benchmark exposing possible checkerboarding or low-res tiles I would be >>> happy to try though :) But what I can tell you for know is that we can very >>> quickly reach 128 MBytes of private dirty RAM only used by the >>> ImageDecodingStore just by scrolling a bit on maps.google.com. And this >>> is not even on a Nexus 10 (it's on a Nexus 4). This is a real bug to me >>> with observable effects. On the other hand I haven't been able to measure >>> nor observe any problem with this patch. >>> >> > Raster threads have lower priority so more decoding should in theory not > prevent us from producing frames at a consistent interval. This of course > depends on the kernel behaving well so there are no guarantees but we > shouldn't expect more raster work to have a negative impact on jank as > we've done our best to build a system where this is not the case. > > >> >>> >>> On Thu, Dec 12, 2013 at 6:28 PM, David Reveman <reveman@google.com>wrote: >>> >>>> >>>> >>>> >>>> On Thu, Dec 12, 2013 at 12:20 PM, Min Qin <qinmin@chromium.org> wrote: >>>> >>>>> with impl side painting and image decoding on the raster thread, does >>>>> jankiness still caused by image decoding? I am doubtful about this. >>>>> >>>> >>>> correct. you're not going to see jank from significantly reduced decode >>>> performance. you might see more low-res tiles or checkerboarding as a >>>> result of not being able to produce new tiles as efficiently. >>>> >>>> >>>>> >>>>> On Thu, Dec 12, 2013 at 2:36 AM, Philippe Liard <pliard@chromium.org> >>>>> wrote: >>>>> > I ran the smoothness benchmarks on the top_10 page set (nexus 10) by >>>>> doing: >>>>> > $ tools/perf/run_measurement -v --browser=android-chromium-testshell >>>>> > smoothness tools/perf/page_sets/top_10.json >>>>> > >>>>> > The data doesn't always always look very stable so I ran it twice and >>>>> > retained the worst case with and without this patch. This is still >>>>> not ideal >>>>> > but we can hardly get more stable/meaningful data with such high >>>>> level >>>>> > benchmarks on so flaky devices (e.g. thermal throttling). >>>>> > >>>>> > Without the patch: >>>>> > jank_count_by_url: Facebook= 5 janks >>>>> > jank_count_by_url: Wikipedia (1 tab)= 1 janks >>>>> > jank_count_by_url: http___www.amazon.com= 5 janks >>>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>>> > jank_count_by_url: http___www.yahoo.com= 9 janks >>>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 5 >>>>> janks >>>>> > >>>>> > With the patch: >>>>> > jank_count_by_url: Facebook= 3 janks >>>>> > jank_count_by_url: Wikipedia (1 tab)= 2 janks >>>>> > jank_count_by_url: http___www.amazon.com= 7 janks >>>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>>> > jank_count_by_url: http___www.yahoo.com= 10 janks >>>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 3 >>>>> janks >>>>> > >>>>> > Surprisingly both of them end up with the same total amount of >>>>> janks: 28. In >>>>> > my opinion results should be weighted according to the amount of >>>>> user on >>>>> > each site. In this case the measurements with the patch would win :) >>>>> But >>>>> > anyway since this is quite noisy I don't think there is any >>>>> statistically >>>>> > significant difference between both. Again, I would be happy to >>>>> > revert/investigate more if the bots/GASP tell us otherwise :) At >>>>> this point >>>>> > I don't see any strong reason not to move forward and save dozens of >>>>> > megabytes of RAM. >>>>> > >>>>> > What do you think? >>>>> > >>>>> > Thanks, >>>>> > Philippe. >>>>> > >>>>> > >>>>> > On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard <pliard@chromium.org> >>>>> wrote: >>>>> >> >>>>> >> Can I use a smoothness benchmark then? It should do some scrolling, >>>>> right? >>>>> >> >>>>> >> >>>>> >> On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> >>>>> wrote: >>>>> >>> >>>>> >>> that's a benchmark for decoding png/gif/webp/jpeg files, so it only >>>>> >>> evaluates the performance of libjpeg/libpng/libwebp etc. >>>>> >>> >>>>> >>> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> >>>>> wrote: >>>>> >>> > There is an image_decoding_benchmark, can you use that? >>>>> >>> > >>>>> >>> > >>>>> >>> > 2013/12/11 Min Qin <qinmin@chromium.org> >>>>> >>> >> >>>>> >>> >> This is the loading performance, not really the cache hit rate >>>>> during >>>>> >>> >> scrolling/fling. I don't think the stats are really useful in >>>>> >>> >> evaluating the impact of your CL, we need a better benchmark. >>>>> >>> >> >>>>> >>> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: >>>>> >>> >> > On 2013/12/09 19:29:43, Alpha wrote: >>>>> >>> >> >> >>>>> >>> >> >> On 2013/12/09 19:26:36, Philippe wrote: >>>>> >>> >> >> > Who do you guys think I should add as an owner? >>>>> >>> >> > >>>>> >>> >> > >>>>> >>> >> >> LGTM. As discussed you probably want to raise the cache >>>>> limit to >>>>> >>> >> >> something >>>>> >>> >> >> larger than 32MB. >>>>> >>> >> > >>>>> >>> >> > >>>>> >>> >> > Hi Min, >>>>> >>> >> > >>>>> >>> >> > I ran page_cyclers on Nexus 10 (which has a big screen) with >>>>> the >>>>> >>> >> > top_10 >>>>> >>> >> > page >>>>> >>> >> > set. I haven't seen any statistically significant change (in >>>>> fact >>>>> >>> >> > the >>>>> >>> >> > average >>>>> >>> >> > overall ends up being slightly faster with this change). I >>>>> inlined >>>>> >>> >> > the >>>>> >>> >> > data >>>>> >>> >> > below. I also ran the same page set on Chromium Linux with >>>>> the extra >>>>> >>> >> > --enable-deferred-image-decoding flag. Same conclusion. To be >>>>> even >>>>> >>> >> > more >>>>> >>> >> > confident I did some manual scrolling testing on >>>>> images.google.com >>>>> >>> >> > (still on >>>>> >>> >> > Nexus 10) with and without the change and did not observe >>>>> extra >>>>> >>> >> > jank. I >>>>> >>> >> > also >>>>> >>> >> > took a chrome trace and observed a similar amount of image >>>>> decoding >>>>> >>> >> > tasks. >>>>> >>> >> > The >>>>> >>> >> > perf bots will tell us of course if this turns out not to be >>>>> the >>>>> >>> >> > case. >>>>> >>> >> > >>>>> >>> >> > What do you think? >>>>> >>> >> > >>>>> >>> >> > Thanks, >>>>> >>> >> > Philippe. >>>>> >>> >> > >>>>> >>> >> > >>>>> >>> >> > $ tools/perf/run_measurement -v >>>>> --browser=android-chromium-testshell >>>>> >>> >> > page_cycler >>>>> >>> >> > tools/perf/page_sets/top_10.json >>>>> >>> >> > >>>>> >>> >> > Without this CL: >>>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>>> >>> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >>>>> >>> >> > Avg warm_times_by_url: 7229.222222ms >>>>> >>> >> > Sd warm_times_by_url: 173.481827ms >>>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>>> >>> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >>>>> >>> >> > Avg warm_times_by_url: 5135.777778ms >>>>> >>> >> > Sd warm_times_by_url: 69.420418ms >>>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>>> >>> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >>>>> >>> >> > Avg warm_times_by_url: 1565.666667ms >>>>> >>> >> > Sd warm_times_by_url: 37.556624ms >>>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>>> >>> >> > [760,819,899,812,844,824,839,891,746] ms >>>>> >>> >> > Avg warm_times_by_url: 826.000000ms >>>>> >>> >> > Sd warm_times_by_url: 51.298148ms >>>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>>> >>> >> > [271,261,254,290,287,233,248,258,260] ms >>>>> >>> >> > Avg warm_times_by_url: 262.444444ms >>>>> >>> >> > Sd warm_times_by_url: 18.063161ms >>>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>>> >>> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >>>>> >>> >> > Avg warm_times_by_url: 1627.555556ms >>>>> >>> >> > Sd warm_times_by_url: 62.928752ms >>>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>>> >>> >> > [684,672,698,700,664,679,659,658,729] ms >>>>> >>> >> > Avg warm_times_by_url: 682.555556ms >>>>> >>> >> > Sd warm_times_by_url: 23.260004ms >>>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>>> >>> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >>>>> >>> >> > Avg warm_times_by_url: 8859.777778ms >>>>> >>> >> > Sd warm_times_by_url: 961.881071ms >>>>> >>> >> > RESULT warm_times_by_url: >>>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>>> >>> >> > [856,843,846,775,767,781,845,818,743] ms >>>>> >>> >> > Avg warm_times_by_url: 808.222222ms >>>>> >>> >> > Sd warm_times_by_url: 42.079620ms >>>>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>>>> >>> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >>>>> >>> >> > Avg warm_times_by_url: 1068.222222ms >>>>> >>> >> > Sd warm_times_by_url: 13.055437ms >>>>> >>> >> > *RESULT warm_times: page_load_time= >>>>> >>> >> > >>>>> >>> >> > >>>>> >>> >> > >>>>> [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >>>>> >>> >> > Avg warm_times: 2806.544444ms >>>>> >>> >> > Sd warm_times: 2971.912512ms >>>>> >>> >> > >>>>> >>> >> > >>>>> >>> >> > With this CL: >>>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>>> >>> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >>>>> >>> >> > >>>>> >>> >> > >>>>> >>> >> > >>>>> >>> >> > Avg warm_times_by_url: 6690.444444ms >>>>> >>> >> > Sd warm_times_by_url: 2228.774053ms >>>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>>> >>> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >>>>> >>> >> > Avg warm_times_by_url: 5172.444444ms >>>>> >>> >> > Sd warm_times_by_url: 143.618515ms >>>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>>> >>> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >>>>> >>> >> > Avg warm_times_by_url: 1564.666667ms >>>>> >>> >> > Sd warm_times_by_url: 59.720181ms >>>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>>> >>> >> > [863,853,804,857,792,861,834,813,872] ms >>>>> >>> >> > Avg warm_times_by_url: 838.777778ms >>>>> >>> >> > Sd warm_times_by_url: 29.162381ms >>>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>>> >>> >> > [255,275,247,243,282,228,235,262,307] ms >>>>> >>> >> > Avg warm_times_by_url: 259.333333ms >>>>> >>> >> > Sd warm_times_by_url: 25.124689ms >>>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>>> >>> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >>>>> >>> >> > Avg warm_times_by_url: 1666.333333ms >>>>> >>> >> > Sd warm_times_by_url: 40.865633ms >>>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>>> >>> >> > [656,672,675,679,668,675,646,694,682] ms >>>>> >>> >> > Avg warm_times_by_url: 671.888889ms >>>>> >>> >> > Sd warm_times_by_url: 14.137224ms >>>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>>> >>> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >>>>> >>> >> > Avg warm_times_by_url: 8665.666667ms >>>>> >>> >> > Sd warm_times_by_url: 756.245000ms >>>>> >>> >> > RESULT warm_times_by_url: >>>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>>> >>> >> > [788,820,814,814,874,836,806,798,800] ms >>>>> >>> >> > Avg warm_times_by_url: 816.666667ms >>>>> >>> >> > Sd warm_times_by_url: 25.612497ms >>>>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>>>> >>> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >>>>> >>> >> > Avg warm_times_by_url: 1070.666667ms >>>>> >>> >> > Sd warm_times_by_url: 21.731314ms >>>>> >>> >> > *RESULT warm_times: page_load_time= >>>>> >>> >> > >>>>> >>> >> > >>>>> >>> >> > >>>>> [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >>>>> >>> >> > Avg warm_times: 2741.688889ms >>>>> >>> >> > Sd warm_times: 2925.786481ms >>>>> >>> >> > >>>>> >>> >> > https://chromiumcodereview.appspot.com/110273002/ >>>>> >>> > >>>>> >>> > >>>>> >> >>>>> >> >>>>> > >>>>> >>>> >>>> >>> >> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
On Fri, Dec 13, 2013 at 7:09 AM, Philippe Liard <pliard@chromium.org> wrote: > If we do have shared state/mutexes between those threads (whose priorities > would be different) then we can still have priority inversion issues > causing Jank. Anyway this might not be the first observable effect caused > by excessive image decoding as David said although I'm not able to observe > checkerboarding or low-res tiles either with this patch. There doesn't seem > to be any benchmark either AFAICT that would expose those issues. How about > submitting this? :) > We used to report checkerboarding in some benchmark but maybe it's been removed.. How about using the image_decode or rasterize_and_record benchmarks? A difference in amount of image decode should show up in those. > > > On Thu, Dec 12, 2013 at 7:53 PM, David Reveman <reveman@google.com> wrote: > >> >> >> >> On Thu, Dec 12, 2013 at 12:47 PM, Philippe Liard <pliard@chromium.org>wrote: >> >>> And also this patch would not be set in stone obviously :) Once we have >>> some LRU eviction logic in DiscardableMemory (in userspace) on all >>> platforms (with "smart" capacities preventing this kind of issue), thanks >>> to David, I would be happy to revert that patch. We can do even more though >>> by completely removing the eviction logic from ImageDecodingStore but let's >>> keep that (or not) for later :) >>> >>> >>> On Thu, Dec 12, 2013 at 6:39 PM, Philippe Liard <pliard@chromium.org>wrote: >>> >>>> If we do way more decoding there should be less CPU available and >>>> possibly more CPU contention being a possible cause of jank, right? There >>>> is obviously some existing jankiness on Nexus 10 and I filed a bug about it >>>> a couple of days ago with a Chrome Trace: >>>> https://code.google.com/p/chromium/issues/detail?id=327666. The trace >>>> appears to show CPU contention when the jank happens. If you guys now a >>>> benchmark exposing possible checkerboarding or low-res tiles I would be >>>> happy to try though :) But what I can tell you for know is that we can very >>>> quickly reach 128 MBytes of private dirty RAM only used by the >>>> ImageDecodingStore just by scrolling a bit on maps.google.com. And >>>> this is not even on a Nexus 10 (it's on a Nexus 4). This is a real bug to >>>> me with observable effects. On the other hand I haven't been able to >>>> measure nor observe any problem with this patch. >>>> >>> >> Raster threads have lower priority so more decoding should in theory not >> prevent us from producing frames at a consistent interval. This of course >> depends on the kernel behaving well so there are no guarantees but we >> shouldn't expect more raster work to have a negative impact on jank as >> we've done our best to build a system where this is not the case. >> >> >>> >>>> >>>> On Thu, Dec 12, 2013 at 6:28 PM, David Reveman <reveman@google.com>wrote: >>>> >>>>> >>>>> >>>>> >>>>> On Thu, Dec 12, 2013 at 12:20 PM, Min Qin <qinmin@chromium.org> wrote: >>>>> >>>>>> with impl side painting and image decoding on the raster thread, does >>>>>> jankiness still caused by image decoding? I am doubtful about this. >>>>>> >>>>> >>>>> correct. you're not going to see jank from significantly reduced >>>>> decode performance. you might see more low-res tiles or checkerboarding as >>>>> a result of not being able to produce new tiles as efficiently. >>>>> >>>>> >>>>>> >>>>>> On Thu, Dec 12, 2013 at 2:36 AM, Philippe Liard <pliard@chromium.org> >>>>>> wrote: >>>>>> > I ran the smoothness benchmarks on the top_10 page set (nexus 10) >>>>>> by doing: >>>>>> > $ tools/perf/run_measurement -v --browser=android-chromium-testshell >>>>>> > smoothness tools/perf/page_sets/top_10.json >>>>>> > >>>>>> > The data doesn't always always look very stable so I ran it twice >>>>>> and >>>>>> > retained the worst case with and without this patch. This is still >>>>>> not ideal >>>>>> > but we can hardly get more stable/meaningful data with such high >>>>>> level >>>>>> > benchmarks on so flaky devices (e.g. thermal throttling). >>>>>> > >>>>>> > Without the patch: >>>>>> > jank_count_by_url: Facebook= 5 janks >>>>>> > jank_count_by_url: Wikipedia (1 tab)= 1 janks >>>>>> > jank_count_by_url: http___www.amazon.com= 5 janks >>>>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>>>> > jank_count_by_url: http___www.yahoo.com= 9 janks >>>>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 5 >>>>>> janks >>>>>> > >>>>>> > With the patch: >>>>>> > jank_count_by_url: Facebook= 3 janks >>>>>> > jank_count_by_url: Wikipedia (1 tab)= 2 janks >>>>>> > jank_count_by_url: http___www.amazon.com= 7 janks >>>>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>>>> > jank_count_by_url: http___www.yahoo.com= 10 janks >>>>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 3 >>>>>> janks >>>>>> > >>>>>> > Surprisingly both of them end up with the same total amount of >>>>>> janks: 28. In >>>>>> > my opinion results should be weighted according to the amount of >>>>>> user on >>>>>> > each site. In this case the measurements with the patch would win >>>>>> :) But >>>>>> > anyway since this is quite noisy I don't think there is any >>>>>> statistically >>>>>> > significant difference between both. Again, I would be happy to >>>>>> > revert/investigate more if the bots/GASP tell us otherwise :) At >>>>>> this point >>>>>> > I don't see any strong reason not to move forward and save dozens of >>>>>> > megabytes of RAM. >>>>>> > >>>>>> > What do you think? >>>>>> > >>>>>> > Thanks, >>>>>> > Philippe. >>>>>> > >>>>>> > >>>>>> > On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard < >>>>>> pliard@chromium.org> wrote: >>>>>> >> >>>>>> >> Can I use a smoothness benchmark then? It should do some >>>>>> scrolling, right? >>>>>> >> >>>>>> >> >>>>>> >> On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> >>>>>> wrote: >>>>>> >>> >>>>>> >>> that's a benchmark for decoding png/gif/webp/jpeg files, so it >>>>>> only >>>>>> >>> evaluates the performance of libjpeg/libpng/libwebp etc. >>>>>> >>> >>>>>> >>> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> >>>>>> wrote: >>>>>> >>> > There is an image_decoding_benchmark, can you use that? >>>>>> >>> > >>>>>> >>> > >>>>>> >>> > 2013/12/11 Min Qin <qinmin@chromium.org> >>>>>> >>> >> >>>>>> >>> >> This is the loading performance, not really the cache hit rate >>>>>> during >>>>>> >>> >> scrolling/fling. I don't think the stats are really useful in >>>>>> >>> >> evaluating the impact of your CL, we need a better benchmark. >>>>>> >>> >> >>>>>> >>> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> wrote: >>>>>> >>> >> > On 2013/12/09 19:29:43, Alpha wrote: >>>>>> >>> >> >> >>>>>> >>> >> >> On 2013/12/09 19:26:36, Philippe wrote: >>>>>> >>> >> >> > Who do you guys think I should add as an owner? >>>>>> >>> >> > >>>>>> >>> >> > >>>>>> >>> >> >> LGTM. As discussed you probably want to raise the cache >>>>>> limit to >>>>>> >>> >> >> something >>>>>> >>> >> >> larger than 32MB. >>>>>> >>> >> > >>>>>> >>> >> > >>>>>> >>> >> > Hi Min, >>>>>> >>> >> > >>>>>> >>> >> > I ran page_cyclers on Nexus 10 (which has a big screen) with >>>>>> the >>>>>> >>> >> > top_10 >>>>>> >>> >> > page >>>>>> >>> >> > set. I haven't seen any statistically significant change (in >>>>>> fact >>>>>> >>> >> > the >>>>>> >>> >> > average >>>>>> >>> >> > overall ends up being slightly faster with this change). I >>>>>> inlined >>>>>> >>> >> > the >>>>>> >>> >> > data >>>>>> >>> >> > below. I also ran the same page set on Chromium Linux with >>>>>> the extra >>>>>> >>> >> > --enable-deferred-image-decoding flag. Same conclusion. To >>>>>> be even >>>>>> >>> >> > more >>>>>> >>> >> > confident I did some manual scrolling testing on >>>>>> images.google.com >>>>>> >>> >> > (still on >>>>>> >>> >> > Nexus 10) with and without the change and did not observe >>>>>> extra >>>>>> >>> >> > jank. I >>>>>> >>> >> > also >>>>>> >>> >> > took a chrome trace and observed a similar amount of image >>>>>> decoding >>>>>> >>> >> > tasks. >>>>>> >>> >> > The >>>>>> >>> >> > perf bots will tell us of course if this turns out not to be >>>>>> the >>>>>> >>> >> > case. >>>>>> >>> >> > >>>>>> >>> >> > What do you think? >>>>>> >>> >> > >>>>>> >>> >> > Thanks, >>>>>> >>> >> > Philippe. >>>>>> >>> >> > >>>>>> >>> >> > >>>>>> >>> >> > $ tools/perf/run_measurement -v >>>>>> --browser=android-chromium-testshell >>>>>> >>> >> > page_cycler >>>>>> >>> >> > tools/perf/page_sets/top_10.json >>>>>> >>> >> > >>>>>> >>> >> > Without this CL: >>>>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>>>> >>> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >>>>>> >>> >> > Avg warm_times_by_url: 7229.222222ms >>>>>> >>> >> > Sd warm_times_by_url: 173.481827ms >>>>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>>>> >>> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >>>>>> >>> >> > Avg warm_times_by_url: 5135.777778ms >>>>>> >>> >> > Sd warm_times_by_url: 69.420418ms >>>>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>>>> >>> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >>>>>> >>> >> > Avg warm_times_by_url: 1565.666667ms >>>>>> >>> >> > Sd warm_times_by_url: 37.556624ms >>>>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>>>> >>> >> > [760,819,899,812,844,824,839,891,746] ms >>>>>> >>> >> > Avg warm_times_by_url: 826.000000ms >>>>>> >>> >> > Sd warm_times_by_url: 51.298148ms >>>>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>>>> >>> >> > [271,261,254,290,287,233,248,258,260] ms >>>>>> >>> >> > Avg warm_times_by_url: 262.444444ms >>>>>> >>> >> > Sd warm_times_by_url: 18.063161ms >>>>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>>>> >>> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >>>>>> >>> >> > Avg warm_times_by_url: 1627.555556ms >>>>>> >>> >> > Sd warm_times_by_url: 62.928752ms >>>>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>>>> >>> >> > [684,672,698,700,664,679,659,658,729] ms >>>>>> >>> >> > Avg warm_times_by_url: 682.555556ms >>>>>> >>> >> > Sd warm_times_by_url: 23.260004ms >>>>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>>>> >>> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >>>>>> >>> >> > Avg warm_times_by_url: 8859.777778ms >>>>>> >>> >> > Sd warm_times_by_url: 961.881071ms >>>>>> >>> >> > RESULT warm_times_by_url: >>>>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>>>> >>> >> > [856,843,846,775,767,781,845,818,743] ms >>>>>> >>> >> > Avg warm_times_by_url: 808.222222ms >>>>>> >>> >> > Sd warm_times_by_url: 42.079620ms >>>>>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>>>>> >>> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >>>>>> >>> >> > Avg warm_times_by_url: 1068.222222ms >>>>>> >>> >> > Sd warm_times_by_url: 13.055437ms >>>>>> >>> >> > *RESULT warm_times: page_load_time= >>>>>> >>> >> > >>>>>> >>> >> > >>>>>> >>> >> > >>>>>> [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >>>>>> >>> >> > Avg warm_times: 2806.544444ms >>>>>> >>> >> > Sd warm_times: 2971.912512ms >>>>>> >>> >> > >>>>>> >>> >> > >>>>>> >>> >> > With this CL: >>>>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>>>> >>> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >>>>>> >>> >> > >>>>>> >>> >> > >>>>>> >>> >> > >>>>>> >>> >> > Avg warm_times_by_url: 6690.444444ms >>>>>> >>> >> > Sd warm_times_by_url: 2228.774053ms >>>>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>>>> >>> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >>>>>> >>> >> > Avg warm_times_by_url: 5172.444444ms >>>>>> >>> >> > Sd warm_times_by_url: 143.618515ms >>>>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>>>> >>> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >>>>>> >>> >> > Avg warm_times_by_url: 1564.666667ms >>>>>> >>> >> > Sd warm_times_by_url: 59.720181ms >>>>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>>>> >>> >> > [863,853,804,857,792,861,834,813,872] ms >>>>>> >>> >> > Avg warm_times_by_url: 838.777778ms >>>>>> >>> >> > Sd warm_times_by_url: 29.162381ms >>>>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>>>> >>> >> > [255,275,247,243,282,228,235,262,307] ms >>>>>> >>> >> > Avg warm_times_by_url: 259.333333ms >>>>>> >>> >> > Sd warm_times_by_url: 25.124689ms >>>>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>>>> >>> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >>>>>> >>> >> > Avg warm_times_by_url: 1666.333333ms >>>>>> >>> >> > Sd warm_times_by_url: 40.865633ms >>>>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>>>> >>> >> > [656,672,675,679,668,675,646,694,682] ms >>>>>> >>> >> > Avg warm_times_by_url: 671.888889ms >>>>>> >>> >> > Sd warm_times_by_url: 14.137224ms >>>>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>>>> >>> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >>>>>> >>> >> > Avg warm_times_by_url: 8665.666667ms >>>>>> >>> >> > Sd warm_times_by_url: 756.245000ms >>>>>> >>> >> > RESULT warm_times_by_url: >>>>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>>>> >>> >> > [788,820,814,814,874,836,806,798,800] ms >>>>>> >>> >> > Avg warm_times_by_url: 816.666667ms >>>>>> >>> >> > Sd warm_times_by_url: 25.612497ms >>>>>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>>>>> >>> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >>>>>> >>> >> > Avg warm_times_by_url: 1070.666667ms >>>>>> >>> >> > Sd warm_times_by_url: 21.731314ms >>>>>> >>> >> > *RESULT warm_times: page_load_time= >>>>>> >>> >> > >>>>>> >>> >> > >>>>>> >>> >> > >>>>>> [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >>>>>> >>> >> > Avg warm_times: 2741.688889ms >>>>>> >>> >> > Sd warm_times: 2925.786481ms >>>>>> >>> >> > >>>>>> >>> >> > https://chromiumcodereview.appspot.com/110273002/ >>>>>> >>> > >>>>>> >>> > >>>>>> >> >>>>>> >> >>>>>> > >>>>>> >>>>> >>>>> >>>> >>> >> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
Thanks David, image_decoding is broken at the moment: https://code.google.com/p/chromium/issues/detail?id=323015 However I could run rasterize_and_record and could only observe small improvements with this patch. If this is still not enough for you guys I'm willing to consider emulating the same behavior as before (as it was on Android at least): allow up to 128 decoded images (non-accounted) + 32 MBytes of capacity. Thanks, Philippe. With the patch: RESULT rasterize_time_by_url: Facebook= 197.494 ms RESULT rasterize_time_by_url: Wikipedia (1 tab)= 73.114 ms RESULT rasterize_time_by_url: http___www.amazon.com= 72.126 ms RESULT rasterize_time_by_url: http___www.ask.com_= 242.017 ms RESULT rasterize_time_by_url: http___www.bing.com_= 148.924 ms RESULT rasterize_time_by_url: http___www.yahoo.com_= 66.492 ms RESULT rasterize_time_by_url: http___www.youtube.com= 78.609 ms RESULT rasterize_time_by_url: https___www.google.com__hl_en_q_barack+obama= 148.542 ms RESULT rasterize_time_by_url: https___www.google.com_calendar_= 195.332 ms RESULT rasterized_pixels_by_url: Facebook= 3952640 pixels RESULT rasterized_pixels_by_url: Wikipedia (1 tab)= 5263360 pixels RESULT rasterized_pixels_by_url: http___www.amazon.com= 3680256 pixels RESULT rasterized_pixels_by_url: http___www.ask.com_= 3949680 pixels RESULT rasterized_pixels_by_url: http___www.bing.com_= 4237700 pixels RESULT rasterized_pixels_by_url: http___www.yahoo.com_= 5901056 pixels RESULT rasterized_pixels_by_url: http___www.youtube.com= 3957184 pixels RESULT rasterized_pixels_by_url: https___www.google.com__hl_en_q_barack+obama= 6039552 pixels RESULT rasterized_pixels_by_url: https___www.google.com_calendar_= 3543040 pixels RESULT record_time_by_url: Facebook= 92.438 ms RESULT record_time_by_url: Wikipedia (1 tab)= 227.219 ms RESULT record_time_by_url: http___www.amazon.com= 31.353 ms RESULT record_time_by_url: http___www.ask.com_= 16.973 ms RESULT record_time_by_url: http___www.bing.com_= 12.968 ms RESULT record_time_by_url: http___www.yahoo.com_= 46.602 ms RESULT record_time_by_url: http___www.youtube.com= 53.281 ms RESULT record_time_by_url: https___www.google.com__hl_en_q_barack+obama= 32.324 ms RESULT record_time_by_url: https___www.google.com_calendar_= 23.189 ms RESULT recorded_pixels_by_url: Facebook= 12055930 pixels RESULT recorded_pixels_by_url: Wikipedia (1 tab)= 12055930 pixels RESULT recorded_pixels_by_url: http___www.amazon.com= 3079941 pixels RESULT recorded_pixels_by_url: http___www.ask.com_= 1182930 pixels RESULT recorded_pixels_by_url: http___www.bing.com_= 1291915 pixels RESULT recorded_pixels_by_url: http___www.yahoo.com_= 4037420 pixels RESULT recorded_pixels_by_url: http___www.youtube.com= 2337266 pixels RESULT recorded_pixels_by_url: https___www.google.com__hl_en_q_barack+obama= 2320010 pixels RESULT recorded_pixels_by_url: https___www.google.com_calendar_= 940580 pixels Without: RESULT rasterize_time_by_url: Facebook= 208.6 ms RESULT rasterize_time_by_url: Wikipedia (1 tab)= 84.328 ms RESULT rasterize_time_by_url: http___www.amazon.com= 72.123 ms RESULT rasterize_time_by_url: http___www.ask.com_= 243.275 ms RESULT rasterize_time_by_url: http___www.bing.com_= 150.637 ms RESULT rasterize_time_by_url: http___www.yahoo.com_= 66.562 ms RESULT rasterize_time_by_url: http___www.youtube.com= 79.391 ms RESULT rasterize_time_by_url: https___www.google.com__hl_en_q_barack+obama= 151.774 ms RESULT rasterize_time_by_url: https___www.google.com_calendar_= 224.438 ms RESULT rasterized_pixels_by_url: Facebook= 4739072 pixels RESULT rasterized_pixels_by_url: Wikipedia (1 tab)= 5263360 pixels RESULT rasterized_pixels_by_url: http___www.amazon.com= 3680256 pixels RESULT rasterized_pixels_by_url: http___www.ask.com_= 3949680 pixels RESULT rasterized_pixels_by_url: http___www.bing.com_= 4237700 pixels RESULT rasterized_pixels_by_url: http___www.yahoo.com_= 5901056 pixels RESULT rasterized_pixels_by_url: http___www.youtube.com= 3957184 pixels RESULT rasterized_pixels_by_url: https___www.google.com__hl_en_q_barack+obama= 6039552 pixels RESULT rasterized_pixels_by_url: https___www.google.com_calendar_= 3543040 pixels RESULT record_time_by_url: Facebook= 99.339 ms RESULT record_time_by_url: Wikipedia (1 tab)= 266.019 ms RESULT record_time_by_url: http___www.amazon.com= 31.385 ms RESULT record_time_by_url: http___www.ask.com_= 16.908 ms RESULT record_time_by_url: http___www.bing.com_= 12.815 ms RESULT record_time_by_url: http___www.yahoo.com_= 44.101 ms RESULT record_time_by_url: http___www.youtube.com= 53.221 ms RESULT record_time_by_url: https___www.google.com__hl_en_q_barack+obama= 30.632 ms RESULT record_time_by_url: https___www.google.com_calendar_= 26.75 ms RESULT recorded_pixels_by_url: Facebook= 12055930 pixels RESULT recorded_pixels_by_url: Wikipedia (1 tab)= 12055930 pixels RESULT recorded_pixels_by_url: http___www.amazon.com= 3079941 pixels RESULT recorded_pixels_by_url: http___www.ask.com_= 1182930 pixels RESULT recorded_pixels_by_url: http___www.bing.com_= 1291915 pixels RESULT recorded_pixels_by_url: http___www.yahoo.com_= 4037420 pixels RESULT recorded_pixels_by_url: http___www.youtube.com= 2337266 pixels RESULT recorded_pixels_by_url: https___www.google.com__hl_en_q_barack+obama= 2320010 pixels RESULT recorded_pixels_by_url: https___www.google.com_calendar_= 940580 pixels On Fri, Dec 13, 2013 at 6:33 PM, David Reveman <reveman@google.com> wrote: > > > > On Fri, Dec 13, 2013 at 7:09 AM, Philippe Liard <pliard@chromium.org>wrote: > >> If we do have shared state/mutexes between those threads (whose >> priorities would be different) then we can still have priority inversion >> issues causing Jank. Anyway this might not be the first observable effect >> caused by excessive image decoding as David said although I'm not able to >> observe checkerboarding or low-res tiles either with this patch. There >> doesn't seem to be any benchmark either AFAICT that would expose those >> issues. How about submitting this? :) >> > > We used to report checkerboarding in some benchmark but maybe it's been > removed.. How about using the image_decode or rasterize_and_record > benchmarks? A difference in amount of image decode should show up in those. > > >> >> >> On Thu, Dec 12, 2013 at 7:53 PM, David Reveman <reveman@google.com>wrote: >> >>> >>> >>> >>> On Thu, Dec 12, 2013 at 12:47 PM, Philippe Liard <pliard@chromium.org>wrote: >>> >>>> And also this patch would not be set in stone obviously :) Once we have >>>> some LRU eviction logic in DiscardableMemory (in userspace) on all >>>> platforms (with "smart" capacities preventing this kind of issue), thanks >>>> to David, I would be happy to revert that patch. We can do even more though >>>> by completely removing the eviction logic from ImageDecodingStore but let's >>>> keep that (or not) for later :) >>>> >>>> >>>> On Thu, Dec 12, 2013 at 6:39 PM, Philippe Liard <pliard@chromium.org>wrote: >>>> >>>>> If we do way more decoding there should be less CPU available and >>>>> possibly more CPU contention being a possible cause of jank, right? There >>>>> is obviously some existing jankiness on Nexus 10 and I filed a bug about it >>>>> a couple of days ago with a Chrome Trace: >>>>> https://code.google.com/p/chromium/issues/detail?id=327666. The trace >>>>> appears to show CPU contention when the jank happens. If you guys now a >>>>> benchmark exposing possible checkerboarding or low-res tiles I would be >>>>> happy to try though :) But what I can tell you for know is that we can very >>>>> quickly reach 128 MBytes of private dirty RAM only used by the >>>>> ImageDecodingStore just by scrolling a bit on maps.google.com. And >>>>> this is not even on a Nexus 10 (it's on a Nexus 4). This is a real bug to >>>>> me with observable effects. On the other hand I haven't been able to >>>>> measure nor observe any problem with this patch. >>>>> >>>> >>> Raster threads have lower priority so more decoding should in theory not >>> prevent us from producing frames at a consistent interval. This of course >>> depends on the kernel behaving well so there are no guarantees but we >>> shouldn't expect more raster work to have a negative impact on jank as >>> we've done our best to build a system where this is not the case. >>> >>> >>>> >>>>> >>>>> On Thu, Dec 12, 2013 at 6:28 PM, David Reveman <reveman@google.com>wrote: >>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Thu, Dec 12, 2013 at 12:20 PM, Min Qin <qinmin@chromium.org>wrote: >>>>>> >>>>>>> with impl side painting and image decoding on the raster thread, does >>>>>>> jankiness still caused by image decoding? I am doubtful about this. >>>>>>> >>>>>> >>>>>> correct. you're not going to see jank from significantly reduced >>>>>> decode performance. you might see more low-res tiles or checkerboarding as >>>>>> a result of not being able to produce new tiles as efficiently. >>>>>> >>>>>> >>>>>>> >>>>>>> On Thu, Dec 12, 2013 at 2:36 AM, Philippe Liard <pliard@chromium.org> >>>>>>> wrote: >>>>>>> > I ran the smoothness benchmarks on the top_10 page set (nexus 10) >>>>>>> by doing: >>>>>>> > $ tools/perf/run_measurement -v >>>>>>> --browser=android-chromium-testshell >>>>>>> > smoothness tools/perf/page_sets/top_10.json >>>>>>> > >>>>>>> > The data doesn't always always look very stable so I ran it twice >>>>>>> and >>>>>>> > retained the worst case with and without this patch. This is still >>>>>>> not ideal >>>>>>> > but we can hardly get more stable/meaningful data with such high >>>>>>> level >>>>>>> > benchmarks on so flaky devices (e.g. thermal throttling). >>>>>>> > >>>>>>> > Without the patch: >>>>>>> > jank_count_by_url: Facebook= 5 janks >>>>>>> > jank_count_by_url: Wikipedia (1 tab)= 1 janks >>>>>>> > jank_count_by_url: http___www.amazon.com= 5 janks >>>>>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>>>>> > jank_count_by_url: http___www.yahoo.com= 9 janks >>>>>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>>>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 5 >>>>>>> janks >>>>>>> > >>>>>>> > With the patch: >>>>>>> > jank_count_by_url: Facebook= 3 janks >>>>>>> > jank_count_by_url: Wikipedia (1 tab)= 2 janks >>>>>>> > jank_count_by_url: http___www.amazon.com= 7 janks >>>>>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>>>>> > jank_count_by_url: http___www.yahoo.com= 10 janks >>>>>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>>>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= 3 >>>>>>> janks >>>>>>> > >>>>>>> > Surprisingly both of them end up with the same total amount of >>>>>>> janks: 28. In >>>>>>> > my opinion results should be weighted according to the amount of >>>>>>> user on >>>>>>> > each site. In this case the measurements with the patch would win >>>>>>> :) But >>>>>>> > anyway since this is quite noisy I don't think there is any >>>>>>> statistically >>>>>>> > significant difference between both. Again, I would be happy to >>>>>>> > revert/investigate more if the bots/GASP tell us otherwise :) At >>>>>>> this point >>>>>>> > I don't see any strong reason not to move forward and save dozens >>>>>>> of >>>>>>> > megabytes of RAM. >>>>>>> > >>>>>>> > What do you think? >>>>>>> > >>>>>>> > Thanks, >>>>>>> > Philippe. >>>>>>> > >>>>>>> > >>>>>>> > On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard < >>>>>>> pliard@chromium.org> wrote: >>>>>>> >> >>>>>>> >> Can I use a smoothness benchmark then? It should do some >>>>>>> scrolling, right? >>>>>>> >> >>>>>>> >> >>>>>>> >> On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> >>>>>>> wrote: >>>>>>> >>> >>>>>>> >>> that's a benchmark for decoding png/gif/webp/jpeg files, so it >>>>>>> only >>>>>>> >>> evaluates the performance of libjpeg/libpng/libwebp etc. >>>>>>> >>> >>>>>>> >>> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> >>>>>>> wrote: >>>>>>> >>> > There is an image_decoding_benchmark, can you use that? >>>>>>> >>> > >>>>>>> >>> > >>>>>>> >>> > 2013/12/11 Min Qin <qinmin@chromium.org> >>>>>>> >>> >> >>>>>>> >>> >> This is the loading performance, not really the cache hit >>>>>>> rate during >>>>>>> >>> >> scrolling/fling. I don't think the stats are really useful in >>>>>>> >>> >> evaluating the impact of your CL, we need a better benchmark. >>>>>>> >>> >> >>>>>>> >>> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> >>>>>>> wrote: >>>>>>> >>> >> > On 2013/12/09 19:29:43, Alpha wrote: >>>>>>> >>> >> >> >>>>>>> >>> >> >> On 2013/12/09 19:26:36, Philippe wrote: >>>>>>> >>> >> >> > Who do you guys think I should add as an owner? >>>>>>> >>> >> > >>>>>>> >>> >> > >>>>>>> >>> >> >> LGTM. As discussed you probably want to raise the cache >>>>>>> limit to >>>>>>> >>> >> >> something >>>>>>> >>> >> >> larger than 32MB. >>>>>>> >>> >> > >>>>>>> >>> >> > >>>>>>> >>> >> > Hi Min, >>>>>>> >>> >> > >>>>>>> >>> >> > I ran page_cyclers on Nexus 10 (which has a big screen) >>>>>>> with the >>>>>>> >>> >> > top_10 >>>>>>> >>> >> > page >>>>>>> >>> >> > set. I haven't seen any statistically significant change >>>>>>> (in fact >>>>>>> >>> >> > the >>>>>>> >>> >> > average >>>>>>> >>> >> > overall ends up being slightly faster with this change). I >>>>>>> inlined >>>>>>> >>> >> > the >>>>>>> >>> >> > data >>>>>>> >>> >> > below. I also ran the same page set on Chromium Linux with >>>>>>> the extra >>>>>>> >>> >> > --enable-deferred-image-decoding flag. Same conclusion. To >>>>>>> be even >>>>>>> >>> >> > more >>>>>>> >>> >> > confident I did some manual scrolling testing on >>>>>>> images.google.com >>>>>>> >>> >> > (still on >>>>>>> >>> >> > Nexus 10) with and without the change and did not observe >>>>>>> extra >>>>>>> >>> >> > jank. I >>>>>>> >>> >> > also >>>>>>> >>> >> > took a chrome trace and observed a similar amount of image >>>>>>> decoding >>>>>>> >>> >> > tasks. >>>>>>> >>> >> > The >>>>>>> >>> >> > perf bots will tell us of course if this turns out not to >>>>>>> be the >>>>>>> >>> >> > case. >>>>>>> >>> >> > >>>>>>> >>> >> > What do you think? >>>>>>> >>> >> > >>>>>>> >>> >> > Thanks, >>>>>>> >>> >> > Philippe. >>>>>>> >>> >> > >>>>>>> >>> >> > >>>>>>> >>> >> > $ tools/perf/run_measurement -v >>>>>>> --browser=android-chromium-testshell >>>>>>> >>> >> > page_cycler >>>>>>> >>> >> > tools/perf/page_sets/top_10.json >>>>>>> >>> >> > >>>>>>> >>> >> > Without this CL: >>>>>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>>>>> >>> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >>>>>>> >>> >> > Avg warm_times_by_url: 7229.222222ms >>>>>>> >>> >> > Sd warm_times_by_url: 173.481827ms >>>>>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>>>>> >>> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >>>>>>> >>> >> > Avg warm_times_by_url: 5135.777778ms >>>>>>> >>> >> > Sd warm_times_by_url: 69.420418ms >>>>>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>>>>> >>> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >>>>>>> >>> >> > Avg warm_times_by_url: 1565.666667ms >>>>>>> >>> >> > Sd warm_times_by_url: 37.556624ms >>>>>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>>>>> >>> >> > [760,819,899,812,844,824,839,891,746] ms >>>>>>> >>> >> > Avg warm_times_by_url: 826.000000ms >>>>>>> >>> >> > Sd warm_times_by_url: 51.298148ms >>>>>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>>>>> >>> >> > [271,261,254,290,287,233,248,258,260] ms >>>>>>> >>> >> > Avg warm_times_by_url: 262.444444ms >>>>>>> >>> >> > Sd warm_times_by_url: 18.063161ms >>>>>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>>>>> >>> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >>>>>>> >>> >> > Avg warm_times_by_url: 1627.555556ms >>>>>>> >>> >> > Sd warm_times_by_url: 62.928752ms >>>>>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>>>>> >>> >> > [684,672,698,700,664,679,659,658,729] ms >>>>>>> >>> >> > Avg warm_times_by_url: 682.555556ms >>>>>>> >>> >> > Sd warm_times_by_url: 23.260004ms >>>>>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>>>>> >>> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >>>>>>> >>> >> > Avg warm_times_by_url: 8859.777778ms >>>>>>> >>> >> > Sd warm_times_by_url: 961.881071ms >>>>>>> >>> >> > RESULT warm_times_by_url: >>>>>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>>>>> >>> >> > [856,843,846,775,767,781,845,818,743] ms >>>>>>> >>> >> > Avg warm_times_by_url: 808.222222ms >>>>>>> >>> >> > Sd warm_times_by_url: 42.079620ms >>>>>>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>>>>>> >>> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >>>>>>> >>> >> > Avg warm_times_by_url: 1068.222222ms >>>>>>> >>> >> > Sd warm_times_by_url: 13.055437ms >>>>>>> >>> >> > *RESULT warm_times: page_load_time= >>>>>>> >>> >> > >>>>>>> >>> >> > >>>>>>> >>> >> > >>>>>>> [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >>>>>>> >>> >> > Avg warm_times: 2806.544444ms >>>>>>> >>> >> > Sd warm_times: 2971.912512ms >>>>>>> >>> >> > >>>>>>> >>> >> > >>>>>>> >>> >> > With this CL: >>>>>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>>>>> >>> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >>>>>>> >>> >> > >>>>>>> >>> >> > >>>>>>> >>> >> > >>>>>>> >>> >> > Avg warm_times_by_url: 6690.444444ms >>>>>>> >>> >> > Sd warm_times_by_url: 2228.774053ms >>>>>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>>>>> >>> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >>>>>>> >>> >> > Avg warm_times_by_url: 5172.444444ms >>>>>>> >>> >> > Sd warm_times_by_url: 143.618515ms >>>>>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>>>>> >>> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >>>>>>> >>> >> > Avg warm_times_by_url: 1564.666667ms >>>>>>> >>> >> > Sd warm_times_by_url: 59.720181ms >>>>>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>>>>> >>> >> > [863,853,804,857,792,861,834,813,872] ms >>>>>>> >>> >> > Avg warm_times_by_url: 838.777778ms >>>>>>> >>> >> > Sd warm_times_by_url: 29.162381ms >>>>>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>>>>> >>> >> > [255,275,247,243,282,228,235,262,307] ms >>>>>>> >>> >> > Avg warm_times_by_url: 259.333333ms >>>>>>> >>> >> > Sd warm_times_by_url: 25.124689ms >>>>>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>>>>> >>> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >>>>>>> >>> >> > Avg warm_times_by_url: 1666.333333ms >>>>>>> >>> >> > Sd warm_times_by_url: 40.865633ms >>>>>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>>>>> >>> >> > [656,672,675,679,668,675,646,694,682] ms >>>>>>> >>> >> > Avg warm_times_by_url: 671.888889ms >>>>>>> >>> >> > Sd warm_times_by_url: 14.137224ms >>>>>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>>>>> >>> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >>>>>>> >>> >> > Avg warm_times_by_url: 8665.666667ms >>>>>>> >>> >> > Sd warm_times_by_url: 756.245000ms >>>>>>> >>> >> > RESULT warm_times_by_url: >>>>>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>>>>> >>> >> > [788,820,814,814,874,836,806,798,800] ms >>>>>>> >>> >> > Avg warm_times_by_url: 816.666667ms >>>>>>> >>> >> > Sd warm_times_by_url: 25.612497ms >>>>>>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>>>>>> >>> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >>>>>>> >>> >> > Avg warm_times_by_url: 1070.666667ms >>>>>>> >>> >> > Sd warm_times_by_url: 21.731314ms >>>>>>> >>> >> > *RESULT warm_times: page_load_time= >>>>>>> >>> >> > >>>>>>> >>> >> > >>>>>>> >>> >> > >>>>>>> [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >>>>>>> >>> >> > Avg warm_times: 2741.688889ms >>>>>>> >>> >> > Sd warm_times: 2925.786481ms >>>>>>> >>> >> > >>>>>>> >>> >> > https://chromiumcodereview.appspot.com/110273002/ >>>>>>> >>> > >>>>>>> >>> > >>>>>>> >> >>>>>>> >> >>>>>>> > >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
FYI, I have just uploaded a patch doing what I suggested in my previous e-mail: emulating the behavior we had when ashmem was only limited to 128 regions. Hopefully this should be a good compromise for everyone :) Thanks On Tue, Dec 17, 2013 at 2:01 PM, Philippe Liard <pliard@chromium.org> wrote: > Thanks David, image_decoding is broken at the moment: > https://code.google.com/p/chromium/issues/detail?id=323015 > > However I could run rasterize_and_record and could only observe small > improvements with this patch. If this is still not enough for you guys I'm > willing to consider emulating the same behavior as before (as it was on > Android at least): allow up to 128 decoded images (non-accounted) + 32 > MBytes of capacity. > > Thanks, > Philippe. > > With the patch: > RESULT rasterize_time_by_url: Facebook= 197.494 ms > RESULT rasterize_time_by_url: Wikipedia (1 tab)= 73.114 ms > RESULT rasterize_time_by_url: http___www.amazon.com= 72.126 ms > RESULT rasterize_time_by_url: http___www.ask.com_= 242.017 ms > RESULT rasterize_time_by_url: http___www.bing.com_= 148.924 ms > RESULT rasterize_time_by_url: http___www.yahoo.com_= 66.492 ms > RESULT rasterize_time_by_url: http___www.youtube.com= 78.609 ms > RESULT rasterize_time_by_url: > https___www.google.com__hl_en_q_barack+obama= 148.542 ms > RESULT rasterize_time_by_url: https___www.google.com_calendar_= 195.332 ms > RESULT rasterized_pixels_by_url: Facebook= 3952640 pixels > RESULT rasterized_pixels_by_url: Wikipedia (1 tab)= 5263360 pixels > RESULT rasterized_pixels_by_url: http___www.amazon.com= 3680256 pixels > RESULT rasterized_pixels_by_url: http___www.ask.com_= 3949680 pixels > RESULT rasterized_pixels_by_url: http___www.bing.com_= 4237700 pixels > RESULT rasterized_pixels_by_url: http___www.yahoo.com_= 5901056 pixels > RESULT rasterized_pixels_by_url: http___www.youtube.com= 3957184 pixels > RESULT rasterized_pixels_by_url: > https___www.google.com__hl_en_q_barack+obama= 6039552 pixels > RESULT rasterized_pixels_by_url: https___www.google.com_calendar_= 3543040 > pixels > RESULT record_time_by_url: Facebook= 92.438 ms > RESULT record_time_by_url: Wikipedia (1 tab)= 227.219 ms > RESULT record_time_by_url: http___www.amazon.com= 31.353 ms > RESULT record_time_by_url: http___www.ask.com_= 16.973 ms > RESULT record_time_by_url: http___www.bing.com_= 12.968 ms > RESULT record_time_by_url: http___www.yahoo.com_= 46.602 ms > RESULT record_time_by_url: http___www.youtube.com= 53.281 ms > RESULT record_time_by_url: https___www.google.com__hl_en_q_barack+obama= > 32.324 ms > RESULT record_time_by_url: https___www.google.com_calendar_= 23.189 ms > RESULT recorded_pixels_by_url: Facebook= 12055930 pixels > RESULT recorded_pixels_by_url: Wikipedia (1 tab)= 12055930 pixels > RESULT recorded_pixels_by_url: http___www.amazon.com= 3079941 pixels > RESULT recorded_pixels_by_url: http___www.ask.com_= 1182930 pixels > RESULT recorded_pixels_by_url: http___www.bing.com_= 1291915 pixels > RESULT recorded_pixels_by_url: http___www.yahoo.com_= 4037420 pixels > RESULT recorded_pixels_by_url: http___www.youtube.com= 2337266 pixels > RESULT recorded_pixels_by_url: > https___www.google.com__hl_en_q_barack+obama= 2320010 pixels > RESULT recorded_pixels_by_url: https___www.google.com_calendar_= 940580 > pixels > > Without: > RESULT rasterize_time_by_url: Facebook= 208.6 ms > RESULT rasterize_time_by_url: Wikipedia (1 tab)= 84.328 ms > RESULT rasterize_time_by_url: http___www.amazon.com= 72.123 ms > RESULT rasterize_time_by_url: http___www.ask.com_= 243.275 ms > RESULT rasterize_time_by_url: http___www.bing.com_= 150.637 ms > RESULT rasterize_time_by_url: http___www.yahoo.com_= 66.562 ms > RESULT rasterize_time_by_url: http___www.youtube.com= 79.391 ms > RESULT rasterize_time_by_url: > https___www.google.com__hl_en_q_barack+obama= 151.774 ms > RESULT rasterize_time_by_url: https___www.google.com_calendar_= 224.438 ms > RESULT rasterized_pixels_by_url: Facebook= 4739072 pixels > RESULT rasterized_pixels_by_url: Wikipedia (1 tab)= 5263360 pixels > RESULT rasterized_pixels_by_url: http___www.amazon.com= 3680256 pixels > RESULT rasterized_pixels_by_url: http___www.ask.com_= 3949680 pixels > RESULT rasterized_pixels_by_url: http___www.bing.com_= 4237700 pixels > RESULT rasterized_pixels_by_url: http___www.yahoo.com_= 5901056 pixels > RESULT rasterized_pixels_by_url: http___www.youtube.com= 3957184 pixels > RESULT rasterized_pixels_by_url: > https___www.google.com__hl_en_q_barack+obama= 6039552 pixels > RESULT rasterized_pixels_by_url: https___www.google.com_calendar_= 3543040 > pixels > RESULT record_time_by_url: Facebook= 99.339 ms > RESULT record_time_by_url: Wikipedia (1 tab)= 266.019 ms > RESULT record_time_by_url: http___www.amazon.com= 31.385 ms > RESULT record_time_by_url: http___www.ask.com_= 16.908 ms > RESULT record_time_by_url: http___www.bing.com_= 12.815 ms > RESULT record_time_by_url: http___www.yahoo.com_= 44.101 ms > RESULT record_time_by_url: http___www.youtube.com= 53.221 ms > RESULT record_time_by_url: https___www.google.com__hl_en_q_barack+obama= > 30.632 ms > RESULT record_time_by_url: https___www.google.com_calendar_= 26.75 ms > RESULT recorded_pixels_by_url: Facebook= 12055930 pixels > RESULT recorded_pixels_by_url: Wikipedia (1 tab)= 12055930 pixels > RESULT recorded_pixels_by_url: http___www.amazon.com= 3079941 pixels > RESULT recorded_pixels_by_url: http___www.ask.com_= 1182930 pixels > RESULT recorded_pixels_by_url: http___www.bing.com_= 1291915 pixels > RESULT recorded_pixels_by_url: http___www.yahoo.com_= 4037420 pixels > RESULT recorded_pixels_by_url: http___www.youtube.com= 2337266 pixels > RESULT recorded_pixels_by_url: > https___www.google.com__hl_en_q_barack+obama= 2320010 pixels > RESULT recorded_pixels_by_url: https___www.google.com_calendar_= 940580 > pixels > > > > On Fri, Dec 13, 2013 at 6:33 PM, David Reveman <reveman@google.com> wrote: > >> >> >> >> On Fri, Dec 13, 2013 at 7:09 AM, Philippe Liard <pliard@chromium.org>wrote: >> >>> If we do have shared state/mutexes between those threads (whose >>> priorities would be different) then we can still have priority inversion >>> issues causing Jank. Anyway this might not be the first observable effect >>> caused by excessive image decoding as David said although I'm not able to >>> observe checkerboarding or low-res tiles either with this patch. There >>> doesn't seem to be any benchmark either AFAICT that would expose those >>> issues. How about submitting this? :) >>> >> >> We used to report checkerboarding in some benchmark but maybe it's been >> removed.. How about using the image_decode or rasterize_and_record >> benchmarks? A difference in amount of image decode should show up in those. >> >> >>> >>> >>> On Thu, Dec 12, 2013 at 7:53 PM, David Reveman <reveman@google.com>wrote: >>> >>>> >>>> >>>> >>>> On Thu, Dec 12, 2013 at 12:47 PM, Philippe Liard <pliard@chromium.org>wrote: >>>> >>>>> And also this patch would not be set in stone obviously :) Once we >>>>> have some LRU eviction logic in DiscardableMemory (in userspace) on all >>>>> platforms (with "smart" capacities preventing this kind of issue), thanks >>>>> to David, I would be happy to revert that patch. We can do even more though >>>>> by completely removing the eviction logic from ImageDecodingStore but let's >>>>> keep that (or not) for later :) >>>>> >>>>> >>>>> On Thu, Dec 12, 2013 at 6:39 PM, Philippe Liard <pliard@chromium.org>wrote: >>>>> >>>>>> If we do way more decoding there should be less CPU available and >>>>>> possibly more CPU contention being a possible cause of jank, right? There >>>>>> is obviously some existing jankiness on Nexus 10 and I filed a bug about it >>>>>> a couple of days ago with a Chrome Trace: >>>>>> https://code.google.com/p/chromium/issues/detail?id=327666. The >>>>>> trace appears to show CPU contention when the jank happens. If you guys now >>>>>> a benchmark exposing possible checkerboarding or low-res tiles I would be >>>>>> happy to try though :) But what I can tell you for know is that we can very >>>>>> quickly reach 128 MBytes of private dirty RAM only used by the >>>>>> ImageDecodingStore just by scrolling a bit on maps.google.com. And >>>>>> this is not even on a Nexus 10 (it's on a Nexus 4). This is a real bug to >>>>>> me with observable effects. On the other hand I haven't been able to >>>>>> measure nor observe any problem with this patch. >>>>>> >>>>> >>>> Raster threads have lower priority so more decoding should in theory >>>> not prevent us from producing frames at a consistent interval. This of >>>> course depends on the kernel behaving well so there are no guarantees but >>>> we shouldn't expect more raster work to have a negative impact on jank as >>>> we've done our best to build a system where this is not the case. >>>> >>>> >>>>> >>>>>> >>>>>> On Thu, Dec 12, 2013 at 6:28 PM, David Reveman <reveman@google.com>wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Thu, Dec 12, 2013 at 12:20 PM, Min Qin <qinmin@chromium.org>wrote: >>>>>>> >>>>>>>> with impl side painting and image decoding on the raster thread, >>>>>>>> does >>>>>>>> jankiness still caused by image decoding? I am doubtful about this. >>>>>>>> >>>>>>> >>>>>>> correct. you're not going to see jank from significantly reduced >>>>>>> decode performance. you might see more low-res tiles or checkerboarding as >>>>>>> a result of not being able to produce new tiles as efficiently. >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> On Thu, Dec 12, 2013 at 2:36 AM, Philippe Liard < >>>>>>>> pliard@chromium.org> wrote: >>>>>>>> > I ran the smoothness benchmarks on the top_10 page set (nexus 10) >>>>>>>> by doing: >>>>>>>> > $ tools/perf/run_measurement -v >>>>>>>> --browser=android-chromium-testshell >>>>>>>> > smoothness tools/perf/page_sets/top_10.json >>>>>>>> > >>>>>>>> > The data doesn't always always look very stable so I ran it twice >>>>>>>> and >>>>>>>> > retained the worst case with and without this patch. This is >>>>>>>> still not ideal >>>>>>>> > but we can hardly get more stable/meaningful data with such high >>>>>>>> level >>>>>>>> > benchmarks on so flaky devices (e.g. thermal throttling). >>>>>>>> > >>>>>>>> > Without the patch: >>>>>>>> > jank_count_by_url: Facebook= 5 janks >>>>>>>> > jank_count_by_url: Wikipedia (1 tab)= 1 janks >>>>>>>> > jank_count_by_url: http___www.amazon.com= 5 janks >>>>>>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>>>>>> > jank_count_by_url: http___www.yahoo.com= 9 janks >>>>>>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>>>>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= >>>>>>>> 5 janks >>>>>>>> > >>>>>>>> > With the patch: >>>>>>>> > jank_count_by_url: Facebook= 3 janks >>>>>>>> > jank_count_by_url: Wikipedia (1 tab)= 2 janks >>>>>>>> > jank_count_by_url: http___www.amazon.com= 7 janks >>>>>>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>>>>>> > jank_count_by_url: http___www.yahoo.com= 10 janks >>>>>>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>>>>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= >>>>>>>> 3 janks >>>>>>>> > >>>>>>>> > Surprisingly both of them end up with the same total amount of >>>>>>>> janks: 28. In >>>>>>>> > my opinion results should be weighted according to the amount of >>>>>>>> user on >>>>>>>> > each site. In this case the measurements with the patch would win >>>>>>>> :) But >>>>>>>> > anyway since this is quite noisy I don't think there is any >>>>>>>> statistically >>>>>>>> > significant difference between both. Again, I would be happy to >>>>>>>> > revert/investigate more if the bots/GASP tell us otherwise :) At >>>>>>>> this point >>>>>>>> > I don't see any strong reason not to move forward and save dozens >>>>>>>> of >>>>>>>> > megabytes of RAM. >>>>>>>> > >>>>>>>> > What do you think? >>>>>>>> > >>>>>>>> > Thanks, >>>>>>>> > Philippe. >>>>>>>> > >>>>>>>> > >>>>>>>> > On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard < >>>>>>>> pliard@chromium.org> wrote: >>>>>>>> >> >>>>>>>> >> Can I use a smoothness benchmark then? It should do some >>>>>>>> scrolling, right? >>>>>>>> >> >>>>>>>> >> >>>>>>>> >> On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> >>>>>>>> wrote: >>>>>>>> >>> >>>>>>>> >>> that's a benchmark for decoding png/gif/webp/jpeg files, so it >>>>>>>> only >>>>>>>> >>> evaluates the performance of libjpeg/libpng/libwebp etc. >>>>>>>> >>> >>>>>>>> >>> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam <hclam@chromium.org> >>>>>>>> wrote: >>>>>>>> >>> > There is an image_decoding_benchmark, can you use that? >>>>>>>> >>> > >>>>>>>> >>> > >>>>>>>> >>> > 2013/12/11 Min Qin <qinmin@chromium.org> >>>>>>>> >>> >> >>>>>>>> >>> >> This is the loading performance, not really the cache hit >>>>>>>> rate during >>>>>>>> >>> >> scrolling/fling. I don't think the stats are really useful in >>>>>>>> >>> >> evaluating the impact of your CL, we need a better benchmark. >>>>>>>> >>> >> >>>>>>>> >>> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> >>>>>>>> wrote: >>>>>>>> >>> >> > On 2013/12/09 19:29:43, Alpha wrote: >>>>>>>> >>> >> >> >>>>>>>> >>> >> >> On 2013/12/09 19:26:36, Philippe wrote: >>>>>>>> >>> >> >> > Who do you guys think I should add as an owner? >>>>>>>> >>> >> > >>>>>>>> >>> >> > >>>>>>>> >>> >> >> LGTM. As discussed you probably want to raise the cache >>>>>>>> limit to >>>>>>>> >>> >> >> something >>>>>>>> >>> >> >> larger than 32MB. >>>>>>>> >>> >> > >>>>>>>> >>> >> > >>>>>>>> >>> >> > Hi Min, >>>>>>>> >>> >> > >>>>>>>> >>> >> > I ran page_cyclers on Nexus 10 (which has a big screen) >>>>>>>> with the >>>>>>>> >>> >> > top_10 >>>>>>>> >>> >> > page >>>>>>>> >>> >> > set. I haven't seen any statistically significant change >>>>>>>> (in fact >>>>>>>> >>> >> > the >>>>>>>> >>> >> > average >>>>>>>> >>> >> > overall ends up being slightly faster with this change). I >>>>>>>> inlined >>>>>>>> >>> >> > the >>>>>>>> >>> >> > data >>>>>>>> >>> >> > below. I also ran the same page set on Chromium Linux with >>>>>>>> the extra >>>>>>>> >>> >> > --enable-deferred-image-decoding flag. Same conclusion. To >>>>>>>> be even >>>>>>>> >>> >> > more >>>>>>>> >>> >> > confident I did some manual scrolling testing on >>>>>>>> images.google.com >>>>>>>> >>> >> > (still on >>>>>>>> >>> >> > Nexus 10) with and without the change and did not observe >>>>>>>> extra >>>>>>>> >>> >> > jank. I >>>>>>>> >>> >> > also >>>>>>>> >>> >> > took a chrome trace and observed a similar amount of image >>>>>>>> decoding >>>>>>>> >>> >> > tasks. >>>>>>>> >>> >> > The >>>>>>>> >>> >> > perf bots will tell us of course if this turns out not to >>>>>>>> be the >>>>>>>> >>> >> > case. >>>>>>>> >>> >> > >>>>>>>> >>> >> > What do you think? >>>>>>>> >>> >> > >>>>>>>> >>> >> > Thanks, >>>>>>>> >>> >> > Philippe. >>>>>>>> >>> >> > >>>>>>>> >>> >> > >>>>>>>> >>> >> > $ tools/perf/run_measurement -v >>>>>>>> --browser=android-chromium-testshell >>>>>>>> >>> >> > page_cycler >>>>>>>> >>> >> > tools/perf/page_sets/top_10.json >>>>>>>> >>> >> > >>>>>>>> >>> >> > Without this CL: >>>>>>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>>>>>> >>> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 7229.222222ms >>>>>>>> >>> >> > Sd warm_times_by_url: 173.481827ms >>>>>>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>>>>>> >>> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 5135.777778ms >>>>>>>> >>> >> > Sd warm_times_by_url: 69.420418ms >>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>>>>>> >>> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 1565.666667ms >>>>>>>> >>> >> > Sd warm_times_by_url: 37.556624ms >>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>>>>>> >>> >> > [760,819,899,812,844,824,839,891,746] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 826.000000ms >>>>>>>> >>> >> > Sd warm_times_by_url: 51.298148ms >>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>>>>>> >>> >> > [271,261,254,290,287,233,248,258,260] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 262.444444ms >>>>>>>> >>> >> > Sd warm_times_by_url: 18.063161ms >>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>>>>>> >>> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 1627.555556ms >>>>>>>> >>> >> > Sd warm_times_by_url: 62.928752ms >>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>>>>>> >>> >> > [684,672,698,700,664,679,659,658,729] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 682.555556ms >>>>>>>> >>> >> > Sd warm_times_by_url: 23.260004ms >>>>>>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>>>>>> >>> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 8859.777778ms >>>>>>>> >>> >> > Sd warm_times_by_url: 961.881071ms >>>>>>>> >>> >> > RESULT warm_times_by_url: >>>>>>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>>>>>> >>> >> > [856,843,846,775,767,781,845,818,743] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 808.222222ms >>>>>>>> >>> >> > Sd warm_times_by_url: 42.079620ms >>>>>>>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>>>>>>> >>> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 1068.222222ms >>>>>>>> >>> >> > Sd warm_times_by_url: 13.055437ms >>>>>>>> >>> >> > *RESULT warm_times: page_load_time= >>>>>>>> >>> >> > >>>>>>>> >>> >> > >>>>>>>> >>> >> > >>>>>>>> [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >>>>>>>> >>> >> > Avg warm_times: 2806.544444ms >>>>>>>> >>> >> > Sd warm_times: 2971.912512ms >>>>>>>> >>> >> > >>>>>>>> >>> >> > >>>>>>>> >>> >> > With this CL: >>>>>>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>>>>>> >>> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >>>>>>>> >>> >> > >>>>>>>> >>> >> > >>>>>>>> >>> >> > >>>>>>>> >>> >> > Avg warm_times_by_url: 6690.444444ms >>>>>>>> >>> >> > Sd warm_times_by_url: 2228.774053ms >>>>>>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>>>>>> >>> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 5172.444444ms >>>>>>>> >>> >> > Sd warm_times_by_url: 143.618515ms >>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>>>>>> >>> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 1564.666667ms >>>>>>>> >>> >> > Sd warm_times_by_url: 59.720181ms >>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>>>>>> >>> >> > [863,853,804,857,792,861,834,813,872] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 838.777778ms >>>>>>>> >>> >> > Sd warm_times_by_url: 29.162381ms >>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>>>>>> >>> >> > [255,275,247,243,282,228,235,262,307] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 259.333333ms >>>>>>>> >>> >> > Sd warm_times_by_url: 25.124689ms >>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>>>>>> >>> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 1666.333333ms >>>>>>>> >>> >> > Sd warm_times_by_url: 40.865633ms >>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>>>>>> >>> >> > [656,672,675,679,668,675,646,694,682] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 671.888889ms >>>>>>>> >>> >> > Sd warm_times_by_url: 14.137224ms >>>>>>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>>>>>> >>> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 8665.666667ms >>>>>>>> >>> >> > Sd warm_times_by_url: 756.245000ms >>>>>>>> >>> >> > RESULT warm_times_by_url: >>>>>>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>>>>>> >>> >> > [788,820,814,814,874,836,806,798,800] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 816.666667ms >>>>>>>> >>> >> > Sd warm_times_by_url: 25.612497ms >>>>>>>> >>> >> > RESULT warm_times_by_url: https___www.google.com_calendar_= >>>>>>>> >>> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >>>>>>>> >>> >> > Avg warm_times_by_url: 1070.666667ms >>>>>>>> >>> >> > Sd warm_times_by_url: 21.731314ms >>>>>>>> >>> >> > *RESULT warm_times: page_load_time= >>>>>>>> >>> >> > >>>>>>>> >>> >> > >>>>>>>> >>> >> > >>>>>>>> [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >>>>>>>> >>> >> > Avg warm_times: 2741.688889ms >>>>>>>> >>> >> > Sd warm_times: 2925.786481ms >>>>>>>> >>> >> > >>>>>>>> >>> >> > https://chromiumcodereview.appspot.com/110273002/ >>>>>>>> >>> > >>>>>>>> >>> > >>>>>>>> >> >>>>>>>> >> >>>>>>>> > >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
On Tue, Dec 17, 2013 at 10:55 AM, Philippe Liard <pliard@chromium.org>wrote: > FYI, I have just uploaded a patch doing what I suggested in my previous > e-mail: emulating the behavior we had when ashmem was only limited to 128 > regions. Hopefully this should be a good compromise for everyone :) > sgtm. we'll just have to find a more appropriate fix as we switch to the new image cache. > > Thanks > > > On Tue, Dec 17, 2013 at 2:01 PM, Philippe Liard <pliard@chromium.org>wrote: > >> Thanks David, image_decoding is broken at the moment: >> https://code.google.com/p/chromium/issues/detail?id=323015 >> >> However I could run rasterize_and_record and could only observe small >> improvements with this patch. If this is still not enough for you guys I'm >> willing to consider emulating the same behavior as before (as it was on >> Android at least): allow up to 128 decoded images (non-accounted) + 32 >> MBytes of capacity. >> >> Thanks, >> Philippe. >> >> With the patch: >> RESULT rasterize_time_by_url: Facebook= 197.494 ms >> RESULT rasterize_time_by_url: Wikipedia (1 tab)= 73.114 ms >> RESULT rasterize_time_by_url: http___www.amazon.com= 72.126 ms >> RESULT rasterize_time_by_url: http___www.ask.com_= 242.017 ms >> RESULT rasterize_time_by_url: http___www.bing.com_= 148.924 ms >> RESULT rasterize_time_by_url: http___www.yahoo.com_= 66.492 ms >> RESULT rasterize_time_by_url: http___www.youtube.com= 78.609 ms >> RESULT rasterize_time_by_url: >> https___www.google.com__hl_en_q_barack+obama= 148.542 ms >> RESULT rasterize_time_by_url: https___www.google.com_calendar_= 195.332 ms >> RESULT rasterized_pixels_by_url: Facebook= 3952640 pixels >> RESULT rasterized_pixels_by_url: Wikipedia (1 tab)= 5263360 pixels >> RESULT rasterized_pixels_by_url: http___www.amazon.com= 3680256 pixels >> RESULT rasterized_pixels_by_url: http___www.ask.com_= 3949680 pixels >> RESULT rasterized_pixels_by_url: http___www.bing.com_= 4237700 pixels >> RESULT rasterized_pixels_by_url: http___www.yahoo.com_= 5901056 pixels >> RESULT rasterized_pixels_by_url: http___www.youtube.com= 3957184 pixels >> RESULT rasterized_pixels_by_url: >> https___www.google.com__hl_en_q_barack+obama= 6039552 pixels >> RESULT rasterized_pixels_by_url: https___www.google.com_calendar_= >> 3543040 pixels >> RESULT record_time_by_url: Facebook= 92.438 ms >> RESULT record_time_by_url: Wikipedia (1 tab)= 227.219 ms >> RESULT record_time_by_url: http___www.amazon.com= 31.353 ms >> RESULT record_time_by_url: http___www.ask.com_= 16.973 ms >> RESULT record_time_by_url: http___www.bing.com_= 12.968 ms >> RESULT record_time_by_url: http___www.yahoo.com_= 46.602 ms >> RESULT record_time_by_url: http___www.youtube.com= 53.281 ms >> RESULT record_time_by_url: https___www.google.com__hl_en_q_barack+obama= >> 32.324 ms >> RESULT record_time_by_url: https___www.google.com_calendar_= 23.189 ms >> RESULT recorded_pixels_by_url: Facebook= 12055930 pixels >> RESULT recorded_pixels_by_url: Wikipedia (1 tab)= 12055930 pixels >> RESULT recorded_pixels_by_url: http___www.amazon.com= 3079941 pixels >> RESULT recorded_pixels_by_url: http___www.ask.com_= 1182930 pixels >> RESULT recorded_pixels_by_url: http___www.bing.com_= 1291915 pixels >> RESULT recorded_pixels_by_url: http___www.yahoo.com_= 4037420 pixels >> RESULT recorded_pixels_by_url: http___www.youtube.com= 2337266 pixels >> RESULT recorded_pixels_by_url: >> https___www.google.com__hl_en_q_barack+obama= 2320010 pixels >> RESULT recorded_pixels_by_url: https___www.google.com_calendar_= 940580 >> pixels >> >> Without: >> RESULT rasterize_time_by_url: Facebook= 208.6 ms >> RESULT rasterize_time_by_url: Wikipedia (1 tab)= 84.328 ms >> RESULT rasterize_time_by_url: http___www.amazon.com= 72.123 ms >> RESULT rasterize_time_by_url: http___www.ask.com_= 243.275 ms >> RESULT rasterize_time_by_url: http___www.bing.com_= 150.637 ms >> RESULT rasterize_time_by_url: http___www.yahoo.com_= 66.562 ms >> RESULT rasterize_time_by_url: http___www.youtube.com= 79.391 ms >> RESULT rasterize_time_by_url: >> https___www.google.com__hl_en_q_barack+obama= 151.774 ms >> RESULT rasterize_time_by_url: https___www.google.com_calendar_= 224.438 ms >> RESULT rasterized_pixels_by_url: Facebook= 4739072 pixels >> RESULT rasterized_pixels_by_url: Wikipedia (1 tab)= 5263360 pixels >> RESULT rasterized_pixels_by_url: http___www.amazon.com= 3680256 pixels >> RESULT rasterized_pixels_by_url: http___www.ask.com_= 3949680 pixels >> RESULT rasterized_pixels_by_url: http___www.bing.com_= 4237700 pixels >> RESULT rasterized_pixels_by_url: http___www.yahoo.com_= 5901056 pixels >> RESULT rasterized_pixels_by_url: http___www.youtube.com= 3957184 pixels >> RESULT rasterized_pixels_by_url: >> https___www.google.com__hl_en_q_barack+obama= 6039552 pixels >> RESULT rasterized_pixels_by_url: https___www.google.com_calendar_= >> 3543040 pixels >> RESULT record_time_by_url: Facebook= 99.339 ms >> RESULT record_time_by_url: Wikipedia (1 tab)= 266.019 ms >> RESULT record_time_by_url: http___www.amazon.com= 31.385 ms >> RESULT record_time_by_url: http___www.ask.com_= 16.908 ms >> RESULT record_time_by_url: http___www.bing.com_= 12.815 ms >> RESULT record_time_by_url: http___www.yahoo.com_= 44.101 ms >> RESULT record_time_by_url: http___www.youtube.com= 53.221 ms >> RESULT record_time_by_url: https___www.google.com__hl_en_q_barack+obama= >> 30.632 ms >> RESULT record_time_by_url: https___www.google.com_calendar_= 26.75 ms >> RESULT recorded_pixels_by_url: Facebook= 12055930 pixels >> RESULT recorded_pixels_by_url: Wikipedia (1 tab)= 12055930 pixels >> RESULT recorded_pixels_by_url: http___www.amazon.com= 3079941 pixels >> RESULT recorded_pixels_by_url: http___www.ask.com_= 1182930 pixels >> RESULT recorded_pixels_by_url: http___www.bing.com_= 1291915 pixels >> RESULT recorded_pixels_by_url: http___www.yahoo.com_= 4037420 pixels >> RESULT recorded_pixels_by_url: http___www.youtube.com= 2337266 pixels >> RESULT recorded_pixels_by_url: >> https___www.google.com__hl_en_q_barack+obama= 2320010 pixels >> RESULT recorded_pixels_by_url: https___www.google.com_calendar_= 940580 >> pixels >> >> >> >> On Fri, Dec 13, 2013 at 6:33 PM, David Reveman <reveman@google.com>wrote: >> >>> >>> >>> >>> On Fri, Dec 13, 2013 at 7:09 AM, Philippe Liard <pliard@chromium.org>wrote: >>> >>>> If we do have shared state/mutexes between those threads (whose >>>> priorities would be different) then we can still have priority inversion >>>> issues causing Jank. Anyway this might not be the first observable effect >>>> caused by excessive image decoding as David said although I'm not able to >>>> observe checkerboarding or low-res tiles either with this patch. There >>>> doesn't seem to be any benchmark either AFAICT that would expose those >>>> issues. How about submitting this? :) >>>> >>> >>> We used to report checkerboarding in some benchmark but maybe it's been >>> removed.. How about using the image_decode or rasterize_and_record >>> benchmarks? A difference in amount of image decode should show up in those. >>> >>> >>>> >>>> >>>> On Thu, Dec 12, 2013 at 7:53 PM, David Reveman <reveman@google.com>wrote: >>>> >>>>> >>>>> >>>>> >>>>> On Thu, Dec 12, 2013 at 12:47 PM, Philippe Liard <pliard@chromium.org>wrote: >>>>> >>>>>> And also this patch would not be set in stone obviously :) Once we >>>>>> have some LRU eviction logic in DiscardableMemory (in userspace) on all >>>>>> platforms (with "smart" capacities preventing this kind of issue), thanks >>>>>> to David, I would be happy to revert that patch. We can do even more though >>>>>> by completely removing the eviction logic from ImageDecodingStore but let's >>>>>> keep that (or not) for later :) >>>>>> >>>>>> >>>>>> On Thu, Dec 12, 2013 at 6:39 PM, Philippe Liard <pliard@chromium.org>wrote: >>>>>> >>>>>>> If we do way more decoding there should be less CPU available and >>>>>>> possibly more CPU contention being a possible cause of jank, right? There >>>>>>> is obviously some existing jankiness on Nexus 10 and I filed a bug about it >>>>>>> a couple of days ago with a Chrome Trace: >>>>>>> https://code.google.com/p/chromium/issues/detail?id=327666. The >>>>>>> trace appears to show CPU contention when the jank happens. If you guys now >>>>>>> a benchmark exposing possible checkerboarding or low-res tiles I would be >>>>>>> happy to try though :) But what I can tell you for know is that we can very >>>>>>> quickly reach 128 MBytes of private dirty RAM only used by the >>>>>>> ImageDecodingStore just by scrolling a bit on maps.google.com. And >>>>>>> this is not even on a Nexus 10 (it's on a Nexus 4). This is a real bug to >>>>>>> me with observable effects. On the other hand I haven't been able to >>>>>>> measure nor observe any problem with this patch. >>>>>>> >>>>>> >>>>> Raster threads have lower priority so more decoding should in theory >>>>> not prevent us from producing frames at a consistent interval. This of >>>>> course depends on the kernel behaving well so there are no guarantees but >>>>> we shouldn't expect more raster work to have a negative impact on jank as >>>>> we've done our best to build a system where this is not the case. >>>>> >>>>> >>>>>> >>>>>>> >>>>>>> On Thu, Dec 12, 2013 at 6:28 PM, David Reveman <reveman@google.com>wrote: >>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Dec 12, 2013 at 12:20 PM, Min Qin <qinmin@chromium.org>wrote: >>>>>>>> >>>>>>>>> with impl side painting and image decoding on the raster thread, >>>>>>>>> does >>>>>>>>> jankiness still caused by image decoding? I am doubtful about this. >>>>>>>>> >>>>>>>> >>>>>>>> correct. you're not going to see jank from significantly reduced >>>>>>>> decode performance. you might see more low-res tiles or checkerboarding as >>>>>>>> a result of not being able to produce new tiles as efficiently. >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> On Thu, Dec 12, 2013 at 2:36 AM, Philippe Liard < >>>>>>>>> pliard@chromium.org> wrote: >>>>>>>>> > I ran the smoothness benchmarks on the top_10 page set (nexus >>>>>>>>> 10) by doing: >>>>>>>>> > $ tools/perf/run_measurement -v >>>>>>>>> --browser=android-chromium-testshell >>>>>>>>> > smoothness tools/perf/page_sets/top_10.json >>>>>>>>> > >>>>>>>>> > The data doesn't always always look very stable so I ran it >>>>>>>>> twice and >>>>>>>>> > retained the worst case with and without this patch. This is >>>>>>>>> still not ideal >>>>>>>>> > but we can hardly get more stable/meaningful data with such high >>>>>>>>> level >>>>>>>>> > benchmarks on so flaky devices (e.g. thermal throttling). >>>>>>>>> > >>>>>>>>> > Without the patch: >>>>>>>>> > jank_count_by_url: Facebook= 5 janks >>>>>>>>> > jank_count_by_url: Wikipedia (1 tab)= 1 janks >>>>>>>>> > jank_count_by_url: http___www.amazon.com= 5 janks >>>>>>>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>>>>>>> > jank_count_by_url: http___www.yahoo.com= 9 janks >>>>>>>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>>>>>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= >>>>>>>>> 5 janks >>>>>>>>> > >>>>>>>>> > With the patch: >>>>>>>>> > jank_count_by_url: Facebook= 3 janks >>>>>>>>> > jank_count_by_url: Wikipedia (1 tab)= 2 janks >>>>>>>>> > jank_count_by_url: http___www.amazon.com= 7 janks >>>>>>>>> > jank_count_by_url: http___www.ask.com= 2 janks >>>>>>>>> > jank_count_by_url: http___www.yahoo.com= 10 janks >>>>>>>>> > jank_count_by_url: http___www.youtube.com= 1 janks >>>>>>>>> > jank_count_by_url: https___www.google.com__hl_en_q_barack+obama= >>>>>>>>> 3 janks >>>>>>>>> > >>>>>>>>> > Surprisingly both of them end up with the same total amount of >>>>>>>>> janks: 28. In >>>>>>>>> > my opinion results should be weighted according to the amount of >>>>>>>>> user on >>>>>>>>> > each site. In this case the measurements with the patch would >>>>>>>>> win :) But >>>>>>>>> > anyway since this is quite noisy I don't think there is any >>>>>>>>> statistically >>>>>>>>> > significant difference between both. Again, I would be happy to >>>>>>>>> > revert/investigate more if the bots/GASP tell us otherwise :) At >>>>>>>>> this point >>>>>>>>> > I don't see any strong reason not to move forward and save >>>>>>>>> dozens of >>>>>>>>> > megabytes of RAM. >>>>>>>>> > >>>>>>>>> > What do you think? >>>>>>>>> > >>>>>>>>> > Thanks, >>>>>>>>> > Philippe. >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > On Wed, Dec 11, 2013 at 8:53 PM, Philippe Liard < >>>>>>>>> pliard@chromium.org> wrote: >>>>>>>>> >> >>>>>>>>> >> Can I use a smoothness benchmark then? It should do some >>>>>>>>> scrolling, right? >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> >> On Wed, Dec 11, 2013 at 8:48 PM, Min Qin <qinmin@chromium.org> >>>>>>>>> wrote: >>>>>>>>> >>> >>>>>>>>> >>> that's a benchmark for decoding png/gif/webp/jpeg files, so it >>>>>>>>> only >>>>>>>>> >>> evaluates the performance of libjpeg/libpng/libwebp etc. >>>>>>>>> >>> >>>>>>>>> >>> On Wed, Dec 11, 2013 at 11:41 AM, Alpha Lam < >>>>>>>>> hclam@chromium.org> wrote: >>>>>>>>> >>> > There is an image_decoding_benchmark, can you use that? >>>>>>>>> >>> > >>>>>>>>> >>> > >>>>>>>>> >>> > 2013/12/11 Min Qin <qinmin@chromium.org> >>>>>>>>> >>> >> >>>>>>>>> >>> >> This is the loading performance, not really the cache hit >>>>>>>>> rate during >>>>>>>>> >>> >> scrolling/fling. I don't think the stats are really useful >>>>>>>>> in >>>>>>>>> >>> >> evaluating the impact of your CL, we need a better >>>>>>>>> benchmark. >>>>>>>>> >>> >> >>>>>>>>> >>> >> On Wed, Dec 11, 2013 at 4:10 AM, <pliard@chromium.org> >>>>>>>>> wrote: >>>>>>>>> >>> >> > On 2013/12/09 19:29:43, Alpha wrote: >>>>>>>>> >>> >> >> >>>>>>>>> >>> >> >> On 2013/12/09 19:26:36, Philippe wrote: >>>>>>>>> >>> >> >> > Who do you guys think I should add as an owner? >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > >>>>>>>>> >>> >> >> LGTM. As discussed you probably want to raise the cache >>>>>>>>> limit to >>>>>>>>> >>> >> >> something >>>>>>>>> >>> >> >> larger than 32MB. >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > Hi Min, >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > I ran page_cyclers on Nexus 10 (which has a big screen) >>>>>>>>> with the >>>>>>>>> >>> >> > top_10 >>>>>>>>> >>> >> > page >>>>>>>>> >>> >> > set. I haven't seen any statistically significant change >>>>>>>>> (in fact >>>>>>>>> >>> >> > the >>>>>>>>> >>> >> > average >>>>>>>>> >>> >> > overall ends up being slightly faster with this change). >>>>>>>>> I inlined >>>>>>>>> >>> >> > the >>>>>>>>> >>> >> > data >>>>>>>>> >>> >> > below. I also ran the same page set on Chromium Linux >>>>>>>>> with the extra >>>>>>>>> >>> >> > --enable-deferred-image-decoding flag. Same conclusion. >>>>>>>>> To be even >>>>>>>>> >>> >> > more >>>>>>>>> >>> >> > confident I did some manual scrolling testing on >>>>>>>>> images.google.com >>>>>>>>> >>> >> > (still on >>>>>>>>> >>> >> > Nexus 10) with and without the change and did not observe >>>>>>>>> extra >>>>>>>>> >>> >> > jank. I >>>>>>>>> >>> >> > also >>>>>>>>> >>> >> > took a chrome trace and observed a similar amount of >>>>>>>>> image decoding >>>>>>>>> >>> >> > tasks. >>>>>>>>> >>> >> > The >>>>>>>>> >>> >> > perf bots will tell us of course if this turns out not to >>>>>>>>> be the >>>>>>>>> >>> >> > case. >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > What do you think? >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > Thanks, >>>>>>>>> >>> >> > Philippe. >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > $ tools/perf/run_measurement -v >>>>>>>>> --browser=android-chromium-testshell >>>>>>>>> >>> >> > page_cycler >>>>>>>>> >>> >> > tools/perf/page_sets/top_10.json >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > Without this CL: >>>>>>>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>>>>>>> >>> >> > [7355,7126,7109,7379,6904,7148,7463,7329,7250] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 7229.222222ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 173.481827ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>>>>>>> >>> >> > [5214,5242,5072,5106,5122,5155,5195,5054,5062] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 5135.777778ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 69.420418ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>>>>>>> >>> >> > [1576,1540,1625,1613,1540,1523,1564,1523,1587] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 1565.666667ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 37.556624ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>>>>>>> >>> >> > [760,819,899,812,844,824,839,891,746] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 826.000000ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 51.298148ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>>>>>>> >>> >> > [271,261,254,290,287,233,248,258,260] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 262.444444ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 18.063161ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>>>>>>> >>> >> > [1583,1607,1704,1634,1631,1613,1532,1743,1601] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 1627.555556ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 62.928752ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>>>>>>> >>> >> > [684,672,698,700,664,679,659,658,729] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 682.555556ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 23.260004ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>>>>>>> >>> >> > [10593,10489,8341,8496,8542,8403,8373,8088,8413] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 8859.777778ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 961.881071ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: >>>>>>>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>>>>>>> >>> >> > [856,843,846,775,767,781,845,818,743] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 808.222222ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 42.079620ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: >>>>>>>>> https___www.google.com_calendar_= >>>>>>>>> >>> >> > [1076,1055,1092,1068,1077,1072,1068,1055,1051] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 1068.222222ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 13.055437ms >>>>>>>>> >>> >> > *RESULT warm_times: page_load_time= >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > >>>>>>>>> [856,10593,1076,684,7355,5214,1576,1583,271,760,843,10489,1055,672,7126,5242,1540,1607,261,819,846,8341,1092,698,7109,5072,1625,1704,254,899,775,8496,1068,700,7379,5106,1613,1634,290,812,767,8542,1077,664,6904,5122,1540,1631,287,844,781,8403,1072,679,7148,5155,1523,1613,233,824,845, >>>>>>>>> >>> >> > Avg warm_times: 2806.544444ms >>>>>>>>> >>> >> > Sd warm_times: 2971.912512ms >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > With this CL: >>>>>>>>> >>> >> > RESULT warm_times_by_url: Facebook= >>>>>>>>> >>> >> > [762,7524,7486,7405,7620,7477,7115,7569,7256] ms >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > Avg warm_times_by_url: 6690.444444ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 2228.774053ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: Wikipedia (1 tab)= >>>>>>>>> >>> >> > [5211,5318,4985,5126,5387,5136,5044,5029,5316] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 5172.444444ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 143.618515ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.amazon.com= >>>>>>>>> >>> >> > [1628,1520,1536,1626,1461,1555,1571,1540,1645] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 1564.666667ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 59.720181ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.ask.com_= >>>>>>>>> >>> >> > [863,853,804,857,792,861,834,813,872] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 838.777778ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 29.162381ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.bing.com_= >>>>>>>>> >>> >> > [255,275,247,243,282,228,235,262,307] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 259.333333ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 25.124689ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.yahoo.com_= >>>>>>>>> >>> >> > [1603,1687,1693,1674,1647,1618,1665,1740,1670] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 1666.333333ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 40.865633ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: http___www.youtube.com= >>>>>>>>> >>> >> > [656,672,675,679,668,675,646,694,682] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 671.888889ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 14.137224ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: https___mail.google.com_mail_= >>>>>>>>> >>> >> > [10674,8475,8483,8368,8452,8401,8273,8383,8482] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 8665.666667ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 756.245000ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: >>>>>>>>> >>> >> > https___www.google.com__hl_en_q_barack+obama= >>>>>>>>> >>> >> > [788,820,814,814,874,836,806,798,800] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 816.666667ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 25.612497ms >>>>>>>>> >>> >> > RESULT warm_times_by_url: >>>>>>>>> https___www.google.com_calendar_= >>>>>>>>> >>> >> > [1075,1070,1049,1095,1071,1065,1107,1034,1070] ms >>>>>>>>> >>> >> > Avg warm_times_by_url: 1070.666667ms >>>>>>>>> >>> >> > Sd warm_times_by_url: 21.731314ms >>>>>>>>> >>> >> > *RESULT warm_times: page_load_time= >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > >>>>>>>>> [788,10674,1075,656,762,5211,1628,1603,255,863,820,8475,1070,672,7524,5318,1520,1687,275,853,814,8483,1049,675,7486,4985,1536,1693,247,804,814,8368,1095,679,7405,5126,1626,1674,243,857,874,8452,1071,668,7620,5387,1461,1647,282,792,836,8401,1065,675,7477,5136,1555,1618,228,861,806,82 >>>>>>>>> >>> >> > Avg warm_times: 2741.688889ms >>>>>>>>> >>> >> > Sd warm_times: 2925.786481ms >>>>>>>>> >>> >> > >>>>>>>>> >>> >> > https://chromiumcodereview.appspot.com/110273002/ >>>>>>>>> >>> > >>>>>>>>> >>> > >>>>>>>>> >> >>>>>>>>> >> >>>>>>>>> > >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>> >> > To unsubscribe from this group and stop receiving emails from it, send an email to blink-reviews+unsubscribe@chromium.org.
Thanks David, I have just uploaded a better version of the patch and added Stephen too.
Ping :)
rsLGTM
Thanks Stephen! I will need you to take a look at patch set 4 though. Patch set 3 was actually buggy in a subtle way. We need to store the information whether an entry must be accounted in the entry itself (upon insertion) to handle memory usage decrement correctly (upon removal). This new boolean flag in the CacheEntry is a proxy for "this CacheEntry would have been allocated in the heap if discardable memory was only limited to 128 memory regions".
I'd prefer that Alpha take another look, then.
On 2013/12/19 17:55:20, Stephen White wrote: > I'd prefer that Alpha take another look, then. Agreed, Alpha: ping :)
On 2013/12/20 13:40:38, Philippe wrote: > On 2013/12/19 17:55:20, Stephen White wrote: > > I'd prefer that Alpha take another look, then. > > Agreed, Alpha: ping :) Okay. LGTM.
On 2013/12/20 18:02:48, Alpha wrote: > On 2013/12/20 13:40:38, Philippe wrote: > > On 2013/12/19 17:55:20, Stephen White wrote: > > > I'd prefer that Alpha take another look, then. > > > > Agreed, Alpha: ping :) > > Okay. LGTM. Thanks guys! Landing...
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/pliard@chromium.org/110273002/80001
Message was sent while issue was closed.
Change committed as 164285 |