diff --git a/crates/engine-gpu/src/lib.rs b/crates/engine-gpu/src/lib.rs index 31bd8b4..f72dc60 100644 --- a/crates/engine-gpu/src/lib.rs +++ b/crates/engine-gpu/src/lib.rs @@ -173,6 +173,18 @@ impl GpuEngine { let mut adapter_infos = Vec::new(); for (i, adapter) in adapters.into_iter().enumerate() { let info = adapter.get_info(); + + // Skip software/CPU adapters (e.g. Microsoft Basic Render Driver / WARP) + // unless forced via env var, as they are significantly slower than the CPU engine. + if info.device_type == wgpu::DeviceType::Cpu { + log::warn!( + "Skipping GPU adapter {} ({}) because it is a software/CPU adapter.", + i, + info.name + ); + continue; + } + log::info!( "Initializing GPU adapter {}: {} (Backend: {:?})", i,