New issue
Advanced search Search tips

Issue 600594 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Investigate frame event ordering in the scheduler and STP.

Project Member Reported by vmp...@chromium.org, Apr 5 2016

Issue description

It's possible that we have the following order of events:

1. Begin impl frame
2. Send begin main farme
3. Process impl frame deadline
4. Begin main frame
5. Commit

We need to understand whether this is okay or not. The main frame and commit seem to happen because of input, so this ordering may be fixed by unified begin frame effort. On the other hand, maybe there are other reasons this ordering would occur.

 
At least two places where we set needs redraw that causes this:
1. In ui::Compositor::ScheduleFullRedraw (e.g. after the display configuration changes in ash)
2. LTHI::WillBeginImplFrame - we check the likely_to_require_a_draw flag that's set by PrepareTiles when we're still rasterizing required for draw tiles. I think in this case we only really want another begin frame and not redraw.


> 2. LTHI::WillBeginImplFrame - we check the likely_to_require_a_draw flag that's set by PrepareTiles when we're still rasterizing required for draw tiles. I think in this case we only really want another begin frame and not redraw.

We're actually scheduling a draw when the deadline comes, since we're expecting some raster to complete inside the frame.
Project Member

Comment 3 by sheriffbot@chromium.org, Apr 5 2017

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been available for more than 365 days, and should be re-evaluated. Please re-triage this issue.
The Hotlist-Recharge-Cold label is applied for tracking purposes, and should not be removed after re-triaging the issue.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
So I'm unclear why we wouldn't allow this ordering in general. If the main frame takes longer than the impl deadline and we're doing any kind of impl-side updating, then the other option is to abort the main frame which seems wrong?
Status: WontFix (was: Untriaged)
I agree. I don't quite remember the motivating example I had when filing this bug, but I agree that everything should work properly.

Cautiously closing this.

Sign in to add a comment