Commit Graph

12183 Commits

Author SHA1 Message Date
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
ead5f65e05 Bump gpu_alloc, help fix memory leak. 2022-08-30 21:56:18 -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
9453a1e463 In wgpu, take slightly more conservative locks.
I don't think this should actually affect anything in Veloren but it's
probably required for correctness in general.
2022-08-26 17:16:28 -07:00
Joshua Yanovski
13bbc06f9b Fix namespace issue. 2022-08-26 00:33:34 -07:00
Joshua Yanovski
83d6243205 Make sure to always give the client and server at least two workers, for
queueing theory reasons.
2022-08-26 00:32:25 -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
0dd52f9f11 Fixing screenshots. 2022-08-23 08:00:40 -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
39db97ed03 Fixing some messed up rons. 2022-08-13 23:50:13 -07:00
Joshua Yanovski
706084dd15 Improving meshing performance. 2022-08-13 23:48:50 -07:00
Joshua Barretto
9bb3681f55 Better SmallCache 2022-08-06 18:19:43 +01:00
Joshua Barretto
bdb71a15df Improved cave performance, fixed FastNoise2d 2022-08-06 18:02:57 +01:00
Joshua Barretto
86f628037f Made caves generate 425x faster 2022-08-06 14:46:33 +01: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
IsseW
f174472f55 Fix tracy network message plotting. 2022-07-31 16:18:46 +02:00
Joshua Yanovski
5afb17eb07 Reduce jitter, this was too ambitious. 2022-07-31 02:23:01 -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
901aa8e1b4 Another 5% boost to tree chunk performance
(and over 25% improvement to giant tree throughput--they are under 1
ms/chunk now!)
2022-07-28 12:12:15 -07:00
Joshua Yanovski
233e12d279 Boost tree performance by ~70%.
Turns out inlining matters!
2022-07-27 21:47:47 -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
34ae5b9df7 Merge branch 'xMAC94x/release-numbers' into 'master'
Change the version number to 0.13

See merge request veloren/veloren!3490
2022-07-23 13:15:01 +00:00
Marcel Märtens
bfcc2cb802 Change the version number to 0.13 2022-07-23 14:06:08 +02:00
Marcel
72b0b26004 Merge branch 'pfau/bg_new' into 'master'
new bg

See merge request veloren/veloren!3488
2022-07-22 11:49:57 +00:00
Marcel
79dc450e1e Merge branch 'CaribouJohn/fix-untranslated-perc' into 'master'
fix for #1604 : use correct values in calculation

See merge request veloren/veloren!3489
2022-07-21 18:29:18 +00:00
John Heath
edc10519c6 fix for #1604 : use correct values in calculation 2022-07-21 18:34:06 +01:00
Marcel
7f94580b20 Merge branch 'DaforLynx/thunder-fix' into 'master'
Lightning strikes are less audible; cave music restored; fixed audio permanently stopping on logout

See merge request veloren/veloren!3487
2022-07-21 08:27:35 +00: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
Marcel
fae619eb2c Merge branch 'xMAC94x/buff_campfire_speedup' into 'master'
put light_emitters in par_loop to improve the runtime of the campfire lit out loop

See merge request veloren/veloren!3486
2022-07-20 10:01:05 +00:00
Monty Marz
6571068623 new bg 2022-07-19 20:53:06 +02:00
Marcel Märtens
ffe7b2158d put light_emitters in par_loop to improve the runtime of the campfire lit out loop 2022-07-18 20:56:28 +02:00
Joshua Yanovski
0b91f5ba90 Fix paths (sorta) and rock moss. 2022-07-18 09:19:20 -07:00
Joshua Yanovski
a3491d5073 Faster falloff, some performance optimizations. 2022-07-17 23:43:40 -07:00
Joshua Yanovski
fcb192d849 Fast density approximation. 2022-07-17 22:23:44 -07:00