Skip to content

[Impeller] malioc diff should label the components in the shortest/longest cycle output and include stack spilling. #120401

@jonahwilliams

Description

@jonahwilliams

I believe these will each correspond to arithmetic, load/store, texture, et cetera components. We should labels these and print which one is the bottleneck. In general, we may wish to change shaders such that we increase the usage of a component which is not a bottleneck in exchange for decreasing the usage of a component that is bottlencked.

For example, I uses the text output which contains these labels:

- Work registers: 4 (100% used at 100% occupancy)
+ Work registers: 3 (75% used at 100% occupancy)
- Uniform registers: 2 (10% used)
+ Uniform registers: 2 (9% used)
Stack spilling: false

                                A      LS       T    Bound
- Total instruction cycles:   22.67    2.00    2.00        A
+ Total instruction cycles:    5.00    2.00    2.00        A
- Shortest path cycles:        4.62    2.00    0.00        A
+ Shortest path cycles:        2.97    2.00    1.00        A
Longest path cycles:          N/A     N/A     N/A      N/A

See flutter/engine#37927

Metadata

Metadata

Assignees

Labels

P3Issues that are less important to the Flutter projectc: contributor-productivityTeam-specific productivity, code health, technical debt.e: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions