Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@jonahwilliams
Copy link
Contributor

@jonahwilliams jonahwilliams commented Nov 20, 2024

Locally this gives much better performance, about doubling frame time on the Pixel 4. This avoids multiple glbuffersubdata calls that seems to perform particularly bad on mobile devices.

Thinking about it more, I'm not sure that having a separate EncodeCommands API is useful for RenderPass/BlitPass. instead they should probably just use submit. but that is a refactor for another day.

flutter/flutter#159177

@jonahwilliams jonahwilliams marked this pull request as ready for review November 20, 2024 03:48
Copy link
Member

@chinmaygarde chinmaygarde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but I am not able to tell which operation guarantees a flush.

render_pass->commands_, tracer);
FML_CHECK(result) << "Must be able to encode GL commands without error.";
});
return reactor_->AddOperation(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whats the operation that finally enqueues a non-deferred operation? Is there guaranteed to be one? Otherwise, these operations will be pending in the reactor for a potentially long time.

I'm thinking of texture, pipeline, and perhaps blits also adding non-deferred operations. But nothing jumps out at being always present no matter what.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jonahwilliams jonahwilliams added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 20, 2024
@auto-submit auto-submit bot merged commit 3245c89 into flutter:main Nov 20, 2024
31 checks passed
@jonahwilliams jonahwilliams deleted the flush_all_cmds_together branch November 20, 2024 17:42
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 20, 2024
nick9822 pushed a commit to nick9822/flutter that referenced this pull request Dec 18, 2024
Locally this gives much better performance, about doubling frame time on the Pixel 4. This avoids multiple glbuffersubdata calls that seems to perform particularly bad on mobile devices.

Thinking about it more, I'm not sure that having a separate EncodeCommands API is useful for RenderPass/BlitPass. instead they should probably just use submit. but that is a refactor for another day.

flutter#159177
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

autosubmit Merge PR when tree becomes green via auto submit App e: impeller

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants