bevy/errors/B0006.md
Martin Svanberg 0ae7afbcad
Print warning when using llvmpipe (#13780)
# Objective

Numerous people have been confused that Bevy runs slowly, when the
reason is that the `llvmpipe` software rendered is being used.

## Solution

Printing a warning could reduce the confusion.
2024-06-26 12:44:48 +00:00

1.3 KiB

B0006

A runtime warning.

Bevy's renderer is designed to be used with hardware acceleration. When initializing the renderer, Bevy will print an AdapterInfo line. If the driver in the AdapterInfo is indicated to be a software renderer, then the driver does not support hardware acceleration and Bevy will most likely be slow.

Possible solutions

  • Update your graphics driver. Your driver could simply be outdated.
  • It is possible that the hardware itself is too old.
  • You could try using a different backend for the RenderPlugin, for example the OpenGL backend. However, please be aware that this could reduce the renderer's performance on other systems that don't have this problem. Here's an example of how to do this:
fn main() {
    App::new()
        .add_plugins(
            DefaultPlugins.set(RenderPlugin {
                render_creation: WgpuSettings {
                    backends: Some(Backends::GL),
                    ..default()
                }
                .into(),
                ..default()
            }),
        )
        .run();
}

The backend can also be configured using environment variables, by setting WGPU_BACKEND=[backend] on Linux/Mac or set WGPU_BACKEND=[backend] on Windows, where [backend] is one of vulkan, metal, dx12, or gl.