Skip to content

dart:ui should have a method to push the data to the GPU #212

Closed

Description

@FlutterIssues

Issue by Hixie
Monday Oct 19, 2015 at 22:58 GMT
Originally opened as https://github.com/flutter/engine/issues/1682


...so that we can call it during the frame as soon as we have the data ready, before we deal with cleanup, scheduling the next frame's animations, etc.

If we do that, we can move the call to GlobalKey._notifyListeners() in Element.finalizeTree() to just be an inline call rather than a call through scheduleMicrotask().

Activity

  1. added this to the milestone on Nov 9, 2015
  2. added
    engineflutter/engine related. See also e: labels.
    c: new featureNothing broken; request for a new capability
    on Nov 9, 2015
  3. FlutterIssues commented on Nov 9, 2015

    @FlutterIssues
    Author

    Comment by abarth
    Wednesday Oct 28, 2015 at 14:18 GMT


    ui.window.render now lets you signal that you want to push to the GPU but it's not wired up to do that in C++ yet.

  4. Hixie commented on Dec 26, 2015

    @Hixie
    Contributor

    Specifically all it does now is:

    void SkyView::Render(Scene* scene) {
      layer_tree_ = scene->takeLayerTree();
    }
  5. Hixie commented on Dec 26, 2015

    @Hixie
    Contributor

    Animator::BeginFrame does the actual pushing:

    rasterizer_->Draw(reinterpret_cast<uint64_t>(layer_tree.release()),
          base::Bind(&Animator::OnFrameComplete, weak_factory_.GetWeakPtr()));
  6. abarth commented on Dec 27, 2015

    @abarth
    Contributor

    Yeah, we need to flip things around on the C++ side so that SkyView::Render actually sends the layer tree to the GPU thread.

  7. self-assigned this
    on Apr 20, 2016
  8. abarth commented on Apr 20, 2016

    @abarth
    Contributor
  9. github-actions commented on Aug 17, 2021

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  10. locked as resolved and limited conversation to collaborators on Aug 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

c: new featureNothing broken; request for a new capabilityengineflutter/engine related. See also e: labels.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions