Quick answer: When performance is fine on most GPUs but slow on certain ones, you have a GPU-specific rendering problem: a shader or rendering path that's expensive on that vendor/architecture, a feature that's unsupported and falling back to slow emulation, or a driver quirk. Capture performance data segmented by GPU to confirm which hardware is affected, then profile and optimize (or provide an alternate path for) the problematic rendering on that GPU.

Performance that's good on most hardware but poor specifically on certain GPUs is a frustrating, targeted problem, the game runs well for most players but badly for those on particular graphics hardware. GPUs from different vendors and architectures handle rendering differently, so a path that's cheap on one can be expensive on another, and identifying the GPU-specific cause is the key to fixing it without hurting performance elsewhere.

Why Performance Varies by GPU

Different GPUs (vendors, architectures, generations) have different performance characteristics, so the same rendering work can cost very differently across them. Causes of GPU-specific slowness: an expensive shader or rendering path on a particular architecture, something that's cheap on most GPUs but hits a slow path or bottleneck on that one; an unsupported feature that falls back to slow emulation on that GPU (so it 'works' but slowly); driver quirks where a particular driver handles something inefficiently; and integrated vs discrete differences (integrated GPUs share memory and are weaker, so memory-heavy or bandwidth-heavy rendering can be disproportionately slow on them).

The pattern, fine on most GPUs, slow on specific ones, points at something about how those GPUs handle a particular part of your rendering, which differs from how the GPUs that run it well do.

How to Diagnose It

Segment performance by GPU. You need to know which specific GPUs are slow, so capture performance data tagged with GPU vendor and model, then look for the pattern: is the slowness concentrated on one vendor, one architecture, integrated GPUs, or certain drivers? That identifies the affected hardware. Then, ideally, profile on that GPU (or a similar one) to find which rendering work is expensive there specifically, the shader, the feature, the pass that's cheap elsewhere but costly on that hardware.

Bugnet's performance monitoring captures performance across real hardware with device context, so you can see that performance is fine on most GPUs but poor on specific ones, segmented by the actual GPU, even if you don't own that hardware. This GPU-level segmentation is essential: 'slow on these specific GPUs' is a targetable diagnosis, where a vague 'slow for some players' is not.

How to Fix It

Once you know the affected GPU and the expensive rendering, you have options. Optimize the path to be cheaper everywhere (if it's expensive on that GPU but you can make it lighter without hurting others). Provide an alternate path for that hardware, detect the GPU/feature support and use a different, cheaper rendering approach on the affected GPUs (and the proper path elsewhere). For an unsupported-feature emulation fallback, avoid relying on that feature on GPUs that don't support it natively, use an alternative they handle well. For driver quirks, work around the specific inefficiency.

Test the fix on the affected GPU (or via field data from players on it) to confirm performance improves there without regressing on other hardware. The goal is acceptable performance across the GPUs your players actually use, achieved by targeting the GPU-specific bottleneck rather than blanket-optimizing things that are already fine. GPU-specific performance problems are very fixable once you've identified the hardware and the costly path, which segmented field performance data and targeted profiling reveal.

Slow on certain GPUs means a rendering path that's cheap elsewhere is expensive on that hardware. Segment performance by GPU to find it, then optimize or provide an alternate path.