Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Would like a Graphics Bandwidth benchmark #12766

Open
eseidelGoogle opened this issue Oct 27, 2017 · 3 comments
Open

Would like a Graphics Bandwidth benchmark #12766

eseidelGoogle opened this issue Oct 27, 2017 · 3 comments
Labels
c: new feature Nothing broken; request for a new capability c: performance Relates to speed or footprint issues (see "perf:" labels) engine flutter/engine repository. See also e: labels. P3 Issues that are less important to the Flutter project team-engine Owned by Engine team triaged-engine Triaged by Engine team

Comments

@eseidelGoogle
Copy link
Contributor

@abarth mentioned to me that we should be tracking our graphics bandwidth. Which can be approximated by the sum of the total size (bytes) of layers drawn to the GPU every frame / # of frames drawn.

My understanding is that this number is a trade-off with high-end performance and that using more bandwidth (caching more in textures) will improve performance on high-end devices, but that eventually we saturate the GPU bandwidth on low end devices.

I'm not aware of any benchmarks we currently have to track this number.

Did I get that right? @abarth @yjbanov @chinmaygarde

@Hixie Hixie added c: new feature Nothing broken; request for a new capability engine flutter/engine repository. See also e: labels. c: performance Relates to speed or footprint issues (see "perf:" labels) labels May 21, 2018
@Hixie Hixie added this to the No milestone necessary milestone May 21, 2018
@liyuqian
Copy link
Contributor

liyuqian commented Apr 6, 2020

CC @brianosman : does Skia have an API to count the size of layers used? For example, if saveLayer is called many times, such metric should go up. It would also be nice to count how many offscreen surfaces we've asked from the GrContext.

@bsalomon
Copy link

bsalomon commented Apr 7, 2020

We don't have anything in Skia that counts layer sizes, surface sizes etc. Those would be pretty easy to layer on top of Skia. Texture bandwidth also occurs every time you draw an image, or we internally draw something like an image (e.g. an alpha mask representation of a glyph, blur etc). Then there's bandwidth to the framebuffer every time we draw anything on the GPU. Counting this inside Skia would be quite complicated. If I were to attempt to measure this I'd investigate whether there are GL/Vulkan/... perf analysis tools that could do it for me.

@kf6gpe kf6gpe added the P6 label May 29, 2020
@liyuqian
Copy link
Contributor

liyuqian commented Jun 1, 2020

CC @dreveman as we were just discussing this hours ago. We think that we could utilize some platform-specific APIs to do this. Fuchsia currently does have some bandwidth benchmarks running.

@Hixie Hixie removed this from the No specific schedule milestone Dec 10, 2020
@flutter-triage-bot flutter-triage-bot bot added P3 Issues that are less important to the Flutter project and removed P6 labels Jun 28, 2023
@flutter-triage-bot flutter-triage-bot bot added team-engine Owned by Engine team triaged-engine Triaged by Engine team labels Jul 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: new feature Nothing broken; request for a new capability c: performance Relates to speed or footprint issues (see "perf:" labels) engine flutter/engine repository. See also e: labels. P3 Issues that are less important to the Flutter project team-engine Owned by Engine team triaged-engine Triaged by Engine team
Projects
None yet
Development

No branches or pull requests

6 participants