Minetest logo

IRC log for #minetest-dev, 2023-01-07

| Channels | #minetest-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

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

| Channels | #minetest-dev index | Today | | Google Search | Plaintext