mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
1bdf3b13a8
This makes the delay afetr selecting a character before logging into the game much shorter, in the common case. It still doesn't handle things perfectly (it blocks creating Terrain::new if it's not finished, and it could be faster due to working in the background), but it's still a lot better than it was before. To improve sprite meshing performance, we also apply the terrain flat_get optimizations to sprites. Though I didn't initially know how much of an impact it would have, it feels significantly faster to me, though being able to parallelize it would be ideal.
98 lines
2.6 KiB
TOML
98 lines
2.6 KiB
TOML
cargo-features = ["named-profiles","profile-overrides"]
|
|
|
|
[workspace]
|
|
members = [
|
|
"common",
|
|
"common/base",
|
|
"common/ecs",
|
|
"common/net",
|
|
"common/sys",
|
|
"common/frontend",
|
|
"client",
|
|
"plugin/api",
|
|
"plugin/derive",
|
|
"plugin/rt",
|
|
"server",
|
|
"server-cli",
|
|
"voxygen",
|
|
"voxygen/anim",
|
|
"world",
|
|
"network",
|
|
"network/protocol"
|
|
]
|
|
|
|
# default profile for devs, fast to compile, okay enough to run, no debug information
|
|
[profile.dev]
|
|
opt-level = 2
|
|
overflow-checks = true
|
|
debug-assertions = true
|
|
panic = "abort"
|
|
debug = false
|
|
codegen-units = 8
|
|
lto = false
|
|
# TEMP false to avoid fingerprints bug
|
|
incremental = false
|
|
# All dependencies (but not this crate itself)
|
|
[profile.dev.package."*"]
|
|
opt-level = 3
|
|
[profile.dev.package."veloren-network"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-network-protocol"]
|
|
opt-level = 3
|
|
[profile.dev.package."veloren-common"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-client"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-server"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-server-cli"]
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-voxygen"]
|
|
incremental = true
|
|
opt-level = 2
|
|
[profile.dev.package."veloren-world"]
|
|
opt-level = 2
|
|
|
|
[profile.no_overflow.package."veloren-world"]
|
|
opt-level = 3
|
|
|
|
[profile.no_overflow.package."veloren-voxygen-anim"]
|
|
opt-level = 3
|
|
|
|
# this profile is used by developers if dev doesn't has enough debug information, the name must != debug, as debug is used by dev because....
|
|
[profile.debuginfo]
|
|
inherits= 'dev'
|
|
debug = true
|
|
|
|
# used to perform things that do a *lot* of math (i.e. worldgen) but still need reasonable compilation time. Ideally this would also
|
|
# add -C target-cpu=native, but I don't think you can set this by profile currently.
|
|
[profile.no_overflow]
|
|
inherits= 'dev'
|
|
overflow-checks = false
|
|
debug-assertions = false
|
|
|
|
# this profile is used for veloren releases, compile time doesn't matter
|
|
# we need stacktraces, light debug information, as much checks as possible
|
|
# I would like to put it in a seperate `official_release` target, but that doesnt share caches with `cargo test` and `cargo bench`
|
|
[profile.release]
|
|
opt-level = 3
|
|
overflow-checks = false
|
|
debug-assertions = false
|
|
lto = true
|
|
debug = false
|
|
|
|
# used for cargo bench
|
|
[profile.bench]
|
|
opt-level = 2
|
|
incremental = true
|
|
|
|
# this profile is used by developers for release profiling
|
|
[profile.releasedebuginfo]
|
|
inherits = 'release'
|
|
debug = 1
|
|
|
|
[patch.crates-io]
|
|
# macos CI fix isn't merged yet
|
|
winit = { git = "https://gitlab.com/veloren/winit.git", branch = "macos-test-spiffed" }
|
|
vek = { git = "https://gitlab.com/veloren/vek.git", branch = "fix_intrinsics2" }
|