mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Clean and update dependencies
* Remove tweak feature * Remove const-tweaker * Update tiny_http * Update bitvec to 0.21.0 * Downgrade euc to avoid conflict with vek 0.12.0 * Require exactly vek 0.12.0 * Update all other dependencies automatically based on these changes * Update gilrs to latest at the request of Ada Lovegirls * Update meshing benchmarks to new criterion API
This commit is contained in:
parent
1067d66862
commit
dda4931f46
2572
Cargo.lock
generated
2572
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -27,7 +27,7 @@ num_cpus = "1.10.1"
|
|||||||
tracing = { version = "0.1", default-features = false }
|
tracing = { version = "0.1", default-features = false }
|
||||||
rayon = "1.5"
|
rayon = "1.5"
|
||||||
specs = { git = "https://github.com/amethyst/specs.git", rev = "d4435bdf496cf322c74886ca09dd8795984919b4" }
|
specs = { git = "https://github.com/amethyst/specs.git", rev = "d4435bdf496cf322c74886ca09dd8795984919b4" }
|
||||||
vek = { version = "0.12.0", features = ["serde"] }
|
vek = { version = "=0.12.0", features = ["serde"] }
|
||||||
hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] }
|
hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] }
|
||||||
authc = { git = "https://gitlab.com/veloren/auth.git", rev = "bffb5181a35c19ddfd33ee0b4aedba741aafb68d" }
|
authc = { git = "https://gitlab.com/veloren/auth.git", rev = "bffb5181a35c19ddfd33ee0b4aedba741aafb68d" }
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ rayon = "1.5"
|
|||||||
roots = "0.0.6"
|
roots = "0.0.6"
|
||||||
spin_sleep = "1.0"
|
spin_sleep = "1.0"
|
||||||
tracing = { version = "0.1", default-features = false }
|
tracing = { version = "0.1", default-features = false }
|
||||||
vek = { version = "0.12.0", features = ["serde"] }
|
vek = { version = "=0.12.0", features = ["serde"] }
|
||||||
uuid = { version = "0.8.1", default-features = false, features = ["serde", "v4"] }
|
uuid = { version = "0.8.1", default-features = false, features = ["serde", "v4"] }
|
||||||
|
|
||||||
# Assets
|
# Assets
|
||||||
|
@ -14,7 +14,7 @@ default = ["simd"]
|
|||||||
common = {package = "veloren-common", path = "../../common"}
|
common = {package = "veloren-common", path = "../../common"}
|
||||||
|
|
||||||
sum_type = "0.2.0"
|
sum_type = "0.2.0"
|
||||||
vek = { version = "0.12.0", features = ["serde"] }
|
vek = { version = "=0.12.0", features = ["serde"] }
|
||||||
tracing = { version = "0.1", default-features = false }
|
tracing = { version = "0.1", default-features = false }
|
||||||
|
|
||||||
# Data structures
|
# Data structures
|
||||||
|
@ -18,7 +18,7 @@ common-net = { package = "veloren-common-net", path = "../net" }
|
|||||||
rand = "0.8"
|
rand = "0.8"
|
||||||
rayon = "1.5"
|
rayon = "1.5"
|
||||||
tracing = { version = "0.1", default-features = false }
|
tracing = { version = "0.1", default-features = false }
|
||||||
vek = { version = "0.12.0", features = ["serde"] }
|
vek = { version = "=0.12.0", features = ["serde"] }
|
||||||
|
|
||||||
# Data structures
|
# Data structures
|
||||||
hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] }
|
hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] }
|
||||||
|
@ -40,5 +40,5 @@ tracing-subscriber = { version = "0.2.3", default-features = false, features = [
|
|||||||
uvth = { version = ">= 3.0, <= 4.0", default-features = false }
|
uvth = { version = ">= 3.0, <= 4.0", default-features = false }
|
||||||
clap = { version = "2.33", default-features = false }
|
clap = { version = "2.33", default-features = false }
|
||||||
shellexpand = "2.0.0"
|
shellexpand = "2.0.0"
|
||||||
tiny_http = "0.7.0"
|
tiny_http = "0.8.0"
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
|
@ -9,7 +9,6 @@ worldgen = ["server/worldgen"]
|
|||||||
default = ["worldgen"]
|
default = ["worldgen"]
|
||||||
tracy = ["common/tracy", "tracing-tracy"]
|
tracy = ["common/tracy", "tracing-tracy"]
|
||||||
plugins = ["server/plugins"]
|
plugins = ["server/plugins"]
|
||||||
tweak = ["server/tweak"]
|
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
server = { package = "veloren-server", path = "../server", default-features = false }
|
server = { package = "veloren-server", path = "../server", default-features = false }
|
||||||
|
@ -8,7 +8,6 @@ edition = "2018"
|
|||||||
worldgen = []
|
worldgen = []
|
||||||
simd = ["vek/platform_intrinsics"]
|
simd = ["vek/platform_intrinsics"]
|
||||||
plugins = ["common-sys/plugins"]
|
plugins = ["common-sys/plugins"]
|
||||||
tweak = ["const-tweaker"]
|
|
||||||
|
|
||||||
default = ["worldgen", "plugins", "simd"]
|
default = ["worldgen", "plugins", "simd"]
|
||||||
|
|
||||||
@ -41,7 +40,7 @@ hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] }
|
|||||||
rayon = "1.5"
|
rayon = "1.5"
|
||||||
crossbeam-channel = "0.5"
|
crossbeam-channel = "0.5"
|
||||||
prometheus = { version = "0.11", default-features = false}
|
prometheus = { version = "0.11", default-features = false}
|
||||||
tiny_http = "0.7.0"
|
tiny_http = "0.8.0"
|
||||||
portpicker = { git = "https://github.com/xMAC94x/portpicker-rs", rev = "df6b37872f3586ac3b21d08b56c8ec7cd92fb172" }
|
portpicker = { git = "https://github.com/xMAC94x/portpicker-rs", rev = "df6b37872f3586ac3b21d08b56c8ec7cd92fb172" }
|
||||||
authc = { git = "https://gitlab.com/veloren/auth.git", rev = "bffb5181a35c19ddfd33ee0b4aedba741aafb68d" }
|
authc = { git = "https://gitlab.com/veloren/auth.git", rev = "bffb5181a35c19ddfd33ee0b4aedba741aafb68d" }
|
||||||
libsqlite3-sys = { version = "0.18", features = ["bundled"] }
|
libsqlite3-sys = { version = "0.18", features = ["bundled"] }
|
||||||
@ -49,7 +48,6 @@ diesel = { version = "1.4.3", features = ["sqlite"] }
|
|||||||
diesel_migrations = "1.4.0"
|
diesel_migrations = "1.4.0"
|
||||||
dotenv = "0.15.0"
|
dotenv = "0.15.0"
|
||||||
slab = "0.4"
|
slab = "0.4"
|
||||||
const-tweaker = {version = "0.3.1", optional = true}
|
|
||||||
|
|
||||||
# Plugins
|
# Plugins
|
||||||
plugin-api = { package = "veloren-plugin-api", path = "../plugin/api"}
|
plugin-api = { package = "veloren-plugin-api", path = "../plugin/api"}
|
||||||
|
@ -12,7 +12,6 @@ version = "0.8.0"
|
|||||||
gl = ["gfx_device_gl", "gfx_gl"]
|
gl = ["gfx_device_gl", "gfx_gl"]
|
||||||
hot-anim = ["anim/use-dyn-lib"]
|
hot-anim = ["anim/use-dyn-lib"]
|
||||||
singleplayer = ["server"]
|
singleplayer = ["server"]
|
||||||
tweak = ["const-tweaker"]
|
|
||||||
simd = ["vek/platform_intrinsics"]
|
simd = ["vek/platform_intrinsics"]
|
||||||
tracy = ["tracing-tracy", "common/tracy"]
|
tracy = ["tracing-tracy", "common/tracy"]
|
||||||
plugins = ["client/plugins"]
|
plugins = ["client/plugins"]
|
||||||
@ -38,7 +37,7 @@ winit = {version = "0.24.0", features = ["serde"]}
|
|||||||
# Ui
|
# Ui
|
||||||
conrod_core = {git = "https://gitlab.com/veloren/conrod.git", branch="copypasta_0.7"}
|
conrod_core = {git = "https://gitlab.com/veloren/conrod.git", branch="copypasta_0.7"}
|
||||||
conrod_winit = {git = "https://gitlab.com/veloren/conrod.git", branch="copypasta_0.7"}
|
conrod_winit = {git = "https://gitlab.com/veloren/conrod.git", branch="copypasta_0.7"}
|
||||||
euc = {git = "https://github.com/zesterer/euc.git"}
|
euc = "=0.5.0"
|
||||||
iced = {package = "iced_native", git = "https://github.com/hecrj/iced", rev = "8d882d787e6b7fd7c2435f42f82933e2ed904edf"}
|
iced = {package = "iced_native", git = "https://github.com/hecrj/iced", rev = "8d882d787e6b7fd7c2435f42f82933e2ed904edf"}
|
||||||
iced_winit = {git = "https://github.com/hecrj/iced", rev = "8d882d787e6b7fd7c2435f42f82933e2ed904edf"}
|
iced_winit = {git = "https://github.com/hecrj/iced", rev = "8d882d787e6b7fd7c2435f42f82933e2ed904edf"}
|
||||||
window_clipboard = "0.1.1"
|
window_clipboard = "0.1.1"
|
||||||
@ -49,10 +48,10 @@ specs = {git = "https://github.com/amethyst/specs.git", rev = "d4435bdf496cf322c
|
|||||||
specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "9fab7b396acd6454585486e50ae4bfe2069858a9" }
|
specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "9fab7b396acd6454585486e50ae4bfe2069858a9" }
|
||||||
|
|
||||||
# Mathematics
|
# Mathematics
|
||||||
vek = {version = "0.12.0", features = ["serde"]}
|
vek = {version = "=0.12.0", features = ["serde"]}
|
||||||
|
|
||||||
# Controller
|
# Controller
|
||||||
gilrs = {version = "0.7", features = ["serde"]}
|
gilrs = {version = "0.8.0", features = ["serde-serialize"]}
|
||||||
|
|
||||||
# Singleplayer
|
# Singleplayer
|
||||||
server = {package = "veloren-server", path = "../server", optional = true}
|
server = {package = "veloren-server", path = "../server", optional = true}
|
||||||
@ -84,7 +83,6 @@ serde = {version = "1.0", features = [ "rc", "derive" ]}
|
|||||||
treeculler = "0.1.0"
|
treeculler = "0.1.0"
|
||||||
uvth = "3.1.1"
|
uvth = "3.1.1"
|
||||||
# vec_map = { version = "0.8.2" }
|
# vec_map = { version = "0.8.2" }
|
||||||
const-tweaker = {version = "0.3.1", optional = true}
|
|
||||||
inline_tweak = "1.0.2"
|
inline_tweak = "1.0.2"
|
||||||
itertools = "0.10.0"
|
itertools = "0.10.0"
|
||||||
|
|
||||||
|
@ -25,4 +25,4 @@ lazy_static = {version = "1.4.0", optional = true}
|
|||||||
libloading = {version = "0.6.2", optional = true}
|
libloading = {version = "0.6.2", optional = true}
|
||||||
notify = {version = "5.0.0-pre.2", optional = true}
|
notify = {version = "5.0.0-pre.2", optional = true}
|
||||||
tracing = {version = "0.1", optional = true}
|
tracing = {version = "0.1", optional = true}
|
||||||
vek = {version = "0.12.0", features = ["serde"]}
|
vek = {version = "=0.12.0", features = ["serde"]}
|
||||||
|
@ -2,7 +2,7 @@ use common::{
|
|||||||
terrain::{Block, SpriteKind, TerrainGrid},
|
terrain::{Block, SpriteKind, TerrainGrid},
|
||||||
vol::SampleVol,
|
vol::SampleVol,
|
||||||
};
|
};
|
||||||
use criterion::{black_box, criterion_group, criterion_main, Benchmark, Criterion};
|
use criterion::{black_box, criterion_group, criterion_main, Criterion};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use vek::*;
|
use vek::*;
|
||||||
use veloren_voxygen::{mesh::Meshable, scene::terrain::BlocksOfInterest};
|
use veloren_voxygen::{mesh::Meshable, scene::terrain::BlocksOfInterest};
|
||||||
@ -63,81 +63,82 @@ pub fn criterion_benchmark(c: &mut Criterion) {
|
|||||||
(volume, aabb)
|
(volume, aabb)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let mut meshing_benches = c.benchmark_group("meshing");
|
||||||
|
// Lower sample size to save time
|
||||||
|
meshing_benches.sample_size(15);
|
||||||
// Test speed of cloning voxel sample into a flat array
|
// Test speed of cloning voxel sample into a flat array
|
||||||
let (volume, range) = sample(Vec2::new(1, 1));
|
let (volume, range) = sample(Vec2::new(1, 1));
|
||||||
c.bench(
|
meshing_benches.bench_function("copying 1,1 into flat array", move |b| {
|
||||||
"meshing",
|
b.iter(|| {
|
||||||
Benchmark::new("copying 1,1 into flat array", move |b| {
|
let mut flat = vec![Block::air(SpriteKind::Empty); range.size().product() as usize];
|
||||||
b.iter(|| {
|
let mut i = 0;
|
||||||
let mut flat = vec![Block::air(SpriteKind::Empty); range.size().product() as usize];
|
let mut volume = volume.cached();
|
||||||
let mut i = 0;
|
for x in 0..range.size().w {
|
||||||
let mut volume = volume.cached();
|
for y in 0..range.size().h {
|
||||||
for x in 0..range.size().w {
|
for z in 0..range.size().d {
|
||||||
for y in 0..range.size().h {
|
flat[i] = *volume.get(range.min + Vec3::new(x, y, z)).unwrap();
|
||||||
for z in 0..range.size().d {
|
i += 1;
|
||||||
flat[i] = *volume.get(range.min + Vec3::new(x, y, z)).unwrap();
|
|
||||||
i += 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*let (w, h, d) = range.size().into_tuple();
|
}
|
||||||
for (chunk_key, chunk) in volume.iter() {
|
|
||||||
let chunk_pos = volume.key_pos(chunk_key);
|
/*let (w, h, d) = range.size().into_tuple();
|
||||||
let min = chunk_pos.map2(
|
for (chunk_key, chunk) in volume.iter() {
|
||||||
Vec2::new(range.min.x, range.min.y),
|
let chunk_pos = volume.key_pos(chunk_key);
|
||||||
|cmin: i32, rmin: i32| (rmin - cmin).max(0),
|
let min = chunk_pos.map2(
|
||||||
);
|
Vec2::new(range.min.x, range.min.y),
|
||||||
// Chunk not in area of interest
|
|cmin: i32, rmin: i32| (rmin - cmin).max(0),
|
||||||
if min
|
);
|
||||||
.map2(TerrainGrid::chunk_size(), |m, size| m >= size as i32)
|
// Chunk not in area of interest
|
||||||
.reduce_and()
|
if min
|
||||||
{
|
.map2(TerrainGrid::chunk_size(), |m, size| m >= size as i32)
|
||||||
// TODO: comment after ensuing no panics
|
.reduce_and()
|
||||||
panic!("Shouldn't happen in this case");
|
{
|
||||||
continue;
|
// TODO: comment after ensuing no panics
|
||||||
}
|
panic!("Shouldn't happen in this case");
|
||||||
let min = min.map(|m| m.min(31));
|
continue;
|
||||||
// TODO: Don't hardcode 31
|
}
|
||||||
let max = chunk_pos.map2(Vec2::new(range.max.x, range.max.y), |cmin, rmax| {
|
let min = min.map(|m| m.min(31));
|
||||||
(rmax - cmin).min(31)
|
// TODO: Don't hardcode 31
|
||||||
});
|
let max = chunk_pos.map2(Vec2::new(range.max.x, range.max.y), |cmin, rmax| {
|
||||||
if max.map(|m| m < 0).reduce_and() {
|
(rmax - cmin).min(31)
|
||||||
panic!("Shouldn't happen in this case: {:?}", max);
|
});
|
||||||
continue;
|
if max.map(|m| m < 0).reduce_and() {
|
||||||
}
|
panic!("Shouldn't happen in this case: {:?}", max);
|
||||||
let max = max.map(|m| m.max(0));
|
continue;
|
||||||
// Add z dims
|
}
|
||||||
let min = Vec3::new(min.x, min.y, range.min.z);
|
let max = max.map(|m| m.max(0));
|
||||||
let max = Vec3::new(max.x, max.y, range.max.z);
|
// Add z dims
|
||||||
// Offset of chunk in sample being cloned
|
let min = Vec3::new(min.x, min.y, range.min.z);
|
||||||
let offset = Vec3::new(
|
let max = Vec3::new(max.x, max.y, range.max.z);
|
||||||
chunk_pos.x - range.min.x,
|
// Offset of chunk in sample being cloned
|
||||||
chunk_pos.y - range.min.y,
|
let offset = Vec3::new(
|
||||||
-range.min.z,
|
chunk_pos.x - range.min.x,
|
||||||
);
|
chunk_pos.y - range.min.y,
|
||||||
for (pos, &block) in chunk.vol_iter(min, max) {
|
-range.min.z,
|
||||||
let pos = pos + offset;
|
);
|
||||||
flat[(w * h * pos.z + w * pos.y + pos.x) as usize] = block;
|
for (pos, &block) in chunk.vol_iter(min, max) {
|
||||||
}
|
let pos = pos + offset;
|
||||||
}*/
|
flat[(w * h * pos.z + w * pos.y + pos.x) as usize] = block;
|
||||||
black_box(flat);
|
}
|
||||||
});
|
} */
|
||||||
})
|
|
||||||
// Lower sample size to save time
|
black_box(flat);
|
||||||
.sample_size(15),
|
});
|
||||||
);
|
});
|
||||||
|
|
||||||
for x in 1..GEN_SIZE - 1 {
|
for x in 1..GEN_SIZE - 1 {
|
||||||
for y in 1..GEN_SIZE - 1 {
|
for y in 1..GEN_SIZE - 1 {
|
||||||
let (volume, range) = sample(Vec2::new(x, y));
|
let (volume, range) = sample(Vec2::new(x, y));
|
||||||
c.bench(
|
meshing_benches.bench_function(&format!("Terrain mesh {}, {}", x, y), move |b| {
|
||||||
"meshing",
|
b.iter(|| {
|
||||||
Benchmark::new(&format!("Terrain mesh {}, {}", x, y), move |b| {
|
volume.generate_mesh(black_box((
|
||||||
b.iter(|| volume.generate_mesh(black_box((range, Vec2::new(8192, 8192), &BlocksOfInterest::default()))))
|
range,
|
||||||
|
Vec2::new(8192, 8192),
|
||||||
|
&BlocksOfInterest::default(),
|
||||||
|
)))
|
||||||
})
|
})
|
||||||
// Lower sample size to save time
|
});
|
||||||
.sample_size(15),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,7 @@ default = ["simd"]
|
|||||||
common = { package = "veloren-common", path = "../common" }
|
common = { package = "veloren-common", path = "../common" }
|
||||||
common-net = { package = "veloren-common-net", path = "../common/net" }
|
common-net = { package = "veloren-common-net", path = "../common/net" }
|
||||||
bincode = "1.3.1"
|
bincode = "1.3.1"
|
||||||
bitvec = "0.20.1"
|
bitvec = "0.21.0"
|
||||||
fxhash = "0.2.1"
|
fxhash = "0.2.1"
|
||||||
image = { version = "0.23.12", default-features = false, features = ["png"] }
|
image = { version = "0.23.12", default-features = false, features = ["png"] }
|
||||||
itertools = "0.10"
|
itertools = "0.10"
|
||||||
|
Loading…
Reference in New Issue
Block a user