mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
d87225d908
Firstly, most importantly, improves the heuristic used for deciding which chunks to mesh (which matters more even at low view distances with meshing being so expensive now, but has an even more obvious improvement at large view distances). Essentially, instead of always prioritizing whatever chunk was fetched earliest from the server, instead we prioritize chunks *closest* to the player first, then chunk order. This greatly improves the apparent latency for things like picking up a sprite, as well as cases where the player moves out of the loaded range but (due to slow loading from the server or a large VD range) there are many remaining chunks left to be meshed still within the VD but nowhere near the player. By properly priotizing chunks near the player, we minimize the time / likelihood of a player being on or very near an unmeshed chunk, and make high VDs and faster travel speeds more viable. We make a few other minor improvements as well: Avoid duplicate meshing of neighbors when first inserting chunks, if they are already in the todo list and the chunk being inserted was not directly modified. Also avoid remeshing neighbors if only a solid block's color changed, which could sometimes be useful for non-sprite modifications (for example flame-induced changes to non-destructible terrain color). |
||
---|---|---|
.. | ||
anim | ||
benches | ||
examples | ||
i18n | ||
src | ||
build.rs | ||
Cargo.toml | ||
clippy.toml |