iced-rs/iced

Startup performance on Windows

开放

#615 创建于 2020年11月14日

 (11 条评论) (2 个反应) (0 位负责人)Rust (1,572 个派生)batch import
help wantedperformancequestionrenderingshell

仓库指标

星标
 (30,491 个星标)
PR 合并指标
 (平均合并 24天 11小时) (30 天内合并 11 个 PR)

描述

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.

贡献者指南