iced-rs/iced

Startup performance on Windows

Aperta

#615 aperta il 14 nov 2020

 (11 commenti) (2 reazioni) (0 assegnatari)Rust (1572 fork)batch import
help wantedperformancequestionrenderingshell

Metriche repository

Star
 (30.491 stelle)
Metriche merge PR
 (Merge medio 24g 11h) (11 PR mergiate in 30 g)

Descrizione

The startup performance of the counter example on Windows is slow. I tested this with the 0.1.1 release and with master and they both seem to have the same problem. In 0.1.1 the example creates a window and then hangs for 2-3 seconds with a spinning cursor before showing anything. On master the same example appears to hide the window for 1-2 seconds, then appears fully rendered. The latter feels more responsive, but it still feels pretty slow. I compared to the druid counter example and found it started basically instantly.

I profiled these in Visual Studio and found that the root cause is the Vulkan instance creation, which takes about 60 percent of the startup time for me, roughly 500-600 ms.

I tested with wgpu's DX11 backend and had similar results, though the majority of time was spent compiling shaders rather than creating an instance. I couldn't get the DX12 backend to even run, so I couldn't profile it.

Guida contributor