http://output.jsbin.com/watuhug/quiet
The above demo works at 60fps on a non-retina screen (at around 1080p), but totally dies on retina, even if the number of pixels being rendered is smaller.
However, if the zoom level is decreased (cmd & -), the frame-rate recovers, even though the number of pixels rendered remains the same.
https://www.youtube.com/watch?v=y5Zbzb_rv-o&feature=youtu.be shows:
Chrome (Canary) struggling at 100%
Hitting 60fps when zoom is decreased to 75% (although the text-shadow breaks)
Safari hitting 60fps at a larger size, no problem.
Attached traces for non-retina (hitting 60fps at around 1080p), and retina, where I follow the pattern in the video and decrease the zoom until the frame-rate hits 60fps.
From the trace, it appears that the GPU is the bottleneck. I suspect the zoom level is altering the texture sizes, making this switch from broken to working.
Force GPU rasterisation was enabled during the video capture & traces, but disabling it doesn't appear to make a difference. If I switch onto the integrated GPU in this macbook, performance increases compared to 100% zoom on the Nvidia, but it's still slow.
Machine is a 15" 2012 Macbook Pro, in case that matters.
|
Deleted:
trace_non-retina.json.gz
1.6 MB
|
|
trace_non-retina.json.gz
1.6 MB
Download
|
|
Deleted:
trace_retina.json.gz
7.1 MB
|
Comment 1 by vmi...@chromium.org
, Feb 4 2017Components: -Internals>GPU Internals>Compositing>Rasterization
Owner: vmp...@chromium.org
Status: Assigned (was: Untriaged)
25.5 MB
25.5 MB Download