ChromeDevTools / devtools-protocol

Chrome DevTools Protocol
https://chromedevtools.github.io/devtools-protocol/
BSD 3-Clause "New" or "Revised" License
1.15k stars 226 forks source link

the frames returned from Page.screencastFrame are out-of-order #117

Closed ghxhy closed 4 years ago

ghxhy commented 6 years ago

I found in some cases the frames returned from Page.screencastFrame are out-of-order, i.e. the frame returned later may have a smaller timestamp(the timestamp in ScreencastFrameMetadata) than the frame returned earlier.

After a lot of tests(including chrome 67 and chrome 64), I found it would happen when the following condition are both satisfied:

  1. Multiple headless chromes are running at the same time
  2. Set resolution greater than or equal to 720P via Emulation.setDeviceMetricsOverride and Emulation.setVisibleSize

More about the testing platform:

  1. centos7.2
  2. CPU with 40 cores
  3. 60G memory

The chrome's command line is: google-chrome --disable-gpu --headless --no-sandbox --remote-debugging-port=xxxx

TimvdLippe commented 4 years ago

This repository is related to Chrome DevTools Protocol, but does not track issues regarding its definition or implementation. If you want to file an issue for the Chrome DevTools Protocol, please open an issue on https://crbug.com under component: Platform>DevTools>Platform. Thanks in advance!