iced-rs/iced

Startup performance on Windows

オープン

#615 opened on 2020/11/14

 (11 件のコメント) (2 件のリアクション) (0 人の担当者)Rust (1,572 件のフォーク)batch import
help wantedperformancequestionrenderingshell

Repository metrics

Stars
 (30,491 個のスター)
PR merge metrics
 (平均マージ 24d 11h) (30d で 11 merged PRs)

説明

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.

コントリビューターガイド