为什么这个 bevy 项目需要这么长时间才能编译和启动?

问题描述 投票:0回答:1

我开始关注 this 教程,了解如何在 bevy 中制作游戏。代码编译正常,但仍然很慢(老实说我不确定这是否正常,大约需要 8 秒),但是当我启动游戏时,窗口变白 (

Not Responding
) 几秒钟(大约与编译时间相同的时间,可能稍微少一点)在正确加载之前。
这是我的
Cargo.toml

[package]
name = "rustship"
version = "0.1.0"
edition = "2021"

[dependencies]
bevy = "0.8.1"

# Enable a small amount of optimization in debug mode
[profile.dev]
opt-level = 1

# Enable high optimizations for dependencies (incl. Bevy), but not for our code:
[profile.dev.package."*"]
opt-level = 3

[workspace]
resolver = "2"

我在使用和不使用工作区解析器的情况下都进行了尝试。我的 rustup 工具链是

nightly-x86_64-pc-windows-gnu
,我正在使用
rust-lld
链接程序:

[target.nightly-x86_64-pc-windows-gnu]
linker = "rust-lld.exe"
rustflags = ["-Zshare-generics=n"]

根据 official bevy setup guide 这样应该更快。我尝试了

rust-lld
和没有,但它似乎没有改变任何东西。
这是
cargo run
的输出(A_NUMBER 是一个 4 位数):

AdapterInfo { name: "NVIDIA GeForce RTX 3090", vendor: A_NUMBER, device: A_NUMBER, device_type: DiscreteGpu, backend: Vulkan }

关于如何改进编译时间和直接加载窗口的任何想法?我的游戏一点都不重。现在,我只是加载一个精灵。教程中的人使用 MacOS,这对他来说似乎相当快。

rust compiler-optimization rust-cargo bevy
1个回答
0
投票

关于Windows动态特性的两个问题现在已经解决了,我已经可以在Windows上使用一段时间了

https://github.com/bevyengine/bevy/issues/2921#issuecomment-1315886660 https://github.com/bevyengine/bevy/issues/1110#issuecomment-1312926923

您至少需要使用 bevy 版本 0.9.1

re-write GilRs 后端为 Windows 专门使这项工作大声笑。 (Bevy 使用 GilRs,它链接的 xInput 库存在动态链接问题)

重要!:在 Windows 上使用动态功能时,这些行是必需的

# Enable a small amount of optimization in debug mode
[profile.dev]
opt-level = 1

# Enable high optimizations for dependencies (incl. Bevy), but not for our code:
[profile.dev.package."*"]
opt-level = 3

我刚刚评论了 Bevy 网站关于更新说明的相关问题

© www.soinside.com 2019 - 2024. All rights reserved.