Improve frame throughput/latency/smoothness metrics |
||||||||||||||||||
Issue descriptionThis is a tracking bug for improvements to our metrics for throughput, latency, and smoothness. The scope of this includes: 1) Getting accurate display timestamps on as many platforms as possible. 2) Tracking as many invalidation sources as we can (e.g. main, cc, renderer, ui, video, offscreen canvas.) 3) Determining how best to calculate the metrics. 4) Determining how to combine metrics for different invalidation sources. 5) Calculating the metrics at runtime and reporting the same metrics to traces, UMA, UKM, telemetry, etc. ⛆ |
|
|
,
Dec 1 2017
,
Jan 30 2018
,
Jan 30 2018
,
Jan 30 2018
,
Jan 30 2018
,
Mar 1 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/69624e75b38d96817565ac1989f052ca26a5c2e5 commit 69624e75b38d96817565ac1989f052ca26a5c2e5 Author: Brian Anderson <brianderson@chromium.org> Date: Thu Mar 01 23:25:03 2018 android: Plumb PresentationFeedback to the Renderer Bug: 776877 , 790761 Change-Id: Ia64b43faaf21368eb44fbc85b1320c593291ad8a Reviewed-on: https://chromium-review.googlesource.com/944259 Commit-Queue: Brian Anderson <brianderson@chromium.org> Reviewed-by: Bo <boliu@chromium.org> Reviewed-by: Peng Huang <penghuang@chromium.org> Cr-Commit-Position: refs/heads/master@{#540343} [modify] https://crrev.com/69624e75b38d96817565ac1989f052ca26a5c2e5/content/browser/renderer_host/compositor_impl_android.cc [modify] https://crrev.com/69624e75b38d96817565ac1989f052ca26a5c2e5/content/browser/renderer_host/render_widget_host_view_android.cc [modify] https://crrev.com/69624e75b38d96817565ac1989f052ca26a5c2e5/content/browser/renderer_host/render_widget_host_view_android.h [modify] https://crrev.com/69624e75b38d96817565ac1989f052ca26a5c2e5/ui/android/delegated_frame_host_android.cc [modify] https://crrev.com/69624e75b38d96817565ac1989f052ca26a5c2e5/ui/android/delegated_frame_host_android.h
,
Mar 2 2018
,
Mar 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7d87b6c0aa12c58e4b80698bcf7af3d931790d54 commit 7d87b6c0aa12c58e4b80698bcf7af3d931790d54 Author: Brian Anderson <brianderson@chromium.org> Date: Mon Mar 12 22:27:37 2018 ui: FrameMetrics fixed point helpers. Adds constants and helpers for upcomming frame metrics. The Accumulator96b class accumulates values with 96 bits of precision, which will be important when accumulating 32-bit values that are squared and weighted. Bug: 790761 Change-Id: Ie88800bef37c6103dd2becd9f85402b3e5fd34d4 Reviewed-on: https://chromium-review.googlesource.com/949823 Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org> Reviewed-by: danakj <danakj@chromium.org> Commit-Queue: Brian Anderson <brianderson@chromium.org> Cr-Commit-Position: refs/heads/master@{#542628} [modify] https://crrev.com/7d87b6c0aa12c58e4b80698bcf7af3d931790d54/ui/latency/BUILD.gn [modify] https://crrev.com/7d87b6c0aa12c58e4b80698bcf7af3d931790d54/ui/latency/OWNERS [add] https://crrev.com/7d87b6c0aa12c58e4b80698bcf7af3d931790d54/ui/latency/fixed_point.cc [add] https://crrev.com/7d87b6c0aa12c58e4b80698bcf7af3d931790d54/ui/latency/fixed_point.h [add] https://crrev.com/7d87b6c0aa12c58e4b80698bcf7af3d931790d54/ui/latency/fixed_point_unittest.cc
,
Mar 21 2018
,
Mar 26 2018
,
Mar 27 2018
,
Apr 4 2018
,
May 2 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db commit 08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db Author: Brian Anderson <brianderson@chromium.org> Date: Wed May 02 21:44:05 2018 ui: Add FrameMetrics class. This is the high level helper class that will be used by all frame sources that we want to instrument. It takes in timing information about frames produced and displayed and calculates metrics for a frame's throughput, latency, latency speed, and latency acceleration. It forwards those computations to StreamAnalyzers which compute statistics of each metric over time, including mean, RMS, standard deviation, percentiles, and worst performing time period. Bug: 790761 Change-Id: Ibe2980e861acf0af3904b1e8d8caf134d9ef141b Reviewed-on: https://chromium-review.googlesource.com/979120 Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org> Reviewed-by: Brian Anderson <brianderson@chromium.org> Reviewed-by: Timothy Dresser <tdresser@chromium.org> Commit-Queue: Brian Anderson <brianderson@chromium.org> Cr-Commit-Position: refs/heads/master@{#555561} [modify] https://crrev.com/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db/ui/latency/BUILD.gn [add] https://crrev.com/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db/ui/latency/frame_metrics.cc [add] https://crrev.com/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db/ui/latency/frame_metrics.h [modify] https://crrev.com/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db/ui/latency/frame_metrics_test_common.h [add] https://crrev.com/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db/ui/latency/frame_metrics_unittest.cc [modify] https://crrev.com/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db/ui/latency/histograms.cc [modify] https://crrev.com/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db/ui/latency/histograms.h [modify] https://crrev.com/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db/ui/latency/histograms_unittest.cc [modify] https://crrev.com/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db/ui/latency/stream_analyzer.cc [modify] https://crrev.com/08edd23f394b8ce6f5b9b7a87075b8dd4d3c10db/ui/latency/stream_analyzer.h
,
May 16 2018
,
Jun 13 2018
,
Jun 27 2018
,
Jun 27 2018
Moving ownership of the tracking bug over to Sadrul. All the "Blocked on" bugs have been marked available with the relevant folks cc'd.
,
Jul 4
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/11a96bd2a40000
,
Jul 4
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/11a96bd2a40000 Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
,
Jul 5
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/12ebe954a40000
,
Jul 5
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/12ebe954a40000 Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
,
Jul 5
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/12eeacbca40000
,
Jul 5
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/12eeacbca40000 Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
,
Jul 5
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/168d4c74a40000
,
Jul 5
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/168d4c74a40000 Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
,
Jul 5
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/11ae9764a40000
,
Jul 5
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/11ae9764a40000 Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
,
Jul 9
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/16a5fb0aa40000
,
Jul 9
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/1430cdd4a40000
,
Jul 9
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/16a5fb0aa40000 Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
,
Jul 9
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/1430cdd4a40000 Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
,
Jul 11
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/11a457f4a40000
,
Jul 11
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/11a457f4a40000 Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
,
Jul 11
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/1597cff4a40000
,
Jul 11
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/11ba168aa40000
,
Jul 11
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/11ba168aa40000 'unicode' object has no attribute 'get'
,
Jul 11
📍 Job complete. See results below. https://pinpoint-dot-chromeperf.appspot.com/job/1597cff4a40000
,
Jul 11
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/17d087b2a40000
,
Jul 11
,
Jul 11
Blocking on crbug.com/862654 - Pinpoint failure locating isolate hash.
,
Jul 12
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/1457cff4a40000
,
Jul 12
😿 Pinpoint job stopped with an error. https://pinpoint-dot-chromeperf.appspot.com/job/1457cff4a40000 Buildbucket says the build completed successfully, but Pinpoint can't find the isolate hash.
,
Jul 12
📍 Job complete. See results below. https://pinpoint-dot-chromeperf.appspot.com/job/17d087b2a40000
,
Jul 12
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/12cfd976a40000
,
Jul 12
📍 Pinpoint job started. https://pinpoint-dot-chromeperf.appspot.com/job/14c50681a40000
,
Jul 13
📍 Job complete. See results below. https://pinpoint-dot-chromeperf.appspot.com/job/14c50681a40000
,
Jul 13
📍 Job complete. See results below. https://pinpoint-dot-chromeperf.appspot.com/job/12cfd976a40000
,
Jul 13
Issue 862654 is fixed! Please try again.
,
Aug 15
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dd9f811b9a2310ec38e96f7e135aad575c2de06a commit dd9f811b9a2310ec38e96f7e135aad575c2de06a Author: Vikas Soni <vikassoni@chromium.org> Date: Wed Aug 15 19:42:12 2018 Add support for reporting EGL Timestamps via presentation feedback. This CL adds support for reporting egl_composite_interval and presentation_time via the presentation feedabck. GLSurfacePresentationHelper uses the new interface EGLTImestampClient to query the egl timestamp info. Bug: 790761 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I7e1f3200bba41bf3252b8acedc68393eeeb76df5 Reviewed-on: https://chromium-review.googlesource.com/1106600 Commit-Queue: vikas soni <vikassoni@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Cr-Commit-Position: refs/heads/master@{#583360} [modify] https://crrev.com/dd9f811b9a2310ec38e96f7e135aad575c2de06a/ui/gl/BUILD.gn [add] https://crrev.com/dd9f811b9a2310ec38e96f7e135aad575c2de06a/ui/gl/egl_timestamps.h [modify] https://crrev.com/dd9f811b9a2310ec38e96f7e135aad575c2de06a/ui/gl/gl_surface.cc [modify] https://crrev.com/dd9f811b9a2310ec38e96f7e135aad575c2de06a/ui/gl/gl_surface.h [modify] https://crrev.com/dd9f811b9a2310ec38e96f7e135aad575c2de06a/ui/gl/gl_surface_egl.cc [modify] https://crrev.com/dd9f811b9a2310ec38e96f7e135aad575c2de06a/ui/gl/gl_surface_egl.h [modify] https://crrev.com/dd9f811b9a2310ec38e96f7e135aad575c2de06a/ui/gl/gl_surface_presentation_helper.cc [modify] https://crrev.com/dd9f811b9a2310ec38e96f7e135aad575c2de06a/ui/gl/gl_surface_presentation_helper.h
,
Aug 17
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/92b9ba1a74dcfaadc6136172ac403636c00cfabd commit 92b9ba1a74dcfaadc6136172ac403636c00cfabd Author: Brian Sheedy <bsheedy@chromium.org> Date: Fri Aug 17 19:54:38 2018 Revert "Add support for reporting EGL Timestamps via" This reverts commit dd9f811b9a2310ec38e96f7e135aad575c2de06a. Reason for revert: Causing renderer crashes in some VR tests https://crbug.com/875121 Original change's description: > Add support for reporting EGL Timestamps via > presentation feedback. > > This CL adds support for reporting egl_composite_interval and > presentation_time via the presentation feedabck. > GLSurfacePresentationHelper uses the new interface > EGLTImestampClient to query the egl timestamp info. > > Bug: 790761 > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel > Change-Id: I7e1f3200bba41bf3252b8acedc68393eeeb76df5 > Reviewed-on: https://chromium-review.googlesource.com/1106600 > Commit-Queue: vikas soni <vikassoni@chromium.org> > Reviewed-by: Antoine Labour <piman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#583360} TBR=penghuang@chromium.org,brianderson@chromium.org,piman@chromium.org,ericrk@chromium.org,vikassoni@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 790761 Change-Id: I75d1140881a8ae2d94512bde56dae5b27d532d7c Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/1180042 Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Commit-Queue: Brian Sheedy <bsheedy@chromium.org> Cr-Commit-Position: refs/heads/master@{#584156} [modify] https://crrev.com/92b9ba1a74dcfaadc6136172ac403636c00cfabd/ui/gl/BUILD.gn [delete] https://crrev.com/6a60f01228557982e6508c5919cc21fcfddf110b/ui/gl/egl_timestamps.h [modify] https://crrev.com/92b9ba1a74dcfaadc6136172ac403636c00cfabd/ui/gl/gl_surface.cc [modify] https://crrev.com/92b9ba1a74dcfaadc6136172ac403636c00cfabd/ui/gl/gl_surface.h [modify] https://crrev.com/92b9ba1a74dcfaadc6136172ac403636c00cfabd/ui/gl/gl_surface_egl.cc [modify] https://crrev.com/92b9ba1a74dcfaadc6136172ac403636c00cfabd/ui/gl/gl_surface_egl.h [modify] https://crrev.com/92b9ba1a74dcfaadc6136172ac403636c00cfabd/ui/gl/gl_surface_presentation_helper.cc [modify] https://crrev.com/92b9ba1a74dcfaadc6136172ac403636c00cfabd/ui/gl/gl_surface_presentation_helper.h
,
Aug 23
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5b209d0259fcd1420aeb8e4ad0e910f7b0197e20 commit 5b209d0259fcd1420aeb8e4ad0e910f7b0197e20 Author: Vikas Soni <vikassoni@chromium.org> Date: Thu Aug 23 21:14:14 2018 Reland "Add support for reporting EGL Timestamps via presentation feedback." This is a reland of dd9f811b9a2310ec38e96f7e135aad575c2de06a with a bug fix for Bug: 875121 Original change's description: > Add support for reporting EGL Timestamps via > presentation feedback. > > This CL adds support for reporting egl_composite_interval and > presentation_time via the presentation feedabck. > GLSurfacePresentationHelper uses the new interface > EGLTImestampClient to query the egl timestamp info. > > Bug: 790761 > Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel > Change-Id: I7e1f3200bba41bf3252b8acedc68393eeeb76df5 > Reviewed-on: https://chromium-review.googlesource.com/1106600 > Commit-Queue: vikas soni <vikassoni@chromium.org> > Reviewed-by: Antoine Labour <piman@chromium.org> > Cr-Commit-Position: refs/heads/master@{#583360} Bug: 790761 Change-Id: I498cde154a1926b61b683ad27f984d9552385146 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Reviewed-on: https://chromium-review.googlesource.com/1185441 Commit-Queue: vikas soni <vikassoni@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#585615} [modify] https://crrev.com/5b209d0259fcd1420aeb8e4ad0e910f7b0197e20/ui/gl/BUILD.gn [add] https://crrev.com/5b209d0259fcd1420aeb8e4ad0e910f7b0197e20/ui/gl/egl_timestamps.h [modify] https://crrev.com/5b209d0259fcd1420aeb8e4ad0e910f7b0197e20/ui/gl/gl_surface.cc [modify] https://crrev.com/5b209d0259fcd1420aeb8e4ad0e910f7b0197e20/ui/gl/gl_surface.h [modify] https://crrev.com/5b209d0259fcd1420aeb8e4ad0e910f7b0197e20/ui/gl/gl_surface_egl.cc [modify] https://crrev.com/5b209d0259fcd1420aeb8e4ad0e910f7b0197e20/ui/gl/gl_surface_egl.h [modify] https://crrev.com/5b209d0259fcd1420aeb8e4ad0e910f7b0197e20/ui/gl/gl_surface_presentation_helper.cc [modify] https://crrev.com/5b209d0259fcd1420aeb8e4ad0e910f7b0197e20/ui/gl/gl_surface_presentation_helper.h |
|||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||
Comment 1 by briander...@chromium.org
, Dec 1 2017