我开始关注 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,这对他来说似乎相当快。
关于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 网站关于更新说明的相关问题。