Logging shows that without manual intervention by the update_text_aabb system, all of the texts are considered "visible" and the framerate is poor.
With the update_text_aabb running, the off-camera text is culled and the framerate is good. It seems that adding an Aabb to the texts is enough to make frustum culling work.
Bevy version
0.13
What you did
Modify the
many_sprites
example so thatText2dBundle
is used instead ofSpriteBundle
.https://gist.github.com/rparrett/9cd3b145def1855f1baf87822e6a5f7a
What went wrong
Logging shows that without manual intervention by the
update_text_aabb
system, all of the texts are considered "visible" and the framerate is poor.With the
update_text_aabb
running, the off-camera text is culled and the framerate is good. It seems that adding anAabb
to the texts is enough to make frustum culling work.Additional information
See also this related discussion: https://github.com/bevyengine/bevy/discussions/13367
There may be a better in-system solution than adding a separate
update_text_aabb
system, but I haven't looked into this.