Minetest logo

IRC log for #minetest, 2019-04-05

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

All times shown according to UTC.

Time Nick Message
00:19 TheRealNate Hey @VanessaE
00:41 JDCodeIt VanessaE: Any issues to update plantlife_modpak from a fairly ancient one (2013-2014ish)?
00:42 kurtzmusch joined #minetest
01:00 kawaiipunk joined #minetest
01:04 kurtzmusch joined #minetest
01:23 ANAND joined #minetest
01:32 VanessaE JDCodeIt: should be fine, but note it's on gitlab now.
01:32 VanessaE hi TheRealNate
02:06 p_gimeno woot, I've got advtrains to face the slopes correctly
02:07 VanessaE I had poor luck with that mod..
02:20 Miner_48er joined #minetest
02:32 kurtzmusch_ joined #minetest
04:14 kaeza joined #minetest
04:20 AceNovo joined #minetest
04:55 milkt joined #minetest
05:01 ssieb joined #minetest
05:12 Helwyr joined #minetest
05:13 oil_boi_minetest joined #minetest
05:29 Darcidride joined #minetest
05:31 aheinecke joined #minetest
05:47 sofar joined #minetest
05:55 amenji joined #minetest
06:41 Milan[m] joined #minetest
07:05 arsdragonfly[m] joined #minetest
07:05 Quiark joined #minetest
07:05 Pseudonosaur[m] joined #minetest
07:05 kollaps[m] joined #minetest
07:05 MayeulC joined #minetest
07:05 raymoo[m] joined #minetest
07:05 JBB[m] joined #minetest
07:05 opal[m] joined #minetest
07:05 Swedneck joined #minetest
07:06 Wysteriary[m] joined #minetest
07:06 rendeko[m] joined #minetest
07:06 kasbah[m] joined #minetest
07:06 tacotexmex joined #minetest
07:06 Kevz[m] joined #minetest
07:10 Darcidride joined #minetest
07:18 oil_boi_minetest joined #minetest
07:36 calcul0n_ joined #minetest
07:53 gorilla_ joined #minetest
07:54 jluc joined #minetest
08:01 YuGiOhJCJ joined #minetest
08:05 amenji joined #minetest
08:10 err404 joined #minetest
08:12 Beton joined #minetest
08:16 Zeth_ joined #minetest
08:58 karamel joined #minetest
09:15 AceNovo joined #minetest
09:34 indiana joined #minetest
09:35 proller joined #minetest
09:55 Fixer joined #minetest
10:02 Milan[m] joined #minetest
10:24 arsdragonfly[m] joined #minetest
10:24 Pseudonosaur[m] joined #minetest
10:24 opal[m] joined #minetest
10:24 JBB[m] joined #minetest
10:24 MayeulC joined #minetest
10:24 Wysteriary[m] joined #minetest
10:24 Quiark joined #minetest
10:24 kollaps[m] joined #minetest
10:24 Swedneck joined #minetest
10:24 rendeko[m] joined #minetest
10:24 kasbah[m] joined #minetest
10:24 Kevz[m] joined #minetest
10:24 raymoo[m] joined #minetest
10:24 tacotexmex joined #minetest
10:26 amenji joined #minetest
10:32 amenji joined #minetest
10:39 err404 joined #minetest
10:55 proller joined #minetest
11:17 riff-IRC joined #minetest
12:20 Fuchs joined #minetest
13:09 calcul0n_ joined #minetest
13:13 Nezrok joined #minetest
14:11 Tux[Qyou] joined #minetest
14:34 nri joined #minetest
14:56 kurtzmusch joined #minetest
15:16 kaeza joined #minetest
15:20 DI3HARD139 joined #minetest
15:22 kaeza joined #minetest
15:49 erstazi joined #minetest
16:21 puzzlecube joined #minetest
16:21 benrob0329 joined #minetest
16:28 ensonic joined #minetest
17:22 est31 joined #minetest
17:23 est31 joined #minetest
17:41 AceNovo joined #minetest
17:47 MistahDarcy joined #minetest
17:59 err404 joined #minetest
18:01 proller joined #minetest
18:27 JDCodeIt In lua, would it be surprising that table element access is much slower than variable access time?
18:30 FreeFull joined #minetest
18:35 p_gimeno "much" slower, yes it would be surprising. Just slower is expected.
18:37 p_gimeno That's true for LuaJIT. I don't know about plain Lua, I don't use it.
18:37 p_gimeno It should also be slower, but since it's overall much slower, it may not be noticieable.
18:43 JDCodeIt I was looking at ways to restructure the on_generated in caverealms because it is incredibly slow - there must be some other major factor there.
18:44 JDCodeIt Lots of calls to area:index() and math.random - is the index function inefficient?
18:47 JDCodeIt After moving all the function calls for get_content_id to a single file-global table, then lookup in the table - gen time doubled!
18:48 sfan5 there's a topic on the forums about optimization
18:48 sfan5 calling :index() a lot is another thing you're not supposed to do
18:49 JDCodeIt Just looking at the structure that would be the most non-sensible part - too many calls to that in the inner loops
18:50 ensonic joined #minetest
19:13 err404 joined #minetest
19:31 JDCodeIt So, did some profiling and index() is not really the culprit. 200 ms to do this one step: minetest.get_perlin_map(np_cave, chulens):get3dMap_flat(minposxyz)
19:33 JDCodeIt And another 100ms to do this: minetest.get_perlin_map(np_wave, chulens):get3dMap_flat(minposxyz)
19:45 sfan5 well you should only get the perlin map once
19:47 JDCodeIt So the time is really in generating the perlin maps (370 ms), setting the data back to the vm (90ms), and setting and calculating lighting (170ms). The actual traversing and setting data for the chuck takes 50 ms.
19:47 JDCodeIt That's a good idea - cache and use...
19:49 p_gimeno making use of 'buffer' would probably help
19:50 p_gimeno as in, avoid constant reallocation
19:51 p_gimeno have nvals_cave, nvals_wave, nvals_biome out of the function, and pass them to get3dMap_flat (which BTW should be renamed)
19:52 JDCodeIt this could be done really efficiently if we know the calls to on_generated are for the same chunk size - is that true?
19:52 ssieb joined #minetest
19:53 p_gimeno doesn't matter, instead of one reallocation per call you still have reduced the number of reallocations substantially
19:54 p_gimeno then there's #6863 which didn't go anywhere sadly
19:54 ShadowBot https://github.com/minetest/minetest/issues/6863 -- Add LuaJIT FFI-friendly memory-intensive functions
19:55 JDCodeIt How does it not matter if the volume of the chunk being generated changes? - this is a param passed to get_perlin_map.
19:55 nowhereman joined #minetest
19:56 JDCodeIt I could see checking if the sizes changed versus what is already calculated, then calc again if needed.
19:57 p_gimeno hm, we are not in the same page it seems...
19:57 p_gimeno get3dMap_flat accepts a buffer as the second parameter
19:57 p_gimeno that way of calling it is designed so the buffer can be reused
19:58 JDCodeIt Aha, I missed that point, yes
19:59 p_gimeno most reallocations will happen on the first call, and maybe a few more if the size grows
19:59 JDCodeIt But to the question of the perlin result - could that also not be brought outside the function and only calculated on the first call?
20:00 JDCodeIt But the next call has to check if the size if minp to maxp has changed, so the perlin calc is invalid
20:00 p_gimeno probably, IDK how much of a factor that is, I expected get3dMap_flat to be the expensive one
20:00 JDCodeIt Ok, I'll try it
20:03 JDCodeIt Hmmm couldn't find documentation on this second parameter - buffer. lua_api.txt or dev wiki
20:03 p_gimeno it's right there in get_3d_map_flat
20:04 p_gimeno https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L5444
20:06 JDCodeIt got it - dev wiki is out of date, though - put that on the TODO page
20:07 p_gimeno thanks for your work on the wiki :)
20:09 JDCodeIt duh - I see what you mean about the naming - it's get_3d_map_flat not get3dMap_flat, which is why I didn't find in the first place
20:09 p_gimeno yeah it got renamed, and get3dMap_flat obsoleted
20:10 JDCodeIt https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L3118 has a ref to the old name
20:11 Xanthin joined #minetest
20:11 p_gimeno yeah, and the description refers to get2dMap_flat instead of the new name
20:13 p_gimeno to be clear, this is what I meant: https://notabug.org/pgimeno/Gists/commit/f190a612135a0e939a4eaa35550222dc78d17b4a
20:17 p_gimeno didn't the profiler say something about the get_perlin_map call, by the way?
20:17 p_gimeno I mean, as opposed to the get3dMap_flat call
20:26 Xanthin joined #minetest
20:28 JDCodeIt Guessing this is not thread-safe - the third thread to access the buffer went out of bounds
20:29 JDCodeIt I can try with emerge threads = 1
20:29 proller joined #minetest
20:31 p_gimeno emerge_threads > 1 is very broken, there's no locking at all
20:31 p_gimeno at least of the noise objects and some other objects
20:32 JDCodeIt nope not thread-related - third call to the function fails when accessing part of nval_biome
20:33 p_gimeno did you misspell that here or in the file? it's nvals_biome
20:33 JDCodeIt typo nvals_biome
20:35 kaeza joined #minetest
20:36 p_gimeno scratching head... there's just one user of nvals_biome and it's straightforward
20:36 makayabou joined #minetest
20:40 p_gimeno can't reproduce
20:44 JDCodeIt my thought was to only call get_perlin_map once and only again if the inputs there changed - I think you need to call get_3d_map_flat anew every time for each chunk, but I was going to use the cached perlin object.
20:54 cddepppp256 joined #minetest
21:06 makayabou VanessaE: nice "Las Vegas Parano" effect with homedecors and shaders !! https://pictshare.net/vip53a.gif
21:08 JDCodeIt p_gimeno: simple copy/paste error. Unfortunately, even after caching the perlin object - no significant performance improvement
21:11 p_gimeno even with the buffer version?
21:12 JDCodeIt Yes, got that running, along with caching the perlin object - no significant change - that function is expensive
21:13 p_gimeno k, then there's little else that can be done, sorry
21:21 JDCodeIt in the engine it's a bunch of lua_pushnumber and lua_rawseti - these are not particularly slow, are they?
21:23 p_gimeno they aren't too slow, but for the amount of data here, they become significant. That's where #6863 was an improvement.
21:23 ShadowBot https://github.com/minetest/minetest/issues/6863 -- Add LuaJIT FFI-friendly memory-intensive functions
21:23 p_gimeno Also, lua_rawseti is where reallocation may happen.
21:25 Cornelia joined #minetest
21:31 VanessaE makayabou: weird :P
21:40 JDCodeIt It is a lot of elements - 80^3 - is there a better way to visit the vm and set the data?
21:41 paramat joined #minetest
21:42 JDCodeIt maybe paramat has an idea?
21:43 JDCodeIt paramat: I was trying to improve caverealms on_generate performance.
21:43 paramat i was about to write about caverealms, reading channel logs
21:44 paramat i suspect it's slow due to far too many light sources being placed. 'caverealms lite' is much more tastefull
21:44 paramat *tasteful
21:44 JDCodeIt My profiling also found getting the 3d map was expensive
21:45 paramat yes 3D noise is intensive
21:45 VanessaE makayabou: just so you know, none of homedecor's stuff is meant to wave like that, and has no flags for the purpose. :P
21:45 JDCodeIt But is the approach bad in general? Get 512000 elements, traverse them, then write it back?
21:47 VanessaE JDCodeIt: fair warning, paramat seems to be intent on making sure MT can still run on an IBM 5160 ;)
21:47 FreeFull joined #minetest
21:47 JDCodeIt What! The Z80 is no longer supported?
21:47 VanessaE lol
21:48 cheapie So I can't run it on an 8008 and now it won't run on a Z80 either?
21:48 cheapie What's next, it'll require a screen too?
21:48 makayabou VanessaE: I'm using minetest 5.0.0 and homedecor commit ad75dba87b
21:49 kurtzmus1h joined #minetest
21:49 VanessaE makayabou: maybe upgrade to 5.0.1..  if those items are waving, it ain't anything in my code :P
21:49 paramat a 3D perlinmap has to be calculated for every mapchunk, i'll look at the code of the original mod. however, 0.5s per chunk gen time is fairly normal for a lua mapgen
21:49 makayabou ok no prob
21:50 VanessaE makayabou: if it still does it, file an issue against https://github.com/minetest/minetest/
21:51 paramat ah, waving nodeboxes
21:51 VanessaE yup
21:51 paramat not intentional?
21:51 VanessaE nope.
21:51 makayabou yes sure, I just wanted to show you the gif, I didn't try to reproduce in a clean env
21:51 VanessaE paramat: none of my nodes have that feature enabled, afaik.
21:51 paramat makayabou did you add 'waving = 3' to those nodeboxes?
21:52 VanessaE makayabou: still, it would be worth reporting if you can reproduce in a clean env
21:52 makayabou no i didn't. neither to other nodes
21:52 makayabou VanessaE: yes, was going to
21:52 * cheapie eats part of a nodedef and goes all wavy
21:52 paramat ugh a bug
21:53 riff-IRC joined #minetest
21:53 paramat someone else reported this on april 1st and then thought it was a core dev april fool's joke
21:53 paramat weird
21:54 p_gimeno makayabou: are you sure it's 5.0.0?
21:54 VanessaE fwiw, only one item in all of the homedecor modpack has "waving" (=1), fake fire.
21:54 paramat are all the waving nodes meshes?
21:54 makayabou yes sure
21:55 paramat because MTG nodeboxes aren't affected by unintentional waving
21:55 paramat probably a bug in my recent commit
21:55 makayabou sorry i don't understand "are all the waving nodes meshes?"
21:56 nri_ joined #minetest
21:56 paramat VanessaE ^ see the gif
21:56 SmugLeaf joined #minetest
21:56 paramat only meshes affected?
21:56 scr267a joined #minetest
21:57 paramat see http://irc.minetest.net/minetest/2019-04-01#i_5522533 heh
21:57 kurtzmus1h left #minetest
21:58 xerox123_3 joined #minetest
21:58 sodastabbed joined #minetest
21:58 makayabou yes only meshes
21:59 paramat ok
21:59 BillyS_ joined #minetest
21:59 paramat commit https://github.com/minetest/minetest/commit/42e1a127140965cac1be6e51e48192e341c2a29e
22:00 andyo_ joined #minetest
22:00 p_gimeno paramat: that's post-5.0.0 isn't it?
22:00 qzo_ joined #minetest
22:00 TC01_ joined #minetest
22:01 paramat yes 5.1.0-dev
22:01 tuedel joined #minetest
22:01 zarcade_droid joined #minetest
22:01 paramat makayabou are you using latest MT code? it's actually called 5.1.0-dev not 5.0.0-dev
22:01 FreeFull joined #minetest
22:02 Cornelia joined #minetest
22:02 VanessaE joined #minetest
22:02 Emerald2 joined #minetest
22:02 Emerald2 joined #minetest
22:02 Vadtec joined #minetest
22:02 p_gimeno makayabou insists it's happening on 5.0.0
22:02 scr267b joined #minetest
22:02 puzzlecube1 joined #minetest
22:03 p_gimeno joined #minetest
22:03 VanessaE what'd I miss?
22:03 paramat well, some people think 5.1.0-dev is 5.0.0-dev
22:05 paramat hmm i can't see any obvious bug in code
22:05 VanessaE no one caught the texture rotation bug until after 5.0.0 either :P
22:05 paramat some people call 5.1.0-dev 5.0.0
22:06 p_gimeno I can't reproduce on 5.0.0
22:06 cheapie I gave up on following the versions a while back and just call it "latest dev"
22:06 cheapie (or "some random old dev version" as needed)
22:07 VanessaE inb4 downloaded it from someplace other than MT official sites
22:08 makayabou i reproduced in the same flathub for debian build 5.0.0 and the same versions of mods without other mods than those from minetest-game activated
22:08 VanessaE flathub?
22:09 paramat gitpack?
22:09 p_gimeno makayabou: what waving options do you have active exactly? water only? leaves too? plants too?
22:09 makayabou *flatpak
22:10 p_gimeno wait, leaves and plants don't wave up and down
22:10 VanessaE yeah, that's the waving liquids shader moving stuff it shouldn't
22:11 makayabou flatpak install flathub net.minetest.Minetest
22:11 paramat JDCodeIt caverealms is partly redundant because most core mapgens now have the massive caverns. 'caverealms' lite just adds decorations to the core mapgen caverns
22:12 VanessaE paramat: define "massive"
22:12 paramat 100s high, up to 1000 long
22:12 makayabou p_gimeno: don't use any waving options
22:12 makayabou ah sorry. in settings.. wait
22:12 p_gimeno yes
22:13 makayabou the 3 (liquids, plants and leaves)
22:15 kurtzmusch a cople quesions: is it possible to use custom shaders with csmodding? is it possible to change cloud shape/color?
22:17 paramat kurtzmusch 1. no 2. there is a clouds API. cloud coverage, thickness and colour is adjustable
22:17 kurtzmusch what coverage means?
22:17 kurtzmusch like how much of the sky it covers?
22:18 paramat yes
22:18 kurtzmusch huum, ok thanks
22:18 paramat the XZ shape of the clouds is still determined by 2D noise
22:18 kurtzmusch would make a mesh entity ro replace clouds be 'sane'?
22:18 Startwotina joined #minetest
22:19 kurtzmusch to replace*
22:19 paramat entities disappear at 3 or so mapblocks away
22:20 kurtzmusch oh, thats too close for clouds =(
22:20 kurtzmusch thats 16*3 right?
22:20 paramat JDCodeIt i looked at caverealms code, it seems correct apart from missing memory use optimisations. it's slowness is expected from a lua mapgen
22:20 paramat mapblock = 16^3 nodes
22:22 JDCodeIt OK, I thought of some other performance tweaks - not calling index() unnecessarily, checkinf nothing changed in the chunk - don't bother writing it back
22:22 paramat sure
22:23 paramat there may be some further optimisations, but the general approach is correct
22:28 kurtzmusch thanks paramat
22:29 paramat i assume moreblocks slopes are meshes? they don't wave for me
22:29 VanessaE they are.
22:30 paramat thanks, hm
22:32 p_gimeno I've tried to find where to download the flatpak, to examine it, but I couldn't
22:32 p_gimeno (I don't want to install it, just take a look)
22:33 makayabou wait it was an error it was a build.. sorry. i'm trying with flatpak. where do i puts mods in a flatpak install?
22:35 p_gimeno makayabou: ok, that changes things but there still may be a bug worth being looked into
22:36 paramat !tell nepugia your waving solar panels were not an april fools joke, some people are experiencing a bug where meshnodes wave like water. please give us more details, what version of MT? what build?
22:36 MinetestBot paramat: I'll pass that on when nepugia is around
22:36 makayabou I know but sorry again I removed my build so I'm not sure I will be able to reproduce..
22:43 p_gimeno can't reproduce with current master, either with MTG master or 5.0.0
22:49 paramat good, thanks
22:49 makayabou if I use git clone minetest, to test with different commits I'll have to rebuild each time?
22:50 paramat recompile yes
22:50 Lone-Star yes
22:51 makayabou ok thanks
23:12 gorilla joined #minetest
23:17 paramat joined #minetest
23:28 GreenDimond joined #minetest
23:38 kurtzmusch joined #minetest
23:59 trom_ joined #minetest

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