2190793fe6
* fix: disable background throttling also in the `viz::DisplayScheduler` `viz::DisplayScheduler` is responsible for drawing and swapping frames in the `DisplayScheduler::DrawAndSwap` which is called from the `DisplayScheduler::AttemptDrawAndSwap` if the `DisplayScheduler::ShouldDraw` returns true. `ShouldDraw` depends on the `DisplayScheduler` visibility and when it is not visible then it returns false. In order to keep producing frames, disabling `backgroundThrottling` should also prevent changing `DisplayScheduler` visibility to false. `DisplayScheduler` lives in the `ui::Compositor` where every `electron::NativewWindow` has its own `Compositor`. `electron::NativewWindow` may be host of the multiple `electron::api::WebContents` instances which may have different `WebPreferences` settings. Therefore if at least one of the `WebContents` requires disabling throttling then all other `WebContents` using the same window will have it disabled in the `ui::Compositor`. BREAKING CHANGE: `backgroundThrottling` set to false will disable frames throttling in the `BrowserWindow` for all `WebContents` displayed by it. Close: [#31016](https://github.com/electron/electron/issues/31016) * fixup! fix: disable background throttling also in the `viz::DisplayScheduler` * fixup! fix: disable background throttling also in the `viz::DisplayScheduler` * fixup! fix: disable background throttling also in the `viz::DisplayScheduler` --------- Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> |
||
---|---|---|
.. | ||
bluetooth-device.md | ||
browser-window-options.md | ||
certificate-principal.md | ||
certificate.md | ||
cookie.md | ||
cpu-usage.md | ||
crash-report.md | ||
custom-scheme.md | ||
desktop-capturer-source.md | ||
display.md | ||
extension-info.md | ||
extension.md | ||
file-filter.md | ||
file-path-with-headers.md | ||
gpu-feature-status.md | ||
hid-device.md | ||
input-event.md | ||
io-counters.md | ||
ipc-main-event.md | ||
ipc-main-invoke-event.md | ||
ipc-renderer-event.md | ||
jump-list-category.md | ||
jump-list-item.md | ||
keyboard-event.md | ||
keyboard-input-event.md | ||
memory-info.md | ||
memory-usage-details.md | ||
mime-typed-buffer.md | ||
mouse-input-event.md | ||
mouse-wheel-input-event.md | ||
notification-action.md | ||
notification-response.md | ||
payment-discount.md | ||
point.md | ||
post-body.md | ||
printer-info.md | ||
process-memory-info.md | ||
process-metric.md | ||
product-discount.md | ||
product-subscription-period.md | ||
product.md | ||
protocol-request.md | ||
protocol-response-upload-data.md | ||
protocol-response.md | ||
rectangle.md | ||
referrer.md | ||
render-process-gone-details.md | ||
resolved-endpoint.md | ||
resolved-host.md | ||
scrubber-item.md | ||
segmented-control-segment.md | ||
serial-port.md | ||
service-worker-info.md | ||
shared-worker-info.md | ||
sharing-item.md | ||
shortcut-details.md | ||
size.md | ||
task.md | ||
thumbar-button.md | ||
trace-categories-and-options.md | ||
trace-config.md | ||
transaction.md | ||
upload-data.md | ||
upload-file.md | ||
upload-raw-data.md | ||
usb-device.md | ||
user-default-types.md | ||
web-preferences.md | ||
web-request-filter.md | ||
web-source.md |