Commit Graph

4512 Commits

Author SHA1 Message Date
Joshua Yanovski
4b5a9fe0f4 Remove persistence loading error from SkillSet.
This is needed (for now) in order to parallelize ingame_chat, because
one of the handled messages updates this value on the server.  It turns
out that the value is not actually used on the server, only the client,
so this was mostly a matter of threading this back to the correct place.
Additionally, we took the opportunity to modify the UI to not log you
into the game until your character was confirmed to be loaded, which
was a todo item that lets us simplify some error handling logic and
remove stuff from global state.
2022-09-16 01:20:35 -07:00
Joshua Yanovski
ecb68acb77 WIP changes 2022-09-14 01:00:01 -07:00
Joshua Yanovski
60060a9913 [WIP] improving thread pool usage and bot client. 2022-09-12 20:26:22 -07:00
Joshua Yanovski
3b424e9049 Significantly optimizing terrain::Sys::run. 2022-09-11 10:16:31 -07:00
Joshua Yanovski
7fe721247c Allow mods/admins to log in when server is full.
As a side effect, this moves the initial game server sync message into
the login code, since that's the first place we can check for admin
permissions and we want to avoid sending large messages to users who are
not authenticated (especially if the player cap has been reached;
previously, the player cap check limited the damage that could be done
by unauthenticated players).

Some fallout from this is that we don't synchronize the Player component
anymore, which had some minor effects on voxygen.  This update also
breaks Torvus, since Client::new now expects the username and password
to be provided from the getgo--an accompanying MR will be submitted to
fix it.
2022-09-09 15:13:53 -07:00
Joshua Yanovski
585ec62306 Remove semaphore for now, and try pinning rayon threads to cores. 2022-09-07 15:50:00 -07:00
Joshua Yanovski
f17910ed2a Preliminary adding back support for sunlight. 2022-09-01 07:50:47 -07:00
Joshua Yanovski
1dbf72cb3f Try using MAP_WRITE buffers to skip double buffer creation... but at
what cost?
2022-08-31 01:39:27 -07:00
Joshua Yanovski
642a8df2db Fix Dx11/12 on Windows 2022-08-30 21:29:57 -07:00
Joshua Yanovski
83ca01e42d Asynchronously wait if jobs are using too many buffers at once, and drop
tasks from a frame all in one job to maximize the likelihood that it
actually runs.
2022-08-30 12:19:29 -07:00
Joshua Yanovski
7b1c62acf7 Revert fake "memory leak" fix. 2022-08-29 13:57:29 -07:00
Joshua Yanovski
1dc6757668 Fix double unmaps. 2022-08-28 19:14:01 -07:00
Joshua Yanovski
d2cc58b5a0 Reduced impact of existing memory leak. 2022-08-28 18:14:54 -07:00
Joshua Yanovski
6cbf6a7237 Attempt to avoid calling the driver's allocator within critical sections
(unless it's going to be immediately memory mapped).
2022-08-28 17:34:02 -07:00
Joshua Yanovski
a8871b03f8 Fix figures and sprite bounds. 2022-08-25 23:45:55 -07:00
Joshua Yanovski
ae77c1814c Improve figure meshing. 2022-08-25 23:25:21 -07:00
Joshua Yanovski
053941e16a Fix sprite-only changes. 2022-08-24 23:12:44 -07:00
Joshua Yanovski
0f01b78e4b Threads pinned to cores, initial groundwork for async slowjobs. 2022-08-24 21:43:14 -07:00
Joshua Yanovski
5a5f2b391f Changes to wgpu to hopefully improve scalability? 2022-08-23 00:54:08 -07:00
Joshua Yanovski
9863670169 Stdlib RwLock in wgpu, update rust-toolchain to some extent. 2022-08-18 18:49:44 -07:00
Joshua Yanovski
6adfa6680f All unmaps on the main thread, sprites consolidated into a buffer. 2022-08-16 21:32:03 -07:00
Joshua Yanovski
2301b7f47a Remove even more wgpu commands from the main thread. 2022-08-16 02:09:27 -07:00
Joshua Yanovski
d38ce95b22 Reduce alignment requirements. 2022-08-15 19:50:44 -07:00
Joshua Yanovski
54847c726b Remove more main thread bottlenecks. 2022-08-15 19:01:43 -07:00
Joshua Yanovski
706084dd15 Improving meshing performance. 2022-08-13 23:48:50 -07:00
Joshua Yanovski
ec6b343dc8 Move even more stuff to background threads. 2022-08-05 03:30:52 -07:00
Joshua Yanovski
c577c21156 Perform nearly all chunk allocations in the same thread that the chunk
is generated in.
2022-08-04 19:00:42 -07:00
Joshua Yanovski
04bb1e32d9 WIP: Glow lighting performance improvements.
Messes up water somewhat and is incomplete for glow lighting, but should
be a fair amount faster in general.  Also reduces stuttering during
chunk generation by moving atlas creation and "clearing" off the main
thread (in fact, we don't even clear it except for the very first
allocated terrain atlas).
2022-08-02 18:01:17 -07:00
Joshua Yanovski
2a61c7790b Substantial improvements to meshing time.
This mostly come out of optimizing BlocksOfInterest to (empirically)
minimize redundant computations, use a more efficient RNG, use a faster
verion of iter_changed, and optimize water block handling (theoretically
the iter_changed difference might mean we missed some water blocks, but
in practice it's unlikely to matter for fast-moving rivers).

Also did some microoptimizations of meshing etc. that seem to result in
pretty good improvements in practice, and also added another set of
optimizations to improve tree performance (special casing "easy" segment
approaches, which got a few percent, and inlining block_from_structure
for tree leaves and branches, which got us considerably more; I think
the total improvement is around 5%).
2022-07-31 01:28:37 -07:00
Joshua Yanovski
9ebf07c6e1 Merge remote-tracking branch 'origin/master' into sharp/zoomy-worldgen 2022-07-27 15:30:37 -07:00
Joshua Yanovski
bc4600cf14 Rivers (hack, not great). 2022-07-25 18:28:27 -07:00
Marcel Märtens
bfcc2cb802 Change the version number to 0.13 2022-07-23 14:06:08 +02:00
John Heath
edc10519c6 fix for #1604 : use correct values in calculation 2022-07-21 18:34:06 +01:00
DaforLynx
d2710635d8 Lightning strikes are less audible; cave music restored; fixed audio permanently stopping on logout 2022-07-21 08:27:35 +00:00
Avi Weinstock
7f6ba8e492 Closing a subwindow (such as inventory or the list of online players) only regrabs the cursor if no other subwindow requires it.
Fixes #1116.
2022-07-17 14:58:02 -04:00
Forest Anderson
67534488b3 Merge branch 'tygyh/CleanUp' into 'master'
Tygyh/clean up

See merge request veloren/veloren!3480
2022-07-17 14:04:45 +00:00
Joshua Barretto
79ad06ab60 Early light filter 2022-07-16 15:54:12 +01:00
Joshua Barretto
cda6c031b8 Limit number of minor lights applied to entities to solve performance problems 2022-07-16 15:39:06 +01:00
Treeco
7efddc33f7 Merge branch 'more_humanoid_models' into 'master'
Humanoid Model Overhaul

See merge request veloren/veloren!3478
2022-07-16 11:13:24 +00:00
Youssef Fahmy
91c85dea22 Humanoid Model Overhaul 2022-07-16 11:13:24 +00:00
Joshua Barretto
ea39f78dfd Minimised rain occlusion problems 2022-07-16 11:14:12 +01:00
Joshua Barretto
b08a501aef Cleaned up ready for merge 2022-07-16 11:09:35 +01:00
tygyh
9f6df715e7 Readd needed qualifiers 2022-07-15 19:36:36 +02:00
tygyh
120ee6b6c0 Fix typos 2022-07-15 18:59:37 +02:00
tygyh
abdd5e3906 Lift return out of if-statements 2022-07-15 16:36:11 +02:00
tygyh
25e20b5fa0 Remove unecesssary lifetimes 2022-07-15 16:20:15 +02:00
tygyh
fb7bdd8bf8 Fix deprecated imports 2022-07-15 16:17:19 +02:00
tygyh
fefe745508 Reorder impl member order to match trait member order 2022-07-15 15:54:32 +02:00
tygyh
5e5698249b Remove unnecessarily qualified paths 2022-07-15 14:49:46 +02:00
Joshua Barretto
07ba4dcc33 Fixed particles for non-body entities, AO for non-volumetric illumination 2022-07-15 08:43:34 +01:00