Minetest logo

IRC log for #minetest-dev, 2024-02-13

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

All times shown according to UTC.

Time Nick Message
00:08 v-rob joined #minetest-dev
00:37 proller joined #minetest-dev
00:46 citrons joined #minetest-dev
01:17 jonadab ROllerozxa: One of my favorites is "We're sorry, but your password couldn't be changed. Code: 0x8007052d". ย Which means your password is longer than the maximum allowable length, because *of course* there's a maximum allowable length, it's not like hashing it is going to make that irrelevant or anything.
01:18 jonadab And yes, I found that out the hard way.
01:33 [MTMatrix]_ joined #minetest-dev
01:34 Niklp9 joined #minetest-dev
01:36 sugarbee1 joined #minetest-dev
01:37 ROllerozxa_ joined #minetest-dev
01:46 Sokomine joined #minetest-dev
02:47 proller joined #minetest-dev
04:02 proller joined #minetest-dev
04:13 v-rob joined #minetest-dev
04:29 proller joined #minetest-dev
05:00 MTDiscord joined #minetest-dev
06:45 v-rob joined #minetest-dev
07:31 calcul0n joined #minetest-dev
08:19 calculon joined #minetest-dev
10:19 calcul0n_ joined #minetest-dev
10:22 YuGiOhJCJ joined #minetest-dev
11:11 appguru joined #minetest-dev
12:17 proller joined #minetest-dev
13:03 proller joined #minetest-dev
13:45 proller joined #minetest-dev
14:07 Lupercus joined #minetest-dev
14:08 calcul0n joined #minetest-dev
15:06 appguru joined #minetest-dev
16:30 calculon joined #minetest-dev
16:34 calcul0n joined #minetest-dev
16:51 SFENCE joined #minetest-dev
16:58 SFENCE joined #minetest-dev
17:05 SFENCE joined #minetest-dev
17:23 SFENCE joined #minetest-dev
17:48 SFENCE joined #minetest-dev
17:56 ivanbu joined #minetest-dev
18:56 appguru joined #minetest-dev
19:03 v-rob joined #minetest-dev
19:32 sfan5 if there are no complaints I'd like to merge #13092 this evening
19:32 ShadowBot https://github.com/minetest/minetest/issues/13092 -- Lua on each mapgen thread by sfan5
19:53 pgimeno just wow, looking forward to it
19:56 pgimeno does it break backwards compat? also, is there a provision for inter-thread communication?
19:56 pgimeno @sfan5 ^
19:57 sfan5 no and no
19:58 pgimeno hm, the second "no" limits its use a bit; still, it's a great advance
19:59 pgimeno love2d has "channels" for inter-thread communication, which serialize/deserialize Lua data for communication and are also able to pass love2d objects
20:00 sfan5 the issue I always see with ipc is the following: what are you planning to do? any blocking work will stop the engine from functioning normally.
20:00 pgimeno in a thread?
20:00 pgimeno maybe threads want to talk between themselves
20:01 sfan5 but you don't get to choose and spawn threads
20:01 sfan5 you're only running work in callbacks inside engine threads
20:02 pgimeno still, they may need info on e.g. parameters or stuff
20:02 pgimeno it can also be non-blocking communication
20:02 sfan5 btw there is a way to communicate Lua data from the mapgen thread back to the main thread
20:03 sfan5 i can see why mods may need bidirectional communication but they way everything is set up right now you would basically be adding a huge footgun because it's so hard to use IPC correctly without impairing the engine
20:05 pgimeno I think I see your point
20:05 sfan5 of course this our "fault" because we only give mods single-purpose specialized ways to offload work and not just threading primitives
20:08 SFENCE joined #minetest-dev
20:09 celeron55_ there's a huge advantage to single threaded operation though. it simplifies everything, up until to the point where you want to run large computational workloads
20:09 celeron55_ if e.g. every mod was ran in its own thread, any APIs provided by mods would have to be IPC based
20:10 celeron55_ then you'd end up wanting to be able to make "header-style" mods that are ran in the same thread that they are called in
20:11 celeron55_ even if the "standard" was a mod ran in its own thread
20:12 celeron55_ then, if a mod running in its own thread would want to do bulk-ish node operations, it would have no chance whatsoever of doing it with the basic api calls, as each would involve an environment mutex of some kind
20:12 celeron55_ you'd basically always have to use a voxelmanip-style thing or a serialized list of operations of some kind
20:13 celeron55_ then you'd probably have async and sync versions of every api
20:14 celeron55_ every thread would be fighting for the ownership of things, or alternatively nobody would own them and performance for accessing anything in the actual game would be unbearably bad
20:23 Krock at least the mapgen can easily be parallelized because.. it already is on C++
20:24 Krock side
20:24 celeron55_ and it makes a lot of sense anyway
20:24 celeron55_ it's crazy that it takes only about a thousand lines to stretch that to lua
20:24 celeron55_ usefully
20:24 Krock for anything else I could see async + callback-based approaches to be more helpful for compute-intensive tasks that are working with their own data
20:26 celeron55_ yeah any time you can copy a chunk of data, throw it to a self-sufficient task and then get something back sometime later, a thread makes a lot of sense
20:34 SFENCE joined #minetest-dev
21:16 pgimeno celeron55_> if e.g. every mod was ran in its own thread, any APIs provided by mods would have to be IPC based
21:16 pgimeno that doesn't sound too wise; I'm thinking about allowing mods to create their own threads instead
21:17 pgimeno not sure it'd be useful tbh
21:26 sfan5 merging #13092, #14298 in 10m
21:26 ShadowBot https://github.com/minetest/minetest/issues/13092 -- Lua on each mapgen thread by sfan5
21:26 ShadowBot https://github.com/minetest/minetest/issues/14298 -- [no squash] Dynamic media improvements by sfan5
21:47 Desour joined #minetest-dev
22:21 MTDiscord <exe_virus> Question on multi-threaded mapgen: in that PR did it affect current mapgen v7 or rivers or anything? Or is this mod-only for now and not built-in mapgens?
22:21 sfan5 engine mapgen has always been multi-threaded
22:24 MTDiscord <exe_virus> oh - interesting - it never blocked main? gotcha
22:24 MTDiscord <exe_virus> curse you caverealms haha
22:26 Desour awesome new mapgen feature ๐ŸŽ‰๐ŸŽ‰. and dynamic media improvement is also nice ๐ŸŽ‰
22:28 nrz_ Good job guys !
22:29 nrz_ I like lua callbacks per threads. It's the good way, and for maintenability ensure they never communicate together (there is no interest here)
22:38 proller__ joined #minetest-dev
23:03 appguru joined #minetest-dev
23:06 MTDiscord <jordan4ibanez> Maybe you could have some kind of atomic, mutex, or rwlock/wrlock so they could? That would be crazy
23:22 MTDiscord <exe_virus> Just not valuable I think. Even with dynamic mapgen stuff, you would just use message passing to let them know about the changes, you wouldn't need to know when they finished. It's like a traditional graphics GPU pipeline, one way
23:32 panwolfram joined #minetest-dev

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