Skip to content

Fix #5371: Interface flickers when CEF rendering is resumed - #5396

Open
iManGaaX wants to merge 2 commits into
multitheftauto:masterfrom
iManGaaX:resolve/issue-5371
Open

iManGaaX wants to merge 2 commits into
multitheftauto:masterfrom
iManGaaX:resolve/issue-5371

Conversation

@iManGaaX

Copy link
Copy Markdown
Contributor

Summary

Since #4634 browsers render with external begin-frame scheduling; in that mode Chromium can hand OnPaint a frame that is still missing composited layers while the compositor rebuilds itself, and MTA uploaded that frame straight to the texture - the interface that was on screen disappeared for a moment and then came back

After a real pause -> resume, the frame that has more to show is now the one that stays on screen: a frame that lost over half of its visible content, or has no visible content at all, is not uploaded; another frame is requested instead, and the complete one is used; the guard gives up after a second, so a page that really became empty is only delayed - never stuck on an old image

The resume path itself is untouched (WasResized/Invalidate/SendExternalBeginFrame from #5202 stay as they are), so this cannot regress #5154

Closes #5371.
The code in the video from: #5371 (comment)

Before ->

2026-09-14.01-09-19.mp4

After ->

2026-09-14.01-26-04.mp4

Checklist

  • Your code should follow the coding guidelines.
  • Smaller pull requests are easier to review. If your pull request is beefy, your pull request should be reviewable commit-by-commit.

@FileEX

FileEX commented Sep 14, 2026

Copy link
Copy Markdown
Member

I'm updated issue #5371 check it

@FileEX FileEX added the invalid This doesn't seem right label Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

invalid This doesn't seem right

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CEF flickering when resuming rendering

2 participants