Minetest logo

IRC log for #minetest, 2022-02-17

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

All times shown according to UTC.

Time Nick Message
00:04 kamdard joined #minetest
00:13 Alias2 joined #minetest
00:17 GNUHacke_ left #minetest
00:26 MTDiscord2 joined #minetest
00:27 RhineDevil^ joined #minetest
01:27 lemonzest joined #minetest
01:51 v-rob joined #minetest
01:52 Verticen joined #minetest
02:49 kabou joined #minetest
02:50 Hawk777 joined #minetest
02:52 fluxionary_ joined #minetest
03:19 stormchaser3000 joined #minetest
03:28 queria^clone joined #minetest
03:33 queria^clone joined #minetest
04:57 crabycowman123 joined #minetest
05:00 MTDiscord joined #minetest
05:33 JackFrost joined #minetest
05:47 JackFrost joined #minetest
06:01 riff-IRC joined #minetest
06:14 Yad joined #minetest
06:14 RhineDevil^ joined #minetest
06:25 v-rob joined #minetest
06:51 TomTom joined #minetest
07:13 appguru joined #minetest
07:14 calcul0n joined #minetest
08:29 wolfshappen joined #minetest
08:35 wolfshappen joined #minetest
10:09 appguru joined #minetest
10:16 specing_ joined #minetest
10:16 RhineDevil^ joined #minetest
10:57 search_social joined #minetest
11:08 proller joined #minetest
11:49 jvalleroy joined #minetest
12:07 definitelya joined #minetest
12:24 calcul0n joined #minetest
13:02 GNUHacker joined #minetest
13:35 tech_exorcist joined #minetest
13:46 proller joined #minetest
14:11 basxto joined #minetest
14:13 kabou joined #minetest
14:14 tech_exorcist joined #minetest
14:38 tech_exorcist joined #minetest
14:57 Gustavo6046 joined #minetest
14:58 Gustavo6046 joined #minetest
15:18 definitelya_ joined #minetest
15:43 lemonzest joined #minetest
16:06 Fixer joined #minetest
16:16 sobkas joined #minetest
16:24 Gustavo6046 is there LOD so far away blocks are 'merged'?
16:24 Gustavo6046 like clumps of 2x2, then of 4x4 blocks
16:25 GNUHacker joined #minetest
16:25 erlehmann Gustavo6046 this is so far off the way rendering is done according to my understanding it's not even funny
16:25 erlehmann :D
16:26 erlehmann you only get mipmapping afaik
16:26 erlehmann and fog
16:26 erlehmann everything far away is behind fog lol
16:27 sfan5 Gustavo6046: there is no LOD, no
16:27 erlehmann i don't even think it would make sense to add some LOD calculation, given what i know about rendering
16:27 erlehmann it would basically be a visual effect
16:27 rubenwardy Minetest used to have such a feature, it was called far map
16:27 rubenwardy well
16:28 rubenwardy the version in Minetest was based on a terrain map. There was an unmerged branch by celeron55 which used LOD
16:28 erlehmann Gustavo6046 you would probalby not merge nodes in the world, but rather make far away stuff a mesh
16:29 erlehmann and work on that
16:29 sfan5 if you think "nodes" and "meshes" are different things you knowledge about rendering is indeed off
16:29 sfan5 +r
16:29 erlehmann sfan5 a single mesh
16:29 erlehmann and then reduce that
16:29 sfan5 a mesh is not an atomic unit
16:29 erlehmann basically the primitive is not “clumps of 2x2x2 nodes”
16:30 erlehmann that's what i mean
16:30 sfan5 a mesh is not a primitive either
16:30 rubenwardy nodes are already combined into a single mesh (per mapblock?)
16:30 erlehmann then 2x2 blocks
16:31 erlehmann i am p sure mapblock mesh is a thing
16:33 erlehmann rubenwardy src/client/mapblock_mesh.cpp
16:33 rubenwardy ...
16:33 rubenwardy I'm aware
16:33 Gustavo6046 ahh
16:34 Gustavo6046 erlehmann, but the further away it is, the less it should really matter how much detail you have, that's the very idea of LOD.
16:34 Gustavo6046 Mipmapping is good, but it isn't there for performance, and I don't think it really helps all that much?
16:34 Gustavo6046 Unless you used solid colour or something? I don't know.
16:34 erlehmann Gustavo6046 is this a performance or an ambience thing?
16:35 Gustavo6046 Hmm?
16:35 erlehmann do you want level of detail so you can view further without the game going down to 2fps?
16:35 erlehmann or as a neat effect for mountain ranges?
16:36 erlehmann i mean undoubtedly minetest crawls to a halt once you show too many mapblocks at once
16:36 erlehmann but i rarely *have* to see that far
16:37 erlehmann usually only when i died and wanna get my bearings from the respawn point, i quickly turn on unlimited rendering distance
16:37 erlehmann to figure out which way to walk
16:37 erlehmann as the mapblocks are still loaded
16:37 erlehmann in the client
16:37 Markow joined #minetest
16:38 erlehmann rubenwardy celeron55 what made the far map thing so bad it was scrapped?
16:39 MTDiscord <Jonathon> Just because something may not be good for you isnt a excuse to paramat it
16:40 rubenwardy paramat had nothing to do with it
16:40 MTDiscord <Jonathon> I never said that they did
16:41 MTDiscord <Jonathon> I was refering to there behavior when addressing erlehmann
16:41 erlehmann look if you want me to stop being a dumbo, please try to tell it so that a dumbo can understand it
16:41 erlehmann bc i have no idea what you mean
16:52 celeron55 erlehmann: there have been two versions of the far map, the first one was released in the very early days and was removed before 0.3 (IIRC), it was based on a heightmap and was way too rough and inaccurate, and also completely static
16:52 celeron55 the second one is available as a branch in my repo, i left it in WIP state and it was never merged upstream, it's more of a LOD thing
16:52 celeron55 an*
16:54 celeron55 it was left unmerged in the hopes that rendering would be sped up otherwise so that it wouldn't be needed. of course that doesn't apply to the old hardware you are using, it won't be able to render further, but more modern hardware can if the rendering is optimized for more modern hardware
16:55 celeron55 then there's the network bandwidth and the amount of generation and processing the server has to do (and stuff it has to keep in memory), which is a more complicated matter
16:56 erlehmann celeron55 so how would a LOD-reduced mapblock be sent to the client? full data?
16:56 erlehmann oh you mentioned it hehe
16:56 celeron55 all in all, it's very difficult to come up with a definite solution that satisfies the needs of people and hardware
16:56 celeron55 in my LOD thing it's reduced on the server side
16:57 erlehmann given what i have seen on irrlicht capabilities recently (particles and shadows), i find it a bit hard to believe that hardware is the bottleneck
16:57 celeron55 freeing bandwidth and client resources
16:57 erlehmann oh yeah, now that you are here, can you tell me what did not work out when someone inevitably tried to make particles batched?
16:57 erlehmann ig they have to be sorted in some way
16:58 erlehmann but i am not aware of any aborted attempts to do it
16:58 celeron55 haven't been following anything particle related
17:01 sfan5 related https://github.com/minetest/minetest/pull/8461
17:02 celeron55 hecks experimented with some LOD / horizont drawing stuff, but he decided it's important first to optimize the basic node rendering for the hardware that would be capable of rendering a lot of more nodes
17:02 rubenwardy agreed
17:02 celeron55 -t
17:03 celeron55 it makes sense to me... but if it's not done, then nothing gets done in that topic
17:03 erlehmann sfan5 this seems promising
17:03 erlehmann thanks
17:04 sfan5 it seems
17:05 sfan5 if it was promising it would've been merged
17:05 sfan5 (usually)
17:05 erlehmann well it breaks vertical particles
17:06 erlehmann though i do not understand yet why
17:06 erlehmann > The changed properties require a change in the network protocol
17:06 erlehmann lol
17:07 erlehmann i remember that way way back someone wanted to make a rain thing for minetest-delta
17:07 erlehmann but never cleared up their whitespace or something
17:07 erlehmann just dumped the PR there and well, didn't get merged lol
17:13 erlehmann celeron55 regarding LOD, i appreciate how much smoke and mirrors good games are. you probably read the “rendering a city” article series way back, did you?
17:15 erlehmann https://www.shamusyoung.com/twentysidedtale/?p=3166
17:15 erlehmann https://www.youtube.com/watch?v=-d2-PtK4F6Y
17:15 erlehmann this one
17:15 erlehmann i bet a lot of you know it
17:16 erlehmann sfan5 if the “change the network protocol” parts are cut out of the PR you linked, how salvage-able do you think it may be?
17:16 erlehmann does the vertical thing present an insurmountable obstacle?
17:18 MTDiscord <Warr1024> Ironically smoke and mirrors are themselves things that games have wanted to have but have historically had to find shortcuts around because they can be a bit intensive to accurately simulate.
17:18 erlehmann that made me smile hehe
17:18 erlehmann i remember playing poke646, which used the half life 1 engine
17:18 Gustavo6046 shouldn't the media for the last joined server still be in memory, or recent media in some sort of in-memory LRU cache?
17:18 sfan5 media is cached on disk
17:19 erlehmann Gustavo6046, minetest leaks memory, but if it leaks media, no idea.
17:19 sfan5 erlehmann: I don't know, does just removing a feature in active use sound like a problem to you?
17:19 sfan5 who was the person complaining about "rugpulls" again?
17:19 erlehmann sfan5 cut the sarcasm, salvaging would obv entail fixing that
17:20 erlehmann i just want to know if that's even an option
17:20 erlehmann and yes, i am against rug pulling
17:20 erlehmann always will be
17:20 erlehmann a client side rendering speedup PR has no business even touching network code imo
17:20 erlehmann or change the API
17:21 Gustavo6046 erlehmann, mm?
17:21 MTDiscord <Warr1024> Can't say I'm a fan of rug pulling in general, but it really depends on the condition of the rug itself, and what is under it and/or is going to replace it.
17:21 Gustavo6046 sfan5, yes, but that still takes a while to load if you join a server
17:21 sfan5 well PRs that improve rendering without an observable difference in API or result are obviously okay
17:21 sfan5 and I can't comment on the code itself
17:22 erlehmann ok
17:22 erlehmann thx
17:22 sfan5 so still not sure what you're asking
17:22 MTDiscord <Warr1024> gustavo: media caching to disk means you don't have to wait for that media to download from the network again, but you may still need to wait for it to be loaded from disk and unpacked into memory, which may depend a lot on your device.
17:22 erlehmann i was asking you if you had an opinion on the code itself
17:22 erlehmann which you don't, if i understand it
17:22 erlehmann but thanks for referencing it
17:23 erlehmann Gustavo6046 there are some simple things you can do to speed up media loading in general, but few of those are desirable.
17:23 erlehmann Gustavo6046 one thing you can do is use uncompressed formats. i have benchmarked that recently though and it seems there is no real gain at the texture size and number we have.
17:25 erlehmann Gustavo6046 another thing could be to do less reading of very many small files. that really depends on your filesystem and storage though, if *that* makes it slow.
17:25 MTDiscord <Warr1024> Uncompressed formats for writing to a disk cache may or may not make sense depending on the relative CPU/IO balance of the system; sometimes compression can save time, sometimes it costs.  It's generally not great for the network side of things though, and IIRC MT doesn't re-encode the disk cache so you'd have to eat the network costs.
17:26 MTDiscord <Warr1024> "at the texture size and number we have" is not a thing, it's many things, and the servers where cache load times are a problem are also likely to be the ones where uncompressed formats would be too.
17:26 erlehmann Warr1024 i tested it in particular because at the typical sizes we are talking (textures that are 100 to 300 bytes) the compression gains you very little. but also at that size the undeniable overhead seems to not affect loading enough to justify it.
17:27 erlehmann justify changing it i mean
17:27 MTDiscord <Warr1024> People talk about servers with multiple GB of media, and I usually only play on servers that just barely have multiple MB of media, so there's a pretty stark difference there.  With only 2MB of media, it more or less just doesn't matter what you do anyway, so compress away if you're into that kind of thing :-)
17:27 erlehmann believe me, if i had found something, i'd already made a PR
17:28 erlehmann right now compression mainly matters if you are writing a thing a lot and reading it a lot
17:28 erlehmann think mcl_maps, you *really* don't want to add a deflate every time you edit the texture
17:28 erlehmann i mean an additional one
17:30 erlehmann AFAIK one thing that games use to speed up access to many small files is archives. irrlicht has support for that. irrlichtmt does not … AND it does not help with caching, unless you repack the stuff somewhere else.
17:32 erlehmann i concede that very broadly the direction of the “save all textures in sqlite” may not be as misguided as i have claimed. the implementation was stlil extremely cursed don't open.
17:32 erlehmann Gustavo6046 have you profiled the loading, in what is taking most time?
17:33 erlehmann Gustavo6046 you can use strace and ltrace for that on linux. also your binary will be slowed down to a crawl.
17:34 sfan5 strace/ltrace are not profiling tools
17:35 sfan5 they can tell if tell you whether reading from disk is slow though
17:35 ggITA52_ joined #minetest
17:35 erlehmann well, they can tell you if you are doing a lot of unnecessary stuff
17:36 erlehmann or, if you know you are doing that, they can help you pinpoint what it is
17:36 erlehmann (a real profiler obviously does not make everything take ages)
17:37 v-rob joined #minetest
17:38 erlehmann Warr1024 this is funny https://nitter.snopyta.org/Foone/status/1372768129395224578
17:38 erlehmann mirrors in duke nukem
17:42 MTDiscord <Warr1024> What's funny is how those worked.  They basically duplicated the level geometry and objects inside that space to fake it.  That also meant that when designing a level that had a mirror, you needed to put a giant sector behind it covering the space that the mirror could "see" to "reserve" that space for the mirror's internals.
17:43 Talkless joined #minetest
17:44 MTDiscord <Warr1024> Er, actually, no wait, they needed that sector because they positioned the camera inside that space and rendered the scene facing out.  It's been a few decades so I remember it fuzzy :-)
17:44 erlehmann duke nukem 3d was a huge flex on all accounts
17:44 erlehmann shrink ray!
17:46 MTDiscord <Warr1024> The build engine was one of my favorites for map editing.  The BSP maps used in Quake, and event the 3D portal renderer used by Unreal, were too much of a PITA.  I was really fine with maps that were conceptually 2D and just had some 3D extrusions.  Most of day to day human existence really happens on planes with limited extrusion due to the influence of gravity.
17:46 Gustavo6046 erlehmann, I see
17:46 erlehmann come with me to the nether roof
17:46 GNUHacker joined #minetest
17:46 Gustavo6046 my btrfs uses zstd compression if that is related
17:47 Gustavo6046 zstd is pretty fast compared to other methods, I think the point of it is that you can lower its compression level to get faster compression than standard methods without losing too much on compression ratio?
17:47 erlehmann Gustavo6046 well … try running minetest from a tmpfs and see how fast it is?
17:47 MTDiscord <Warr1024> Compression at the fs layer is likely not going to be helpful to MT's media cache, though whether or not it actually hurts probably depends a lot on how much machine you've got available to handle it.
17:48 Gustavo6046 Warr1024: I really liked map editing for Unreal, as well as for Doom. FYI Duke Nukem 3D does not use a BSP tree like Doom and Quake do (even though it uses sectors like Doom does). It uses portals.
17:48 MTDiscord <Warr1024> I actually use a tmpfs for my media cache and never have issues ... but again, I normally play games with ~2MB media :-)
17:48 erlehmann i really like the map editing for minetest, because it is IN THE GAME hahaha
17:48 Gustavo6046 Quake and Q3 also has "vis" portals that help with rendering performance.
17:48 erlehmann doom 2 has really funny mods
17:48 Gustavo6046 Simple rendering methods tend to faulter to the fact that rendering is, by nature, an expensive amount of computations, and is usually best done smartly, that is, with complex algorithms that reducex the amount of brute force work done.
17:48 erlehmann i mean if you use modern freedoom
17:48 erlehmann haha, use brutal doom
17:49 MTDiscord <Warr1024> One of the Build Engine's strengths as a portal engine was that there was no map compilation necessary, and limited ways of making maps that aren't valid, instead of having the "leaking" issue that Quake ran into.
17:49 erlehmann it is doom meets minecraft
17:49 erlehmann wdym leaking
17:49 Gustavo6046 GPUs allow the already complicated rendering pipelines of today to reach a decent performance without too much fussing about data structures and ever-so-ginormous hacks and cleverness to reach the same performance with software rendering.
17:49 v-rob joined #minetest
17:50 Gustavo6046 It's hard enough to reach a good performance on software rendering with something like Quake 3, look at how complicated its rendering code is! :P
17:50 MTDiscord <Warr1024> Quake levels were composed of an empty negative space that you added positive geometry to (as compared to Doom or Duke3D that had a positive solid space you carved negative spaces into).  When you compiled a quake level, it had to bake in lighting, and it could only do this if the space that the player starts in is "sealed" such that there's no way to get to infinity from the player's starting point.
17:50 Gustavo6046 Suffice to say, I don't value a renderer by its simplicity, but also not by its complexity. I value it by its cleverness, whether it runs on the CPU or GPU or whatever. I'm ambivalent about Unreal's renderer, since it's messy, but I like the map editing that it provides through, say, UnrealEd 2. It's intuitive and nice, I like the brushes way of mapping.
17:50 MTDiscord <Warr1024> I never understood why they designed it this way; seemed dumb to me.
17:50 Gustavo6046 I'm also repelled by Quake's CSG.
17:51 Gustavo6046 It's disgusting. You're meant to fill in hulls.
17:51 erlehmann Gustavo6046 computers are fast. but programmers can do dumb stuff faster than computers get faster.
17:51 Gustavo6046 Any hole into the void is an error.
17:51 erlehmann Gustavo6046 so does the tmpfs thing do anything?
17:51 Gustavo6046 Unreal doesn't have that.
17:51 MTDiscord <Warr1024> One thing about the old legacy games was that they were designed for CPU software rendering, and had to optimize pretty intensely; games like MT get away with a lot because we assume the GPU can handle quite a bit.
17:51 Gustavo6046 erlehmann, oh I'm yet to do that. I think I'll do that, yes.
17:52 Gustavo6046 Although I was thinking about having that LRU to the disk; the way tmpfs works it'll prohbably LRU to swap instead, which currently is a zstd zram volume.
17:52 MTDiscord <Warr1024> Unreal has positive and negative CSG, so yeah, it avoids leaks to infinity.  I think it was Quake II specifically I ran into the most trouble with.
17:52 v_rob joined #minetest
17:52 erlehmann Gustavo6046 you are really going all in on zstd LOL
17:52 erlehmann Gustavo6046 you must have lots of CPU and lack hard disk and RAM i guess
17:52 Gustavo6046 Warr1024, yeah, they were. Even with the GPU though I think you can get a lot of mileage from meticulous consideration with optimization.
17:52 MTDiscord <Warr1024> I don't think MT uses an on-disk LRU; I think it just caches media forever until you manually clear them...
17:53 Gustavo6046 erlehmann, I lack all of those, it just turns out I lack RAM more :D
17:53 erlehmann Gustavo6046 how little RAM do you have? minetest runs fine with 2GB, so …
17:53 erlehmann (my main machine is a thinkpad T60)
17:53 Gustavo6046 Warr1024 what I mean is to LRU on memory, then once that reaches the high watermark you start swapping older media to disk, until it reaches the low watermark.
17:53 Gustavo6046 erlehmann, 4 GB!
17:53 MTDiscord <Warr1024> With the GPU you need to consider the trade-offs more.  It's a lot easier to shoot yourself in the foot trying to be too clever, i.e. trying to make careful decisions instead of using brute force, when you pretty much universally actually have more brute force available than the compute resources needed to make clever decisions.
17:54 MTDiscord <Warr1024> The only LRU that I know of that MT's caching does, on disk OR in RAM, is the swapping/paging system provided by your OS.
17:54 Gustavo6046 lscpu https://termbin.com/xxic , lspci -k https://termbin.com/rx8r , glxinfo -B https://termbin.com/s9h9 , free --mega https://termbin.com/oflm2
17:54 definitelya_ Happy extruded cat day! :3
17:54 erlehmann Gustavo6046 well, i have played mineclone2, the medal winner in resource wasting mods in minetest, and i have only ever managed to fill my RAM through memory leaks with minetest
17:54 Gustavo6046 I like the SI units :)
17:54 definitelya_ lol
17:54 Gustavo6046 erlehmann, I'm playing MineClone 5
17:54 Gustavo6046 which is much better in terms of not wasting resources, I suppose
17:55 Gustavo6046 in fact right now I'm on Kay's test server
17:55 erlehmann uhhh
17:55 erlehmann i can say things about kay27 and accidental recursion but let's say i don't wanna speak ill of someone who is ultimately doing a good job
17:55 erlehmann but if mineclone5 fills your RAM, you should investigate
17:56 erlehmann i would expect with all his “minetest is racy and i build by own mapgen in lua” experiments, bugs are bound to crop up
17:57 erlehmann Gustavo6046 how much RAM does minetest use with mineclone2 on your machine?
17:57 erlehmann or mineclone5 sorry
17:57 MTDiscord <Warr1024> "I don't want to speak ill of X" always implies "but I de facto just did."  Everyone has their focus, and correspondingly, weaknesses elsewhere...
17:58 erlehmann Warr1024, for me “i wouldn't it put past him to not pay attention to runaway processes” is not speaking ill, ranting half a screen page is.
17:58 erlehmann i disagree with him about quality control, but i disagree with a lot of people about it.
17:59 MTDiscord <Warr1024> Quality control is about maintaining a specific level of quality, and part of that is avoiding too much quality.
17:59 MTDiscord <Warr1024> I actually run into the too much quality problem with NodeCore about as often as I do too little, i.e. I find myself polishing some system or fixing some obscure bugs when I really should be working on something larger and riskier.
18:00 erlehmann look, i can spell it out: kay27 is very capable fixing problems. but you will have to find them, bc he is much lier to code
18:00 erlehmann much more likely to code
18:00 erlehmann a new feature instead of reviewing an older one
18:01 erlehmann so one you have found a memory leak or whatever he will fix
18:03 erlehmann if something does not crash in luajit but does crash with builtin lua, he will not notice, bc he uses luajit.
18:03 erlehmann this is the same way i did not notice that in mcl_maps the flags need to be “wb” to work on windows for file writing
18:03 erlehmann it's always easier to have someone else point it out
18:06 erlehmann Gustavo6046 please tell me the result of your experiment, i am curious
18:09 RhineDevil joined #minetest
18:09 erlehmann https://www.brendangregg.com/blog/2014-05-11/strace-wow-much-syscall.html
18:09 erlehmann > The first strace is on display at the Computer History Museum in San Jose. It was made in 1961 using wire wrapped circuitry and core memory, and could trace up to 12 system calls per second. Within its sheet metal enclosure are four seats: for the surgeon, co-pilot, and their two secretaries. It could stay submerged at syscall depth for up to 9 hours.
18:09 definitelya_ left #minetest
18:10 erlehmann > On the bottom of San Francisco bay are several thousand unused straces, which were intended for Y2K issues that never arose, and so were scuttled.
18:11 definitelya_ joined #minetest
18:19 v_rob joined #minetest
18:28 Gustavo6046 erlehmann, which?
18:28 Gustavo6046 I didn't try mcl2 yet
18:28 Gustavo6046 I'm on mcl
18:28 Gustavo6046 mcl5
18:29 erlehmann Gustavo6046 yeah so did it do anything
18:29 erlehmann the mcl5 + tmpfs
18:38 Gustavo6046 ohh
18:38 Gustavo6046 tmpfs
18:38 Gustavo6046 you mean joining the server wit that
18:38 Gustavo6046 I didn't quite try yet
18:38 Gustavo6046 I should
18:38 Gustavo6046 one moment
18:46 v_rob joined #minetest
18:48 Verticen joined #minetest
18:53 sobkas joined #minetest
19:01 Oksanaa joined #minetest
19:16 sec^nd joined #minetest
19:19 ___nick___ joined #minetest
19:23 Gustavo6046 erlehmann, there is one detail though
19:23 erlehmann tell
19:23 Gustavo6046 tmpfs is volatile storage, I would like the media to be persistent, saved on disk
19:23 Gustavo6046 but I will give ita try
19:23 erlehmann look i only want to know if your setup makes it slow
19:23 MTDiscord <Warr1024> tmpfs is sort of a proof of concept more than a permanent solution
19:23 Gustavo6046 if it does give a significant improvement in loading time (and I have a feeling it does) I will consider finding a way to do that
19:24 Gustavo6046 erlehmann, you mean with btrfs and compression?
19:24 MTDiscord <Warr1024> in my case I use it because I specifically don't want it written to disk, I actually don't need a disk cache
19:24 erlehmann be sure to join a remote server, if you start a local server, mod initialization will dwarf most other stuff anyway
19:24 MTDiscord <Warr1024> but if it improves loading time you COULD also setup a background sync to/from disk.
19:24 erlehmann yeah
19:24 Gustavo6046 yes
19:24 erlehmann Gustavo6046 i am generally not a fan of filesystems that fill your disk with garbage once you stat a file lol
19:24 Gustavo6046 do they?
19:25 Gustavo6046 I think btrfs is clever, maybe a bit too clever but still pretty good
19:25 erlehmann the delicious butter filesystem had this failure mode last i looked
19:25 Gustavo6046 failure mode?
19:25 Gustavo6046 well, it works just fine for me, if maybe a bit slow to resize partitions and move them around, and I'm happy with it :P
19:25 erlehmann ok so a question
19:26 erlehmann give me a few minutes to figure out how it was triggered
19:26 Gustavo6046 okay, I've finished copying stuff
19:26 Gustavo6046 oh...
19:26 Gustavo6046 I am planning on doing some more pull requests to MineClone 5 in a moment
19:26 Gustavo6046 some fixes and some details
19:26 Gustavo6046 I'll do that after I finish this test though
19:26 erlehmann are you the person with the items?
19:27 Gustavo6046 items?
19:27 MTDiscord <Warr1024> oh thank got I'm not the only one who sees that as "butter filesystem"
19:27 Gustavo6046 I implemented the current item-water interaction physics in MineClone 5
19:27 Gustavo6046 does that sound familiar to you?
19:27 Gustavo6046 probably not...
19:27 Gustavo6046 ...but if it does then it's because it turns out I also did with TenPlus1's builtin_item :D
19:28 Gustavo6046 mm, Crocus does seem to make the game a bit slower
19:28 proller joined #minetest
19:28 Gustavo6046 also
19:28 Gustavo6046 it still spends some time loading media
19:29 Gustavo6046 df gives size=1,9G used=164M available=1,8G use%=9% at path /home/gustavo6046/.cache/minetest
19:30 erlehmann it does sound familiar to me
19:30 Gustavo6046 so it's not that much of an improvement, I'd sa
19:36 Gustavo6046 huh, there are some strange Moiré-esque artifacts when I walk toward or away from far away blocks, with mipmapping.
19:37 Gustavo6046 I forgot if it happens without it too
19:37 Gustavo6046 I'll try with anisotropic filtering too
19:38 Gustavo6046 nop, still there
19:38 Gustavo6046 I'll try disabling smooth lighting
19:38 erlehmann moire effects yay
19:40 erlehmann not sure if cursed, but a very lazy investigation using strace seems to suggest that minetest is definitely not holding back on unnecessary filesystem access
19:40 Gustavo6046 yeah the effects won't go away
19:40 erlehmann this is hilarious
19:41 erlehmann so by default i get stat calls for BMP files that are *definitely* not there. a lot of them.
19:41 erlehmann the bmp reader needs to die
19:43 MTDiscord <Warr1024> oh, wait, it just looks for files by hash and cycles through every possible extension or something...?
19:44 erlehmann nah, for texture packs it needs to do that
19:44 Gustavo6046 o.o
19:44 MTDiscord <Warr1024> I feel like I've gotten away with writing stuff like that a lot though, as most fs's can be relied on to cache some stuff smartly, and reading the entire dir in and hashing it myself can often be worse...
19:44 erlehmann i have written a build system. the thing is, syscalls are fast. but do it at *scale* …
19:44 Gustavo6046 maybe just prioritize png over bmp?
19:44 GNUHacker left #minetest
19:44 erlehmann look, bmp is the worst format ever
19:45 erlehmann it even has a 32 bit mode that gives you 24 bit for RGB color and 8 wasted bytes!
19:45 Gustavo6046 or convert every file to <name>.png in the filesystem (or maybe even an in-memory store) and then use that to reference textures?
19:45 Gustavo6046 so everything will be named predictable
19:45 Gustavo6046 y
19:45 erlehmann oh my, jpeg and tga exist
19:45 erlehmann the code needs to be smarter
19:45 erlehmann that's all
19:46 Gustavo6046 stat the entire folder and convert it, letting the conversion library figure the input type, rather than cycling through extensions and prodding the fs
19:46 erlehmann try it
19:46 Gustavo6046 while you're at it might as well convert it to a compressed format that is compatible with OpenGL and/or D3D
19:46 MTDiscord <Warr1024> BMP is IIRC optimized to be loaded quickly directly into video memory, i.e. the bytes are arranged on disk the same way they are in memory of video systems of the time.
19:46 Gustavo6046 what was it called now, dx12?
19:46 erlehmann LANG=C strace -e file ./bin/minetest
19:46 Gustavo6046 er no
19:46 Gustavo6046 that's not a format
19:46 MTDiscord <Warr1024> Whenever you have to say "of the time" for design of something, it's a good indication that yeah, maybe it's a bit dated...
19:46 erlehmann Warr1024 same as every other microsoft format lol
19:47 MTDiscord <Warr1024> I don't think I ever understood the reverse scanline thing from BMP though.
19:47 ___nick___ joined #minetest
19:48 erlehmann nowadays you can get every benefit you *might* have gotten from bmp from TGA. 18 byte header and whatever comes after it is a) always streamable b) interpretable with a minimum amount of code.
19:48 erlehmann which is why you see games still using TGA, but rarely using BMP
19:48 rubenwardy Gustavo6046: we only support OpenGL bt
19:48 rubenwardy *btw
19:49 MTDiscord <Warr1024> IIRC isn't BMP support only in there because it would have been too much of a bother to remove it, and it probably just felt wrong to leave it in as dead code and not expose support?
19:49 rubenwardy the best format to use on disk doesn't necessarily need to be the best format to use at runtime
19:49 erlehmann Warr1024 it should not be hard to axe it.
19:49 erlehmann give me a few minutes
19:49 rubenwardy Warr1024: that doesn't sound right
19:50 MTDiscord <Warr1024> Maybe it was an Irrlicht-pre-MT thing
19:51 ___nick___ joined #minetest
19:51 rubenwardy quick grep of ContentDB uploads show that .bmp is being used
19:51 erlehmann oh lol ok
19:51 erlehmann it has to stay then i guess
19:51 erlehmann for what though?
19:51 rubenwardy mostly by menu/icon.bpn
19:51 rubenwardy *bmp
19:52 erlehmann i see. i guess windows strikes again.
19:52 rubenwardy there's also one random textures/ image that looks wrong
19:52 MTDiscord <Sublayer plank> wh-
19:52 MTDiscord <Sublayer plank> menu icons are able to be in .png right
19:52 erlehmann i retract my assertions and substitute “no rug pulls”
19:53 MTDiscord <Sublayer plank> *are only able to
19:55 doorzan joined #minetest
19:56 doorzan left #minetest
19:57 crabycowman123 joined #minetest
19:59 erlehmann lol, constantly asking for /etc/localtime
20:00 erlehmann https://blog.packagecloud.io/set-environment-variable-save-thousands-of-system-calls/
20:01 erlehmann > It turns out that the localtime function in glibc will check if the TZ environment variable is set. If it is not set (the two Ubuntus I’ve tested do not set it), then glibc will use the stat system call every time localtime is called.
20:01 erlehmann computers were a mistake
20:01 MTDiscord <Warr1024> computers were invented by humans, so technically they're a 2nd generation mistake
20:02 sobkas joined #minetest
20:08 proller joined #minetest
20:12 Gustavo6046 erlehmann, I don't think they were
20:12 Gustavo6046 they have been profoundly leveraged by society and I think that's a good thing
20:12 Gustavo6046 in spite of it bringing all the downsides of computation over to the real world
20:18 RhineDevil joined #minetest
20:19 RhineDevil Gustavo6046: u here too
20:19 Gustavo6046 yeah
20:19 Gustavo6046 I am
20:19 kabou joined #minetest
20:20 RhineDevil why does erlehmann think computers were a mistake
20:21 RhineDevil in my opinion the problem is not in computers but in humans being egocentric narcissists
20:23 definitelya_ RhineDevil: huh?
20:24 Gustavo6046 RhineDevil, that too
20:24 RhineDevil definitelya_: I think humanity is flawed by default
20:24 Gustavo6046 and also humans not really understanding computers
20:24 RhineDevil that too
20:24 Gustavo6046 or making needlessly convoluted stuff that only exacerbates the previous issu
20:25 Gustavo6046 a running joke among programmers is that a lot of code is meant to be write-only.
20:25 RhineDevil perl docet
20:25 Gustavo6046 we shouldn't be laughing at that. we should be crying. we should be anguished and revolted against those before us who thought that was afine.
20:25 Gustavo6046 well, you don't have to write Perl in order to write write-only code :P
20:26 Gustavo6046 although yes, if you bash your head on the keyboard, the output has a surprisingly high chance of being valid Perl
20:26 RhineDevil if only I had a penny for every badly written perl program I've seen
20:26 RhineDevil Gustavo6046: I know
20:26 RhineDevil I programmed in perl myself
20:26 Gustavo6046 :P
20:26 RhineDevil but perl is quite lax in allowing bad syntax
20:26 Gustavo6046 yeah
20:26 RhineDevil and some people don't even bother in having at least coherent syntax
20:27 definitelya_ RhineDevil: That's a bit depressing, with not much to gain from it, seeing as there are as many different facets of being as there are people.
20:27 Megaf joined #minetest
20:27 Megaf test
20:27 RhineDevil definitelya_: reality is depressing
20:27 definitelya_ Only if u let it. ;)
20:28 RhineDevil definitelya_: the positive bias is talking through you
20:28 Megaf !up minetest.megaf.info 30003
20:28 MinetestBot minetest.megaf.info:30003 is up (9ms) (IPv4)
20:28 Megaf Anyone in the mood of joining a new server and starting all over again?
20:29 RhineDevil Megaf: nah I'm in the mood for burning software and writing it a new
20:29 RhineDevil *anew
20:29 definitelya_ RhineDevil: IMO, reality is irrational anyway, so there's no reason for it to depress me I guess.
20:29 dzho Megaf: should I drop in then?
20:30 RhineDevil definitelya_: for someone to not see reality as depressing, he must either be positivist/panglossian or devoid of emotions
20:31 Megaf My new server, Megaf Server v6, it's the sixth itineration of Megaf Server, as its predecessors, it's focused around mesecons and pipeworks, with homedecor for decoration. It's a survival server for creative people.
20:31 RhineDevil and I'm not
20:31 RhineDevil I only know I have to fight to at least make reality a bit less unconfortable
20:31 definitelya_ hm, I guess I'm just malfunctioning, as usual.
20:31 definitelya_ xD
20:32 RhineDevil definitelya_: truth is everyone is malfunctioning
20:32 definitelya_ deep
20:32 RhineDevil when we evolved and started to question ourselves, we realized we're going to die
20:32 RhineDevil for rejecting this truth, our brain evolved the positive bias
20:33 RhineDevil we never think about how close the death is, otherwise we'd be vegetals in a constant state of depression
20:34 RhineDevil so, we always think someday, in some way, things we'll be better
20:34 sparky4 joined #minetest
20:34 definitelya_ LALALA! Can't hear you over this cool positive bias. B)
20:34 RhineDevil tl;dr this malfunction is in order to keep us functioning
20:34 riff-IRC joined #minetest
20:35 definitelya_ RhineDevil: Exactly
20:37 Sokomine joined #minetest
20:38 RhineDevil btw about what I said earlier, Gustavo6046 if only you knew how much bad stuff is in "reputable" code managing debian repos
20:38 RhineDevil I've seen horrors in bash and perl you humans can't even imagine
20:38 Gustavo6046 yeah
20:40 RhineDevil I stared too deeply in the abyss and the abyss said "#!/bin/sh perl -c 'code'"
20:40 erlehmann https://flak.tedunangst.com/post/accidentally-nonblocking
20:40 Gustavo6046 ouch
20:40 Gustavo6046 mean abyss
20:40 erlehmann > Mistakes are made, and recv is called on a blocking socket. The program stalls and users complain. However, instead of a proper fix, the developer changes the socket to nonblocking. Now recv will return a nice error code which we can ignore. But this does not fix the underlying cause, that the program’s internal state machine has become unsynced with reality.
20:41 MTDiscord <Warr1024> Rhine, I can't get past the nagging thought: "shouldn't that be -e?"
20:41 RhineDevil MTDiscord: yeah sorry it was a year ago or something, pardon me
20:42 Fulgen erlehmann: I guess the developer left the proper fix to the next person that would touch the code
20:42 MTDiscord <Warr1024> I guess maybe I do more abyss-staring than I think :-)
20:42 MTDiscord <Warr1024> er, I guess it's #!/bin/sh -c "perl -e 'code'"
20:43 RhineDevil '#!/bin/sh -c "perl -e 'code'"? you sure?
20:43 RhineDevil the hashbang means it's a script
20:44 RhineDevil Btw I'm not really fond of the idea of linking IRC and discord. Discord is spyware
20:46 MTDiscord <Warr1024> ...says the person on the platform that actually has public logs 🙄
20:47 MTDiscord <Jonathon> https://tenor.com/view/oh-no-oh-no-anyway-gif-18887547
20:48 definitelya_ Discord exists.
20:49 definitelya_ You can't argue with me there.
20:49 Megaf By the way, I'm giving 10 blocks of diamond for the first 5 people who join my server in the first 24 hours since it became public. 3 people already got their prize, two more to go.
20:49 RhineDevil MTDiscord: that's the difference, IRC is open by design, Discord datamines on your back
20:49 RhineDevil *Warr1024
20:49 wsor RhineDevil https://tenor.com/view/yes-very-sad-anyway-loki-sad-loki-gif-22079369
20:50 RhineDevil no sorry I dont watch cinecomics
20:53 ROllerozxa IRC be kinda cozy tho... -w-
20:54 RhineDevil cat -W-
20:54 Gustavo6046 erlehmann, wait, but then what is the proper fix, hmm?
20:54 Gustavo6046 A socket will stall the thread it's executing on if it's blocking.
20:54 Gustavo6046 Setting it to nonblocking and checking its return code every so often is important.
20:54 Gustavo6046 Unless you use some sort of event loop.
20:56 Gustavo6046 RhineDevil, I'm not really a big fan of Discord either, but I'm also not too bothered to tell companies to stop profiting off of my data without splitting the profits with me, sooo *shrug*
20:57 Gustavo6046 I reckon this also happens to be the mentality of the majority; people want to use things for free, and are willing to pay for it with their own data.
20:57 Gustavo6046 I know it sets a worrying precedent, but I honestly, seriously, non-sarcastically don't know what kind of dystopian future would come from this.
20:57 erlehmann Gustavo6046 read the article
20:57 Gustavo6046 If there is a dystopia, we're already heading for it because of capitalism.
20:58 erlehmann > IRC is open by design, Discord datamines on your back
20:58 Gustavo6046 And we should work to get rid of that. Trust me, without capitalism as we know it, so many things will be better, as the entire structure of incentives will change. People will be less selfish, companies will be nicer.
20:58 Gustavo6046 erlehmann, I know, I know!
20:58 erlehmann and discord lags my computer to death without doing anything
20:58 Gustavo6046 Yeah Discord has a memory leak here
20:59 erlehmann matrix is similarly worse. chat clients! using more RAM than minetest!
20:59 erlehmann chat program that wants more RAM than minetest should be fined. with the fines increasing until performance improves!
21:00 definitelya_ Discord & others aren't the problem anyway. It's the Far West state the internet put us in that is surreal and damaging for all.
21:00 definitelya_ Especially for making them respect the law.
21:01 erlehmann THE LAW has entered the game
21:01 erlehmann [[VGHS intensifies]]
21:02 definitelya_ videogame highschool?
21:03 definitelya_ Sorry that's the first thing that popped up oof
21:12 Megaf dzho, Thanks for joining. And monsters is now active :)
21:18 erlehmann definitelya_ yes, a character there is called the law
21:18 erlehmann lawrence something
21:18 erlehmann he is played very well
21:20 definitelya_ oh
21:21 erlehmann ha, i found something funny. i wonder if my change will increase performance.
21:21 erlehmann i mean it will. but i wonder if it is noticeable.
21:21 erlehmann (compiling)
21:25 Gustavo6046 definitelya_, the Internet has upsides and downsides, most of them come from how humans interact with it though.
21:25 Gustavo6046 I'd say, it is actually pretty great for a lot of things, and with its free exchange of information, may as well catalyse a very necessary revolution in global society.
21:26 definitelya_ Of course it's great; it's just a very powerful tool.
21:26 Gustavo6046 It's not just a tool. It's a massive social and informational phenomenon.
21:26 Gustavo6046 People will organize and revolute. With revolution will come the refreshing of every corner of legislation, as well as the already cliché'd substitution of the foundations of the socioeconomical system and the underlying structures of incentive.
21:27 proller joined #minetest
21:28 Gustavo6046 With a flatter social pyramid, and more businesses drawing closer to the worker's cooperative model, as well as a general diffusion of Marx-esque critical ideas, there will be no point in infringing people's privacy in the first place. Regulation online will be revamped, but in a way that respects both the individual and the collective, and it won't be centralized by governments or companies alike.
21:28 kabou joined #minetest
21:31 erlehmann right, i learned in school how the workers united after the russian revolution and then started respecting everyone's privacy!
21:32 erlehmann so by 1924, online advertising was practically nonexistent
21:33 definitelya_ Gustavo6046: > a flatter social pyramid
21:33 TomTom joined #minetest
21:33 Gustavo6046 erlehmann, definitelya_, in what school did you learn about the Soviet Union, and which period of it?
21:33 definitelya_ Yes! The Galactic Emperor and then its subjects. >:)
21:33 Evil joined #minetest
21:34 Gustavo6046 There definitely was a grace time once the turbulence of the revolution finished, and before it started puckering up again.
21:34 Gustavo6046 and getting shitty again
21:34 Gustavo6046 but at least this time it was way more industrialized and modernized than in the era of the Tsars
21:34 definitelya_ s/its/their
21:34 Gustavo6046 definitelya_, well, that's not really a pyramid now is it, that's a needle stuck into a wide, wide floor!
21:35 Gustavo6046 yup I just called ya a needle head
21:35 definitelya_ Gustavo6046: bee you
21:35 erlehmann Gustavo6046 i learned all the history of the soviet union from this song https://www.youtube.com/watch?v=hWTFG3J1CP8
21:35 definitelya_ HAH
21:35 Gustavo6046 me? a bee? pff
21:38 MTDiscord <luatic> The topic move requests in https://forum.minetest.net/viewtopic.php?p=407075 need to be handled. Appoint additional helpers if need be. It seems that's what was done with Mooncarguy, who after a short period of activity became inactive.
21:43 riff-IRC joined #minetest
21:45 riff-IRC joined #minetest
22:13 Taoki joined #minetest
22:17 specing joined #minetest
22:18 Markow joined #minetest
22:21 MinetestBot [git] sfan5 -> minetest/minetest: Clean up ClientReady packet handling c31b301 https://github.com/minetest/minetest/commit/c31b3017222edd6e93bdeb02f05a3df7b6b23a1a (2022-02-17T22:20:33Z)
22:26 riff-IRC joined #minetest
22:32 troller joined #minetest
22:35 v-rob joined #minetest
22:49 troller joined #minetest
23:03 v-rob joined #minetest
23:31 erlehmann sfan5, why does this change  u16 formspec_version = 0; ?
23:33 erlehmann is it just a control flow issue?
23:33 erlehmann (i see that it is set to 1 at another point)

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