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

Investigate performance improvements to canvas UI #11471

Closed
1 of 2 tasks
AMollis opened this issue Apr 19, 2023 · 2 comments
Closed
1 of 2 tasks

Investigate performance improvements to canvas UI #11471

AMollis opened this issue Apr 19, 2023 · 2 comments
Assignees
Labels
Feature Request Feature request from the community IssueMigrated MRTK2 MRTK3
Milestone

Comments

@AMollis
Copy link
Member

AMollis commented Apr 19, 2023

This issue has been migrated a new MRTK repository, and the status of this issue will now be tracked at the following location:


Describe the problem

MRTK3's canvas buttons and canvas dialogs are noticeably less performant than MRTK2/3's non-canvas versions. We need to understand why, and how to improve these elements.

Describe the solution you'd like

Come up with a plan for improving canvas buttons and canvas dialogs

Additional context

This issue seems related to #6180

Part of the issue might be because of the multiple z-layers on the MRTK3 buttons, which cause less of draw call batching within canvas UI (more batching occurs in non-Canvas UI)

Goals

  • Create a performance scene we can use to measure canvas UI improvements
  • Define a set of work to improve performance of canvas UI
@AMollis AMollis added this to the MRTK v3.0 GA milestone Apr 19, 2023
@AMollis AMollis added Feature Request Feature request from the community and removed MRTK2 labels Apr 19, 2023
@AMollis AMollis changed the title Investigate improvements to canvas UI Investigate performance improvements to canvas UI Apr 19, 2023
@github-actions github-actions bot added the MRTK2 label Apr 19, 2023
@AMollis AMollis removed the MRTK2 label Apr 19, 2023
@srinjoym
Copy link
Contributor

srinjoym commented Apr 26, 2023

Started this investigation. On first glance, it seems like we are creating more draw calls in canvas UI vs. comparable non canvas UI leading to the performance bottleneck. Will continue profiling this with more comparable scenes and then investigate areas to reduce draw calls.

The biggest source of draw calls so far is the button front plate as the individual icon and text takes two draw calls minimum. The default canvas UI tearsheet scene has 469 draw calls. With no front plate, we drop to 149 draw calls

@AMollis
Copy link
Member Author

AMollis commented Jun 19, 2023

Investigation was done, but no actionable items were found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request Feature request from the community IssueMigrated MRTK2 MRTK3
Projects
None yet
Development

No branches or pull requests

4 participants