bevy/errors/B0005.md
ickshonpe 6f7d0e5725
split up TextStyle (#15857)
# Objective

Currently text is recomputed unnecessarily on any changes to its color,
which is extremely expensive.

## Solution
Split up `TextStyle` into two separate components `TextFont` and
`TextColor`.

## Testing

I added this system to `many_buttons`:
```rust
fn set_text_colors_changed(mut colors: Query<&mut TextColor>) {
    for mut text_color in colors.iter_mut() {
        text_color.set_changed();
    }
}
```

reports ~4fps on main, ~50fps with this PR.

## Migration Guide
`TextStyle` has been renamed to `TextFont` and its `color` field has
been moved to a separate component named `TextColor` which newtypes
`Color`.
2024-10-13 17:06:22 +00:00

438 B

B0005

A runtime warning.

Separate font atlases are created for each font and font size. This is expensive, and the memory is never reclaimed when e.g. interpolating TextFont::font_size or UiScale::scale.

If you need to smoothly scale font size, use Transform::scale.

You can disable this warning by setting TextSettings::allow_dynamic_font_size to true or raise the limit by setting TextSettings::soft_max_font_atlases.