Issue metadata
Sign in to add a comment
|
22.3%-22.6% regression in blink_perf.dom at 477086:477215 |
||||||||||||||||||||
Issue descriptionSee the link to graphs below.
,
Jun 9 2017
Started bisect job https://chromeperf.appspot.com/buildbucket_job_status/8977268060866967760
,
Jun 9 2017
=== Auto-CCing suspected CL author cathiechen@tencent.com === Hi cathiechen@tencent.com, the bisect results pointed to your CL, please take a look at the results. === BISECT JOB RESULTS === Perf regression found with culprit Suspected Commit Author : cathiechen Commit : 47f9b0ff7d4594f6633956ac570966439b4d5125 Date : Tue Jun 06 04:51:41 2017 Subject: Fix font-size shaking issue in some page Bisect Details Configuration: android_one_perf_bisect Benchmark : blink_perf.dom Metric : select-long-word/select-long-word Change : 22.83% | 2221.3325 -> 2728.52216667 Revision Result N chromium@477085 2221.33 +- 34.4353 6 good chromium@477142 2218.5 +- 45.4762 6 good chromium@477171 2227.48 +- 13.6182 6 good chromium@477185 2219.64 +- 22.8399 6 good chromium@477192 2215.02 +- 27.1953 6 good chromium@477196 2229.69 +- 11.5384 6 good chromium@477197 2226.78 +- 20.7106 6 good chromium@477198 2719.59 +- 22.214 6 bad <-- chromium@477199 2728.52 +- 28.3465 6 bad To Run This Test src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests blink_perf.dom Debug Info https://chromeperf.appspot.com/buildbucket_job_status/8977268060866967760 Is this bisect wrong? https://chromeperf.appspot.com/bad_bisect?try_job_id=5773326762377216 | O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq | X | for more information addressing perf regression bugs. For feedback, | / \ | file a bug with component Speed>Bisection. Thank you!
,
Jun 10 2017
Issue 731681 has been merged into this issue.
,
Jun 12 2017
Working on this.
,
Jun 12 2017
,
Jun 15 2017
Issue 732309 has been merged into this issue.
,
Jul 5 2017
Sorry for the delay. Here is the summary of these issues. In order to prevent the shaking issue, this CL make root cluster use LayoutView as WidthProvider that might enlarge font size a bit on some page. 1. Issue 731681 : multicol_lots-of-text-balanced, fixed. For more details https://codereview.chromium.org/2961583003 2. Issue 731659 : select-long-word and Issue 732309 : tough_scrolling_cases, won't fix. These regressions are caused by font size enlarging. 2.1 select-long-word: Before this CL root cluster's WidthProvider is 800px(<div id="long">). After CL it's changed to 980px(LayoutView). So the font size multiplier change from 2.5 to 3.0625. 'select-long-word' tests the performance of `getSelection().modify("extend", "forward", "word")`. Finding the end position of word cost the most time. According to the procedure of VisibleUnits.cpp NextBoundaryAlgorithm(), it will "Keep asking the iterator for chunks until the search function returns an end value not equal to the length of the string passed to it." These chunks are generated by inlineTextBox. As the font size enlarged, it would generate more inlineTextBox. That's the reason of this regression. 2.2 tough_scrolling_cases: Before this CL root cluster's WidthProvider is 964px(<body>), after it WidthProvider is 980px(LayoutView). Multiplier change from 3.0125 to 3.0625. According to [scroll.js](https://cs.chromium.org/chromium/src/third_party/catapult/telemetry/telemetry/internal/actions/scroll.js) ScrollAction.prototype.startGesture_ var max_scroll_length_pixels = (MAX_SCROLL_LENGTH_TIME_MS / 1000) * this.options_.speed_; var distance = Math.min(max_scroll_length_pixels, this.getScrollDistance_()); The scroll `distance` might be `this.getScrollDistance_()` if speed_ is big enough. ScrollAction.prototype.getScrollDistanceDown_ = function() { var clientHeight; // clientHeight is "special" for the body element. if (this.element_ == document.body) clientHeight = __GestureCommon_GetWindowHeight(); else clientHeight = this.element_.clientHeight; return this.element_.scrollHeight - this.element_.scrollTop - clientHeight; }; `this.element` is <HTML>. For the font size enlarged, the distance will bigger than before. That's the reason of regression. 3. Issue 732311 : html5-full-render, couldn't reproduce. Couldn't reproduce this regression at my local nexus7 telemetry environment. alexclarke@ could you check it again?
,
Jul 5 2017
,
Jul 6 2017
Started bisect job https://chromeperf.appspot.com/buildbucket_job_status/8974850966071636704
,
Jul 6 2017
=== BISECT JOB RESULTS === NO Perf regression found Bisect Details Configuration: android_nexus7_perf_bisect Benchmark : blink_perf.parser Metric : html5-full-render/html5-full-render Revision Result N chromium@477118 36310.3 +- 486.196 21 good chromium@477197 36254.1 +- 516.909 21 bad To Run This Test src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests blink_perf.parser More information on addressing performance regressions: http://g.co/ChromePerformanceRegressions Debug information about this bisect: https://chromeperf.appspot.com/buildbucket_job_status/8974850966071636704 For feedback, file a bug with component Speed>Bisection
,
Jul 12 2017
Update: Issue 732311 : `html5-full-render`, could reproduce. Before this CL root cluster's WidthProvider is 828px(<body> with padding:152px). After CL it's changed to 980px(LayoutView). So the font size multiplier change from 2.5875 to 3.0625. `html5-full-render` tests the layout time. Enlarge font-size and generate more inlineTextBox will cost more layout time too. In a word, Issue 732311 , Issue 731659 and Issue 732309 are sensitive to font-size.
,
Jul 12 2017
Closing this bug as WontFix based on the analysis in comment #8 and the discussion on http://crrev.com/c/566762. The reported regressions appear to be a side effect of having more lines / larger scroll dimensions in the test case after increasing the text autosizing multiplier. Therefore they are not likely to reflect any real-world performance impact. |
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by primiano@chromium.org
, Jun 9 2017