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

Add texture atlas stress test #5073

Closed
alice-i-cecile opened this issue Jun 22, 2022 · 3 comments
Closed

Add texture atlas stress test #5073

alice-i-cecile opened this issue Jun 22, 2022 · 3 comments
Labels
A-Rendering Drawing game state to the screen C-Examples An addition or correction to our examples C-Performance A change motivated by improving speed, memory usage or compile times

Comments

@alice-i-cecile
Copy link
Member

alice-i-cecile commented Jun 22, 2022

What problem does this solve or what need does it fill?

While we can test standard 2D performance in realistic ways, we have no comparable tests that involve texture atlases.

This is particularly important as we start to build out 2D animation features.

What solution would you like?

Add a stress test that uses TextureAtlas heavily.

This would likely be most realistic if it involved many desynchronized sprite-sheet animations (which currently must be manually operated on). A naive tile-map texture atlas stress test may also be useful.

Additional context

This is required by #5072.

@alice-i-cecile alice-i-cecile added A-Rendering Drawing game state to the screen C-Examples An addition or correction to our examples C-Performance A change motivated by improving speed, memory usage or compile times labels Jun 22, 2022
@alice-i-cecile
Copy link
Member Author

I'm unsure about whether or not to give this issue a good-first-issue label. Should be pretty straightforward (and fun) for experienced users of Bevy, but may be a bit frustrating if you're new to Bevy in a way that some of the simpler code quality fixes aren't.

@james-j-obrien
Copy link
Contributor

I have created a stress test based on the many_sprites and sprite_sheet examples here: many_animated_sprites.

It's largely just the many_sprites test swapping out SpriteBundle with SpriteSheetBundle and slightly offsetting the animations, this similarity may assist in doing "on vs off" comparisons although if the goal is to test TextureAtlas more thoroughly it might not be appropriate.

If this is the right direction I'm happy create a PR and continue iterating on it.

@alice-i-cecile
Copy link
Member Author

I'm happy with that! I like the idea of doing a head-to-head comparison. A PR would be great @james-j-obrien.

@bors bors bot closed this as completed in 46f5411 Jul 4, 2022
inodentry pushed a commit to IyesGames/bevy that referenced this issue Aug 8, 2022
…xamples (bevyengine#5087)

# Objective

Intended to close bevyengine#5073

## Solution

Adds a stress test that use TextureAtlas based on the existing many_sprites test using the animated sprite implementation from the sprite_sheet example.

In order to satisfy the goals described in bevyengine#5073 the animations are all slightly offset.

Of note is that the original stress test was designed to test fullstrum culling. I kept this test similar as to facilitate easy comparisons between the use of TextureAtlas and without.
james7132 pushed a commit to james7132/bevy that referenced this issue Oct 28, 2022
…xamples (bevyengine#5087)

# Objective

Intended to close bevyengine#5073

## Solution

Adds a stress test that use TextureAtlas based on the existing many_sprites test using the animated sprite implementation from the sprite_sheet example.

In order to satisfy the goals described in bevyengine#5073 the animations are all slightly offset.

Of note is that the original stress test was designed to test fullstrum culling. I kept this test similar as to facilitate easy comparisons between the use of TextureAtlas and without.
ItsDoot pushed a commit to ItsDoot/bevy that referenced this issue Feb 1, 2023
…xamples (bevyengine#5087)

# Objective

Intended to close bevyengine#5073

## Solution

Adds a stress test that use TextureAtlas based on the existing many_sprites test using the animated sprite implementation from the sprite_sheet example.

In order to satisfy the goals described in bevyengine#5073 the animations are all slightly offset.

Of note is that the original stress test was designed to test fullstrum culling. I kept this test similar as to facilitate easy comparisons between the use of TextureAtlas and without.
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 C-Examples An addition or correction to our examples C-Performance A change motivated by improving speed, memory usage or compile times
Projects
None yet
2 participants