Skip to content

Conversation

@re0312
Copy link
Contributor

@re0312 re0312 commented Jul 3, 2024

Objective

Solution

  • skip extract UiImage when its texture is default

Performance

many_buttons UiPassNode
image

@alice-i-cecile alice-i-cecile added A-Rendering Drawing game state to the screen C-Performance A change motivated by improving speed, memory usage or compile times A-UI Graphical user interfaces, styles, layouts, and widgets labels Jul 3, 2024
@alice-i-cecile alice-i-cecile added this to the 0.15 milestone Jul 3, 2024
@alice-i-cecile alice-i-cecile added the S-Needs-Review Needs reviewer attention (from anyone!) to move forward label Jul 3, 2024
@alice-i-cecile
Copy link
Member

Good catch, thank you.

@alice-i-cecile alice-i-cecile added S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it and removed S-Needs-Review Needs reviewer attention (from anyone!) to move forward labels Jul 3, 2024
@alice-i-cecile
Copy link
Member

In theory if you swap what the handle points to your textures won't be drawn even thought they're not actually null, but at that point you're really asking for trouble :P

@alice-i-cecile alice-i-cecile added this pull request to the merge queue Jul 3, 2024
Merged via the queue into bevyengine:main with commit 1c2f687 Jul 3, 2024
zmbush pushed a commit to zmbush/bevy that referenced this pull request Jul 3, 2024
# Objective

- After bevyengine#14017 , I noticed that the drawcall increased 10x in the
`many_buttons`, causing the `UIPassNode `to increase from 1.5ms to 6ms.
This is because our UI batching is very fragile.

## Solution

- skip extract UiImage when its texture is default


## Performance 
many_buttons UiPassNode

![image](https://github.com/bevyengine/bevy/assets/45868716/9295d958-8c3f-469c-a7e0-d1e90db4dfb7)
MrGVSV pushed a commit to MrGVSV/bevy that referenced this pull request Jul 5, 2024
# Objective

- After bevyengine#14017 , I noticed that the drawcall increased 10x in the
`many_buttons`, causing the `UIPassNode `to increase from 1.5ms to 6ms.
This is because our UI batching is very fragile.

## Solution

- skip extract UiImage when its texture is default


## Performance 
many_buttons UiPassNode

![image](https://github.com/bevyengine/bevy/assets/45868716/9295d958-8c3f-469c-a7e0-d1e90db4dfb7)
faress78907890

This comment was marked as spam.

faress78907890

This comment was marked as spam.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-Rendering Drawing game state to the screen A-UI Graphical user interfaces, styles, layouts, and widgets C-Performance A change motivated by improving speed, memory usage or compile times S-Ready-For-Final-Review This PR has been approved by the community. It's ready for a maintainer to consider merging it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants