| Time |
Nick |
Message |
| 00:28 |
|
AliasAlreadyTake joined #minetest-dev |
| 00:30 |
|
YuGiOhJCJ joined #minetest-dev |
| 03:55 |
|
Menchers_ joined #minetest-dev |
| 04:09 |
|
izzyb joined #minetest-dev |
| 05:00 |
|
MTDiscord joined #minetest-dev |
| 06:53 |
|
hmmmm joined #minetest-dev |
| 06:53 |
|
hmmmm joined #minetest-dev |
| 07:49 |
|
calcul0n_ joined #minetest-dev |
| 08:10 |
|
proller joined #minetest-dev |
| 08:21 |
|
hmmmm joined #minetest-dev |
| 08:21 |
|
hmmmm joined #minetest-dev |
| 08:27 |
|
hmmmm joined #minetest-dev |
| 08:27 |
|
hmmmm joined #minetest-dev |
| 10:24 |
|
Fixer joined #minetest-dev |
| 10:34 |
|
proller joined #minetest-dev |
| 10:43 |
|
appguru joined #minetest-dev |
| 11:52 |
MTDiscord |
<Andrey01> Again a reminder for reviewing #12828 and re-reviewing #13020 |
| 11:52 |
ShadowBot |
https://github.com/minetest/minetest/issues/12828 -- Add vector variation for ContentFeatures 'visual_scale' property. by Andrey2470T |
| 11:52 |
ShadowBot |
https://github.com/minetest/minetest/issues/13020 -- 3d line rendering. by Andrey2470T |
| 11:58 |
MTDiscord |
<Andrey01> I'm also awaiting for an approval of it |
| 12:38 |
|
proller joined #minetest-dev |
| 13:38 |
|
appguru joined #minetest-dev |
| 13:48 |
|
appguru joined #minetest-dev |
| 13:49 |
|
rubenwardy joined #minetest-dev |
| 14:33 |
|
jwmhjwmh joined #minetest-dev |
| 15:03 |
kilbith |
https://www.youtube.com/watch?v=w-NQAhmeOS8 |
| 15:03 |
kilbith |
just wanted to show you how good looking is this bloom |
| 16:09 |
|
appguru joined #minetest-dev |
| 17:38 |
|
olliy joined #minetest-dev |
| 19:02 |
|
Noisytoot joined #minetest-dev |
| 19:18 |
|
appguru joined #minetest-dev |
| 19:31 |
|
hmmmm joined #minetest-dev |
| 19:31 |
|
hmmmm joined #minetest-dev |
| 20:12 |
|
MTDiscord joined #minetest-dev |
| 21:00 |
|
jwmhjwmh joined #minetest-dev |
| 21:06 |
|
Guest27 joined #minetest-dev |
| 21:26 |
|
appguru joined #minetest-dev |
| 21:55 |
|
HuguesRoss0 joined #minetest-dev |
| 21:59 |
|
HuguesRoss joined #minetest-dev |
| 22:45 |
MTDiscord |
<x2048> https://cdn.discordapp.com/attachments/747163566800633906/1061415203989880842/image.png |
| 22:45 |
MTDiscord |
<x2048> Client render thread spends 25-35% receiving and unpacking network data |
| 22:54 |
jwmhjwmh |
Any objections to #13017? If not, I might merge it soon. |
| 22:54 |
ShadowBot |
https://github.com/minetest/minetest/issues/13017 -- Implement `minetest.get_node` and `minetest.get_node_or_nil` with LuaJIT FFI by TurkeyMcMac |
| 23:04 |
sfan5 |
@x2048 surely that's only because you lots of block updates? |
| 23:09 |
sfan5 |
jwmhjwmh: I'm still not wholly convinced of that the extra complexity and less maintainability is worth it but don't mind that |
| 23:10 |
MTDiscord |
<x2048> sfan5: well yeah, view range of 600 and 8 meshing threads. |
| 23:10 |
MTDiscord |
<x2048> Drops to 15% with autodetected number of threads |
| 23:14 |
jwmhjwmh |
I'll leave it unmerged for now. |
| 23:15 |
sfan5 |
well that doesn't have any purpose |
| 23:15 |
sfan5 |
if other devs want it in and I'm roughly neutral on it then it should go in |
| 23:29 |
MTDiscord |
<x2048> https://cdn.discordapp.com/attachments/747163566800633906/1061426312033611877/image.png |
| 23:30 |
MTDiscord |
<x2048> More fun statistics. Adding blocks to the meshing queue (+caching them) takes majority of the time in client packet handler, and ~50% of that is waiting for the mutex |
| 23:30 |
MTDiscord |
<x2048> Looks like I've introduced a lot of contention on the MeshUpdateQueue by adding more threads... |
| 23:33 |
sfan5 |
question is where |
| 23:33 |
sfan5 |
I should profile this |
| 23:35 |
MTDiscord |
<x2048> MeshUpdateQueue::addBlock |
| 23:36 |
MTDiscord |
<x2048> versus MeshUpdateQueue::pop |
| 23:36 |
MTDiscord |
<x2048> Both methods copy a lot of data around while holding that mutex |
| 23:37 |
sfan5 |
yeah that's what I suspected |
| 23:37 |
sfan5 |
the cacheBlock call should be taken out of it |
| 23:37 |
MTDiscord |
<x2048> I wonder why we need it at all |
| 23:37 |
MTDiscord |
<x2048> Can we lock the map's blocks and pass them byref? |
| 23:38 |
sfan5 |
aside from the fact that the mb itself can get deallocated, locking each mb is way too fine-grained and ruins performance |
| 23:40 |
MTDiscord |
<x2048> I meant using exising refGrab() / refDrop() to keep the blocks in memory while mesh is generated |
| 23:40 |
MTDiscord |
<x2048> This is cheap and can be done before queueing, then released when client receives the mesh. |
| 23:41 |
sfan5 |
are mapblocks ever replaced with new objects? |
| 23:41 |
MTDiscord |
<x2048> nope |
| 23:41 |
MTDiscord |
<x2048> Only unloaded when the timers expire |
| 23:41 |
sfan5 |
what if the data changes while it's being generated? |
| 23:42 |
MTDiscord |
<x2048> This means the client thread will queue regeneration of the mesh shortly after |
| 23:42 |
MTDiscord |
<x2048> Either because data arrived from the net or because of prediction (build/dig) |
| 23:42 |
sfan5 |
so it doesn't matter if the result is junk? hmm |
| 23:43 |
sfan5 |
I forsee the meshgen crashing though if data is not consistent between reads |
| 23:44 |
MTDiscord |
<x2048> Meshgen will still use vmanip |
| 23:44 |
MTDiscord |
<x2048> we'll just populate it from real mapblocks instead of CachedMapBlock |
| 23:44 |
MTDiscord |
<x2048> MeshUpdateQueue::fillDataFromMapBlockCache |
| 23:45 |
sfan5 |
hmm |
| 23:48 |
|
Desour joined #minetest-dev |
| 23:51 |
MTDiscord |
<x2048> https://github.com/x2048/minetest/tree/main-thread-performance - here's the version with the time measurements |