Minetest logo

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

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

All times shown according to UTC.

Time Nick Message
00:27 Taoki hmmmm: I'm noticing with my Structures mod that minetes.place_schematic still has a surprising chance of failure. As in, the schematic only spawning partly and there being pieces which are missing.
00:27 Taoki I'm not complaining... just reporting to make sure it's known. Even if it being somewhat slow is understandable, I think it should never fail to properly spawn a schematic.
00:28 Taoki Of course, this does happen when a LOT of large schematics are being spawned (huge cities), even if I have a 0.25 second delat between structure spawns. Still, I wonder if that can eventually be fixed somehow
00:29 est31 qwerty keyboards are weird
00:29 est31 I use qwertz
00:48 Warr1024 I've never seen amqwertz keyboard; most of the ones I've used have been made of plastic.
00:48 Warr1024 except this stupid on-screen one with the too-smallmspacebar
00:52 est31 heh
01:32 CraigyDavi joined #minetest-dev
01:42 sloanchrome joined #minetest-dev
01:48 sloanchrome Hello
01:49 sloanchrome How can minetest be modified to make it easier to film videos of good quality?
01:50 sloanchrome Does the version number in the upper left corner get removed when you turn off the hud?
01:51 est31 sloanchrome, you have multiple buttons
01:52 sloanchrome What?
01:52 sloanchrome I'm not sure I understand
01:52 est31 press f8, thats cinematic mode
01:53 est31 perhaps before
01:57 sloanchrome f8 is cinematic mode?
01:57 sloanchrome ??
01:58 est31 yes, makes camera smoother
01:59 est31 all lets play videos I could find had the text
01:59 est31 so seems there is no way to hide the version
02:08 sloanchrome I dont see a cinematic mode enabled thing
02:09 sloanchrome Does this work in 0.4.12?
02:09 est31 no I think
02:09 sloanchrome do you want me to pm you est31?
02:09 sloanchrome Oh which version does it work on??
02:09 est31 no, but perhaps speak on #minetest
02:09 est31 I work on the latest git version
02:15 est31 5 mins till push https://github.com/est31/minetest/commit/d75009a75853bd188f132e93165622c5e1315f70
02:15 est31 perhaps I should update README.android too
02:17 est31 ah no
02:43 est31 nrzkt, still around?
02:44 VanessaE AAAAARRRRGGGGGGHHHHHHHH
02:44 * VanessaE screams
02:45 est31 how big is the lavagrief?
02:45 est31 or you scream bc sth else?
02:49 est31 wow
02:49 est31 there is a leak of 81 MiB in TextureSource::getTextureAverageColor
02:50 est31 used by minimap
02:50 est31 only by that
02:50 est31 and you can already get from the name, that the texture isnt needed
02:50 est31 so it should be all freed
02:50 est31 but instead it hangs around
02:50 est31 bad bad bad
02:50 est31 (81 MiB on dreambuilder conditions)
02:52 exio4 81mb on dreambuilder conditions sounds like 81kb under normal conditions :p
02:52 est31 heh
02:53 est31 when I disable mesh caching, dreambuilder takes 590 MiB
02:53 est31 so its quite alot
02:53 est31 > 10%
02:57 est31 but mesh cache
02:57 est31 it ** really ** takes .9 GiB
02:57 est31 thats 2/3 of RAM
02:57 est31 only because to turn it around
02:58 est31 ah
02:58 est31 its only a cached texture
02:58 est31 ok then its no leak
03:00 VanessaE est31: I scream my head off because of those G*d damned ghost entities and player-delete bugs
03:01 est31 useless or verbose?
03:01 VanessaE verbose.  WAY too verbose.  like gigabytes-worth-of-useless-actions verbose.
03:03 est31 yea I know
03:03 est31 hrmm you still have the information by the player placing the node, dont you
03:04 VanessaE you mean the griefer?
03:04 est31 yes a griefer can perhaps avoid being recorded by placing a deployer
03:05 est31 but they cant avoid the placing event
03:05 VanessaE yeah, his actions were also recorded in the debug.txt as usual.  I was able to search the logs, compare with where I saw the griefs, and xban him.
03:06 est31 but if you dont record machine stuff, your rollbacks arent super proper anymore
03:08 VanessaE I know
03:08 VanessaE and if I do, I end up with so much rollback data that /rollback_check becomes unable to cope
03:11 est31 so lets try that deleted player bug
03:11 est31 do you have a backtrace?
03:11 VanessaE there's nothing to backtrace.
03:12 VanessaE it doesn't crash anything
03:12 VanessaE it just causes the player reference to...disappear... forcing the player to re-login
03:12 VanessaE all I know is it happens when the engine goes to delete "suspicious numbers" of entities
03:13 VanessaE or of amounts greater than the configured per-block limit
03:31 hmmmmm joined #minetest-dev
03:53 est31 VanessaE, how does the ghost entity bug happen?
03:53 VanessaE est31: entities just multiply out of nowhere, without an obvious pattern, but when you go look at the mapblock that supposedly contains them, there's nothing but map there.
03:54 VanessaE the only reliable way I know to trigger the bug is to spawn a bunch of gravel or sand using worldedit, a large layer at least 2 meters thick, and make it fall.
03:54 VanessaE a large portion of the fallen nodes will become dropped entities buried inside the nodes that "landed".
03:54 Miner_48er joined #minetest-dev
03:55 VanessaE from there on, that block will have a large chance of going ghostly, even if you clean up the dropped entities.
03:55 VanessaE and /clearobjects does not remove the references.
03:56 prozacgod joined #minetest-dev
03:56 est31 restart?
03:56 VanessaE nope.
03:56 VanessaE no standard practice fixes the issue.
03:57 VanessaE one person claimed that migrating the map to a different database backend and back is helpful
03:57 VanessaE but I consider that a rather extreme "fix", if it worked at all.
03:57 ofelt joined #minetest-dev
04:02 est31 ok I see no speedup in mesh updates at all when changing enable_mesh_cache
04:03 est31 always ~1 ms per mesh
04:04 est31 ~1.6 ms
04:07 VanessaE yeah, I have that disabled here
04:07 VanessaE all it does is cost me memory
04:09 est31 https://github.com/minetest/minetest/pull/2597#issuecomment-117429020
04:09 VanessaE make sure those tests are done with HDX512 + dreambuilder of course
04:10 est31 HDX512...
04:10 VanessaE mmhmm
04:10 VanessaE bigger textures to slow the mesh gen down as much as possible ;)
04:12 Player_2 joined #minetest-dev
04:12 diemartin joined #minetest-dev
04:13 VanessaE kaeza!
04:23 est31 so can you share a benchmark VanessaE?
04:23 VanessaE sure if you like
04:24 VanessaE using this?  https://github.com/est31/minetest/tree/meshbenchmark
04:24 est31 yes
04:24 VanessaE stand by
04:24 est31 just copy the last value from stdout
04:25 VanessaE https://xkcd.com/303/
04:29 RealBadAngel joined #minetest-dev
04:33 kaeza joined #minetest-dev
04:34 VanessaE est31:  http://pastebin.com/q4AyHBZG
04:35 VanessaE (in all cases, the "max" values were at the beginning of the test run)
04:35 paramat joined #minetest-dev
04:35 VanessaE same map, deleted it between tests.  all "settings" menu items left at their defaults.  Just stood in the same place and panned around until everything to a reasonable distance was loaded all around me.
04:36 VanessaE using minimal, seed = 3518901531585311615
04:38 paramat will push #2859 once rebased
04:38 ShadowBot https://github.com/minetest/minetest/issues/2859 -- Cavegen: Cleanup code. Define constant for MGV7_LAVA_DEPTH by paramat
04:45 est31 VanessaE, can you share those on the github thread?
04:45 VanessaE sure.
04:47 VanessaE done.
05:19 paramat now pushing 2859
05:23 paramat complete
05:24 est31 VanessaE, what exactly happens when a block is "ghostey"?
05:25 VanessaE nothing visible, you just get tons of messages like this:
05:25 VanessaE 2015-07-01 07:24:55: ERROR[ServerThread]: ServerEnv: Trying to store id=28418 statically but block (-43,1,-28) already contains 1840 objects. Forcing delete.
05:25 VanessaE 2015-07-01 07:24:57: ERROR[ServerThread]: ServerEnv: Trying to store id=28419 statically but block (-43,1,-28) already contains 1840 objects. Forcing delete.
05:25 est31 so that alone doesnt delete players does it?
05:25 VanessaE after several such messages, eventually you'll see :
05:25 VanessaE 2015-07-01 07:24:27: ERROR[ServerThread]: ServerEnvironment::deactivateFarObject
05:25 VanessaE s(): id=28392 m_static_exists=true but static data doesn't actually exist in (-4
05:25 VanessaE 3,1,-28)
05:25 VanessaE WARNING: StaticObjectList::remove(): id=28392 not found
05:25 VanessaE oops, sorry for the extra newlines.
05:26 VanessaE each time that latter error + warning happens, the "already contains xxxxx objects" count increases.
05:26 VanessaE but the forcing-delete message I'm pretty sure is when the player handle disappears too
05:27 VanessaE ShadowNinja did some SAO rework a while back, which may be what caused this
05:27 est31 ok I have written some code which makes tons of entities
05:27 VanessaE at least, it wasn't a problem before that commit
05:28 VanessaE well, worldedit is sufficient to cause it too
05:28 VanessaE plus it causes a lag spike, which may be important (I am not sure)
05:28 est31 https://gist.github.com/anonymous/c496631346b028d0852f
05:28 est31 and remove item merging
05:28 est31 e.g. with
05:28 est31 try_merge_with = function()
05:28 est31 return false
05:28 est31 end,
05:29 est31 and remove the old try_merge_with or name it differently
05:29 VanessaE wait
05:29 VanessaE kahrl: didn't you already create a command for this?  dummyball or something?
05:40 paramat one for mtgame team game#549 helps with world base problems
05:40 ShadowBot https://github.com/minetest/minetest_game/issues/549 -- Default/mapgen: Raise lower limit of gravel blobs. Cleanup code by paramat
05:40 VanessaE ah I was right
05:40 VanessaE https://github.com/minetest/minetest/blob/990a96578f20244626b6b9f67f8e79a7e2e614ea/games/minimal/mods/experimental/init.lua#L210
05:40 VanessaE est31: ^^^
05:42 Megaf joined #minetest-dev
05:42 est31 well, I cant reproduce with that
05:43 VanessaE neither did he :)
05:43 VanessaE try my method
05:43 VanessaE worldedit in a bunch of gravel, say 50 x 2 x 50
05:43 VanessaE dig one corner so that it all falls
05:45 est31 argh
05:46 est31 how can I manually select a worldeit area
05:46 est31 just without flying
05:46 est31 like coord a coord b
05:48 VanessaE //pos1
05:48 VanessaE //pos2
05:48 VanessaE at opposite corners
05:48 VanessaE OH
05:48 VanessaE I think you can  //pos1 <coords>  also
05:49 VanessaE hm no
05:50 VanessaE it's  //fixedpos set1 x y z
05:50 VanessaE (with spaces between the axes)
05:51 est31 didnt work
05:51 Hunterz joined #minetest-dev
05:51 est31 I get tons of Trying to store id=
05:51 VanessaE https://github.com/Uberi/Minetest-WorldEdit/blob/master/ChatCommands.md#fixedpos-set1-x-y-z
05:51 est31 but no remove
05:51 VanessaE you probably need to turn the limit up higher
05:51 VanessaE mine is set to 500
05:51 est31 its bad if I cant reproduce
05:51 VanessaE (because pipeworks and signs_lib)
05:52 VanessaE it may not happen immediately though
05:52 est31 ok where to set?
05:52 VanessaE minetest.conf, max_objects_per_block = <foo>
05:54 est31 wow I got a SerializationError in processMessage(), message="\u0000\u0000\u0001\u0000\u0000\u0000\u0000d\r\u00b0\u0000\/\u0001\u0000\t\u009c\u00f0\u0000\b\u00ddb\u00ff\u00fbl \u0000\u0000\u0000\u0000\u00ff\u00ffl\u00bd\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00ff\u00fey`\u0000\u0000"
05:55 VanessaE bingo
05:55 VanessaE well no,
05:55 VanessaE that's a different error :)
05:55 est31 yea
05:56 est31 but good to know its no network problem
05:56 est31 because you know singlepleyer
05:56 VanessaE yep
06:01 est31 can you reproduce VanessaE?
06:01 VanessaE moment
06:01 VanessaE bare minetest_game is sufficient?
06:02 VanessaE (well + worldedit)
06:03 est31 yea
06:03 est31 doing minimal
06:04 VanessaE ok, what set of commands did you use to trigger it?
06:05 est31 I cant reproduce as I said
06:05 VanessaE I mean the Serialization error
06:05 est31 nothing fancy
06:05 est31 just //pos1, //pos2
06:05 VanessaE oh ok
06:05 est31 //set default:sand
06:05 est31 then mine one
06:05 est31 then wait
06:06 VanessaE yeop
06:06 VanessaE I can reproduce
06:07 VanessaE it threw a ton of the errors I mentioned, and it throw your serialization error.
06:07 VanessaE this is minimal
06:07 VanessaE oh wait, those are "more than 49 objects" errors.
06:07 VanessaE but the serialization error happened.
06:08 VanessaE criminy I can't type tonight.
06:09 VanessaE ah HAH
06:09 VanessaE it DID throw my errors also
06:10 VanessaE 2015-07-01 02:08:27: ERROR[ServerThread]: ServerEnv: Trying to store id=50565 statically but block (7,2,1) already contains 929 objects. Forcing delete.
06:10 VanessaE 2015-07-01 02:08:27: ERROR[ServerThread]: ServerEnvironment::deactivateFarObjects(): id=50566 m_static_exists=true but static data doesn't actually exist in (7,2,1)
06:10 VanessaE WARNING: StaticObjectList::remove(): id=50566 not found
06:10 VanessaE and it's creating dropped entities like I said earlier, as well
06:11 VanessaE I created a sand layer about 50 x 10 x 50 in size, wasn't paying too close attention to the thickness
06:15 VanessaE poor minetest, I gave it a heart attack :)
06:16 est31 bad to have stuff which is so unreliable to reproduce
06:16 VanessaE well like I said, I can reproduce all three problems with just this minimal world and a large enough chunk of falling sand.
06:18 est31 my usual way is to print log messages everywhere
06:18 est31 but here...
06:18 * VanessaE breathes a sign of relief that it isn't any of her mods that are the cause :)
06:19 VanessaE a sigh*
06:23 est31 also the ghost bug doesnt appear
06:24 VanessaE it did for me, but briefly
06:24 VanessaE it doesn't appear to be repeatedly re-creating them
06:25 VanessaE it probably needs some ongoing entity creation via pipeworks or similar.
06:36 jin_xi joined #minetest-dev
06:40 VanessaE the serialization error is easy enough to reproduce though.
06:40 VanessaE sometimes it's just an empty string though, rather than \u0000
06:43 VanessaE at the very least, the serialization and player-delete can be reproduced
06:46 VanessaE you may have to just download my Creative world and play around with it
06:47 est31 how large
06:47 VanessaE a few gigs
06:58 asl97 joined #minetest-dev
06:58 est31 link?
07:00 asl97 serialization error on singleplayer...  going to quote it in the issue report
07:00 VanessaE http://digitalaudioconcepts.com/vanessa/hobbies/minetest/worlds/Creative_World.tar.bz2
07:01 VanessaE 2015-07-01 03:00:31: ERROR[ServerThread]: ServerEnv: Trying to store id=7499 statically but block (1,-1933,-2) already contains 960 objects. Forcing delete.
07:01 est31 so whats the problem with the creative map?
07:02 jin_xi VanessaE: i saw this error thousands of times (deco making pyramids, its fun do dig the central bottom node if its over some void), and never seen it have any consequences
07:02 VanessaE created this error by making a large empty space down at -30912 and creating a ~30 x 2 x 30 sand slab within it, and making it fall down into the void
07:02 jin_xi this is without other mods, so there might be some interaction
07:02 VanessaE 2015-07-01 03:00:31: ERROR[ServerThread]: ServerEnv: Trying to store id=7498 statically but block (0,-1933,-2) already contains 392196 objects. Forcing delete.
07:02 VanessaE there's the message just prior to the other one.
07:03 Darcidride joined #minetest-dev
07:03 VanessaE I'd say that's a problem :)
07:03 VanessaE est31: my creative map suffers especially badly from the ghost entities issue and the player delete issue triggered by it
07:05 est31 the problem is that I have a map with so much things "going on"
07:05 VanessaE yeah
07:05 est31 its hard to filter out the one small thing that causes the bug from the noise
07:05 VanessaE but even near the spawn about all that's active is pipeworks sending tubed items around
07:09 VanessaE I think I've reproduced the ghost entities bug in this minimal world
07:09 VanessaE but for whatever reason, it's not causing my player to be deleted (maybe that's multiplayer-specific)
07:11 VanessaE yep, I've reproduced it
07:11 VanessaE it's just not as "active" as it is on creative because there are no machines here.
07:12 kilbith joined #minetest-dev
07:12 VanessaE teleport yourself down to 0,-30912,0.   Use worldedit to hollow out a large chunk at least say 50 x 20 x 50.  Use worldedit to add a 2-meter thick slab of sand, say 30 x 2 x 30 in size.  dig it.  let it all fall.  //set sand again, make it fall.  Do that three or four times, until the server starts throwing errors
07:13 VanessaE then start dropping items with shift-Q
07:13 VanessaE it'll keep saying it's deleting the entities, but it doesn't do so reliably and the count will keep going up.
07:14 VanessaE and the count will remain above the max-objects-per-block setting from that point on
07:14 VanessaE what doesn't get deleted will settle down at what looks like 1 mapblock below the bottom of the world (I guess that's new?).
07:14 VanessaE this is with a minimap map and no mods other than worldedit.
07:15 VanessaE so you don't really *have* to download the creative map unless you wanna see how that one behaves
07:15 jin_xi maybe mt does not handle some cases of entity deletion properly. like it does not for other stuff
07:15 VanessaE oh and btw: your fps will drop like a rock as you run through those steps
07:16 VanessaE it's like there's a ton of invisible entities being rendered by the client, killing fps
07:17 VanessaE as soon as you quit the game, it'll dump a TON more "trying to store...forcing delete" errors.
07:17 VanessaE HAH!
07:17 kilbith this is known
07:18 VanessaE restart the game: invalid block in database!
07:18 VanessaE kilbith: indeed, but I'm trying to find a pattern for reproducing the ghost-entities bug using the simplest possible configuration
07:19 kilbith dropping tons of gravel/sand somewhere
07:19 paramat sfan5, can i push game#549 ? trivial code cleanup
07:19 ShadowBot https://github.com/minetest/minetest_game/issues/549 -- Default/mapgen: Add missing spaces by paramat
07:20 * VanessaE sets "ignore load errors" to true and continues
07:20 sfan5 paramat: yes
07:21 paramat thanks
07:22 est31 also, whats the opinion of other core devs on #2597
07:22 ShadowBot https://github.com/minetest/minetest/issues/2597 -- Disable mesh cache by default by est31
07:23 est31 whats the spawn coords VanessaE
07:23 VanessaE -307,19,-426
07:24 VanessaE est31: do you want this now-broken minimal world as well?
07:25 nrzkt est31: sorry i was afk, i forget to kill hexchat on my work computer. What did you want ?
07:26 VanessaE est31: http://digitalaudioconcepts.com/vanessa/hobbies/minetest/minimal-broken.zip
07:26 VanessaE (~ 4.5 MB)
07:27 paramat now pushing to mtgame
07:32 blaise joined #minetest-dev
07:33 RealBadAngel joined #minetest-dev
07:34 crazyR_mobile joined #minetest-dev
07:36 paramat complete
07:37 paramat RealBadAngel i'd like to see a PR for your improved ice texture, much needed
07:41 nrzkt est31: i think a menu option to disable it is good.
07:41 hmmmmmm joined #minetest-dev
07:41 VanessaE disable by default, with a menu option.
07:42 est31 nrzkt, that thing is completely unneccessary
07:42 est31 I havent found any case where it speeds up anything
07:42 nrzkt est31: you call me yesterday, but i don't know why, do you remember ? :)
07:42 est31 neither me
07:42 est31 I dont think it was something important
07:42 est31 perhaps it was that issue
07:43 est31 Unless RealBadAngel can show a benchmark where the cache actually has a benefit, I vote for removing that thing
07:44 est31 it holds 2/3 of minetest's RAM
07:44 nrzkt why not :)
07:45 nrzkt maybe our implementation is not the good thing
07:45 est31 note that the "mesh cache" is nothing but copying the texture multiple times, and rotating it
07:45 est31 so that it doesnt have to be rotated afterwards
07:46 est31 when rendering
07:46 VanessaE I'd have thought rotating the texture would be as "simple" as rotating the vertexes or normals in the mesh
07:46 VanessaE (hence no need for a cache)
07:47 est31 thats what I think yes
07:49 nrzkt graphic engines doesn't need that cache if it's the role. Having the texture only 1 time in memory is sufficient. Rotation are simple operation for GPU
07:52 VanessaE that's what I'd have thought, nrzkt
07:52 VanessaE (but my mesh experience is limited to models, rather than whole mapblocks)
07:53 est31 this is the mesh caching commit https://github.com/minetest/minetest/commit/dd4c21c1808acedfbcf8402c09ce9129b6ac31c7
07:54 est31 updateTextures() is run when joining a server
07:54 est31 and mapblock_mesh_generate_special is run by the mesh gen thread
07:57 sloantothebone joined #minetest-dev
08:00 Yepoleb_ joined #minetest-dev
08:01 nrzkt est31: i send a little condition optimisation, else it seems good
08:01 est31 ?
08:06 nrzkt i comment the commit you mentionned
08:08 est31 ah
08:08 est31 yea thats small thing
08:10 kilbith est31, https://github.com/minetest/minetest/pull/2597#issuecomment-117522026
08:11 VanessaE est31: are those times in microseconds?
08:11 est31 yes
08:11 kilbith (minimal game)
08:12 est31 VanessaE, its the average, the number in () is the sample count
08:12 VanessaE looks like an average of ~1000 uS faster for kilbith with the cache enabled.
08:12 kilbith results seems random to me
08:13 kilbith with mesh cache, it's higher and then decreases
08:13 kilbith without cache, it's lower but then increases
08:15 * VanessaE pokes at RBA... he's gonna want to have some say in this :)
08:15 est31 RealBadAngel ^
08:15 VanessaE I was avoiding highlighting him .....
08:41 sloantothebone joined #minetest-dev
08:51 Calinou joined #minetest-dev
08:51 Puma_rc joined #minetest-dev
08:59 sloanchrome joined #minetest-dev
09:31 RealBadAngel joined #minetest-dev
09:33 RealBadAngel who the fuck told est31 hat mesh cache is copying textures???
09:34 kilbith *that
09:34 RealBadAngel he doesnt even know the difference bout point and vector, and now has brilliant idea to touch the cache
09:38 kahrl what *is* the difference between point and vector in 3d programming, practically speaking?
09:38 kahrl I know in differential geometry a "point" is an element of a manifold and a "vector" is an element of a tangent bundle, but we're not in differential geometry
09:41 RealBadAngel whatever ;)
09:42 RealBadAngel anyway, mesh cache caches meshnodes and mainly nodeboxes
09:42 RealBadAngel complicated nodeboxes were damn slow to genereate
09:42 kahrl didn't you change it so it generates the cached meshes on demand anyway?
09:43 RealBadAngel when cache enabled theyre converted and prerotated
09:43 RealBadAngel which made actually the fastest drawtype
09:43 RealBadAngel cache is controlled via setting
09:43 kahrl yeah but all of them, which uses a ton of memory
09:44 RealBadAngel ofc
09:44 kahrl most of them aren't used in a typical game session
09:44 RealBadAngel and you know why it is a ton?
09:44 RealBadAngel because hundreds or even thousand duplicated nodedefs
09:45 RealBadAngel thats is not cache fault
09:45 RealBadAngel if somebody doesnt like name of cache and that it eats ram, dont use it
09:49 RealBadAngel maybe it could be made so that only already used meshes could get into cache
09:49 RealBadAngel but that would slow down meshgeneration
09:50 RealBadAngel and here folks are way much more sensitive
09:51 RealBadAngel when minimap fetched colours on the fly dreambuilder caused 3-4s lags before map could be even displayed
09:52 RealBadAngel VE cried about it and wanted special gfx in map informing that "map is being loaded"
09:52 RealBadAngel another example is flipping creative pages and wait for item textures...
09:53 nrzkt est31: yeah small thing but can improve a little the algo performance :)
09:53 kahrl people found the delay in flipping creative pages preferable to waiting for all them generated before the game starts
09:53 kahrl which is which preload_item_visuals defaults to false now
09:53 kahrl which is why*
09:54 est31 joined #minetest-dev
09:57 est31 RealBadAngel, in linear algebra, point and vector describe the same thing
09:58 est31 but perhaps its different in gfx programming
10:00 kahrl if the concern is that players shouldn't be seeing an almost empty world after joining (due to no meshes generated yet)
10:00 kahrl then a solution could be to keep the loading screen visible until a certain number of meshes have been generated
10:00 TeTpaAka joined #minetest-dev
10:00 RealBadAngel vector is about TWO points
10:01 RealBadAngel who teached you algebra? :P
10:02 Calinou who taught you English? :P
10:02 RealBadAngel hehe
10:03 kahrl in linear algebra, a vector is an element of a vector space
10:03 kahrl R^n is a vector space
10:03 est31 and a vector space is especially a group with the addition
10:03 est31 especially meaning its closed under + and -
10:03 jin_xi go to #math
10:04 est31 so every difference between two vectors, and every sum of two vectors is again a vector
10:04 est31 also, every group has a neutral element
10:04 est31 in vector space notation its denoted as 0
10:05 est31 neutral element means 0 + g = g + 0 = g for all group elements
10:05 RealBadAngel The difference is precisely that between location and displacement.  Points are locations in space,   Vectors are displacements in space.
10:07 est31 RealBadAngel, so you say when I take a meshnode and screwdriver it, its slower without mesh cache?
10:07 RealBadAngel generating nodeboxes is damn slow
10:07 RealBadAngel and rotating them
10:08 est31 I want to benchmark it
10:08 RealBadAngel i did when i was coding that
10:08 RealBadAngel more complex nodebox the gain is better
10:08 est31 and I want to do it again. the cache is damn large
10:08 RealBadAngel ofc it is
10:09 RealBadAngel more bloated the game it will be bigger
10:09 RealBadAngel main cache killers are technic wires, mesecons and pipeworks
10:09 RealBadAngel propably those 3 mode are responsible for like 90% of the cache
10:09 est31 but its not needed for them, is it?
10:10 kilbith technic wire are 1.1K drawtypes you said ?
10:10 est31 because they never get rotated
10:10 est31 also they are not wallmounted
10:10 RealBadAngel theyre nodeboxes
10:11 RealBadAngel kilbith i was talking bout full6d mesecon wires
10:12 RealBadAngel because that 1k nodedefs we dont have them in mod
10:12 est31 can somebody suggest a nodebox with a very complicated mesh?
10:12 est31 perhaps in homedecor?
10:12 RealBadAngel and without proper drawtype or setmetanodedef we never will get real wires in minetest
10:12 est31 or some other mod
10:13 RealBadAngel take circular saw for example (if its still a nodebox)
10:13 kilbith circular saw is only 7 nodeboxes
10:14 RealBadAngel so not too much
10:14 est31 yes yes yes I even saw it being rotated the earlier day
10:14 est31 in a house in VE's creative server
10:14 est31 really impressive house
10:14 kilbith est31, you have a barrel with tons of nodeboxes here : https://github.com/Sokomine/random_buildings/blob/d00fbd1eca148089351818161227953a757b124d/cottages/nodes_barrel.lua
10:15 ElectronLibre joined #minetest-dev
10:15 RealBadAngel ah thats nice indeed
10:17 RealBadAngel est31, if you want to benchmark something in meshgen i suggest building a pillar to high above the clouds, making there a platform for testing, exit the game and load back
10:18 RealBadAngel this way you will have world with just one mapblock with meshes
10:18 est31 good idea
10:18 RealBadAngel you can safely then put timers inside mapblock_mesh.cpp
10:18 RealBadAngel without being spammed
10:21 twoelk joined #minetest-dev
10:21 RealBadAngel when i was testing the code, r2d2 model was at about same speed as stair nodebox
10:23 twoelk here's an old mt-icon-model of mine that uses lots of useless unseen nodeboxes :)   -> https://forum.minetest.net/viewtopic.php?p=130093#p130093
10:24 RealBadAngel but even a simple stairs node is good example
10:25 RealBadAngel it has two nodeboxes and is constantly rotated without cache
10:26 RealBadAngel so, est31, you will see huge speedup on developed worlds, like VE's ones
10:27 RealBadAngel cache on the other hand will have no impact on fresh, newly generated world
10:28 RealBadAngel we are not talking bout FPS here, but mapblock mesh generation time ofc
10:28 est31 yes
10:29 RealBadAngel btw, some1 could add stairs as a meshnode, without duplicated vertices
10:30 RealBadAngel theyre displayed slower "thx" to that
10:30 kilbith i'll do that for MTG
10:31 chchjesus joined #minetest-dev
10:31 RealBadAngel you can clearly see the problem with stairs when you highlight it
10:33 RealBadAngel another advantage of the meshnodes vs nodeboxes is that meshnodes doesnt require textures to be rotated for each face
10:33 RealBadAngel uvmapping does that all
10:34 est31 damn you cant screwdriver barrels
10:35 est31 there is cottages:barrel
10:35 est31 and cottages:barrel_lying
10:35 est31 what a waste
10:35 est31 what do I have to change to make them screwdriver-able?
10:37 kilbith est31, paramtype2 = "facedir"
10:37 est31 kilbith, and change it to?
10:37 kilbith inside minetest.register_node
10:37 kilbith of the barrel
10:37 est31 yes it already has that value
10:38 kilbith oh yes
10:38 kilbith but only on one barrel
10:38 kilbith the horizontal one
10:46 kilbith RBA, for the duplicated vertices on the stairs, you talk about that ? https://lut.im/sEiXllBP/gLxakvww
10:46 kilbith between the 2 nodeboxes
10:46 kilbith with a proper mesh model you don't have such hidden vertices
10:49 zat joined #minetest-dev
10:56 est31 RealBadAngel, no noticeable difference
10:56 est31 I'm testing with 9 barrels
10:56 est31 which are lying, but screwdrivered to stand
10:57 H-H-H joined #minetest-dev
10:57 RealBadAngel kilbith, exactly
10:57 est31 I've done if position != (0,1562,0) continue to ensure only one mapblock gets meshes generated
10:57 est31 then I just checked how much time new MapBlockMesh(q->data, m_camera_offset); takes
10:58 RealBadAngel est31, shouldnt you just compare single node inside mapblock mesh?
10:59 est31 the other stuff is air
10:59 RealBadAngel 9 nodes compared to rest of mapblock mesh code is nothing
10:59 H-H-H joined #minetest-dev
11:00 RealBadAngel propably you wont be able to measure the difference
11:00 est31 so you say its nothing compared to air?
11:00 est31 then our air mesh gen code is inefficient
11:00 RealBadAngel atm youre comparing whole mapblock mesh code vs just 9 nodes
11:01 RealBadAngel 1st you should measure in ms, the second rather in ns
11:01 est31 its us
11:01 est31 why
11:02 RealBadAngel time of single node is tiny in comparision to the rest of the code
11:03 RealBadAngel either put there shitload of barrels or compare times inside mapblock mesh for single nodes
11:04 RealBadAngel edit content_mapblock.cpp
11:05 RealBadAngel pick the drawtype and measure time from start till putting break
11:05 RealBadAngel -putting
11:05 est31 ah you mean that super long function?
11:06 est31 1520 lines currently
11:06 RealBadAngel all the drawtypes are made here
11:07 est31 its equivalent to benchmark the call to mapblock_mesh_generate_special inside mapblock mesh.cpp
11:07 est31 ah no
11:09 RealBadAngel yes, you can measure that function
11:09 RealBadAngel but this is for whole mapblock
11:12 est31 so without the cache it needs 234267 to 176893 ns
11:13 est31 with it, it needs 49919 to 113358 ns
11:14 est31 so its faster for most cases
11:14 RealBadAngel damn faster
11:14 est31 but rotating isn't "damn slow"
11:14 est31 around 5x to 10x
11:15 est31 for something thats already very fast
11:15 RealBadAngel rotating the mesh mean rotating each and every vertice in it
11:15 est31 more around 3x to 5x
11:15 RealBadAngel more complex the mesh, gain is bigger
11:16 est31 barrel is already very complex
11:16 RealBadAngel rly?
11:16 RealBadAngel measure r2d2 obj
11:17 RealBadAngel barrel in world of meshes is like 16px texture comparing to 512x hdx
11:17 RealBadAngel please do note that the barrel you are testing is already converted to mesh
11:17 est31 RealBadAngel ?
11:18 RealBadAngel runtime there are no nodeboxes
11:18 RealBadAngel its only scripting way to describe a mesh
11:18 RealBadAngel ive eliminated them from the engine practically
11:19 RealBadAngel code for them in content_mapblock.cpp is dead
11:19 RealBadAngel you can disable converting in nodedef and measure original times tho
11:20 est31 what does this have to do with nodeboxes??
11:20 RealBadAngel nodeboxes were way slower
11:21 est31 but now we have meshes
11:21 RealBadAngel inside yes
11:21 est31 so you say it was justified as we had nodeboxes, but now as we have meshes, the situation is different?
11:22 RealBadAngel no, i just wanted to point that times you are measuring now are nothing you could see with original nodeboxes code
11:22 RealBadAngel thats all
11:23 Taoki joined #minetest-dev
11:23 est31 thats good then
11:24 est31 so, RealBadAngel can we set it to default off?
11:24 RealBadAngel by now i can agree
11:24 est31 great, you are the second +1 after Zeno
11:24 est31 I merge my PR then
11:24 est31 will rebase
11:25 RealBadAngel when we will have setmetanodef or specialized drawtypes for wires, tubes and the like i will want it back to on
11:25 est31 noted
11:26 RealBadAngel any solution that will eliminate those thousands of unnecesary node defs
11:26 est31 we will have to keep around those nodedefs for some time, for legacy maps
11:27 RealBadAngel i meand for example single technic LV cable
11:27 RealBadAngel its 64 nodedefs
11:27 RealBadAngel instead of just one
11:27 est31 yes
11:27 est31 I know
11:28 RealBadAngel we wont need to keep them
11:28 est31 problem is: those nodedefs are used in old maps
11:28 RealBadAngel cables will update themselves
11:28 est31 otherwise you will see unknown node
11:28 est31 or you will have to update the cable
11:28 RealBadAngel mod will do that
11:28 est31 e.g. remove it, and re-build it
11:28 est31 or let the mod do it on load
11:29 est31 perhaps with an ABM on those nodes
11:29 RealBadAngel abm wont be needed
11:29 est31 either way, if they are responsible for 90% of all texture RAM, they will still remain responsible for all texture RAM after mesh cache got disabled
11:30 est31 so we still will spare 90 % of texture RAM
11:30 H-H-H joined #minetest-dev
11:30 RealBadAngel hold on a sec
11:30 est31 but now its not 900 MB but "only" 100 MB
11:30 RealBadAngel mesh cache has nothing to do with textures
11:30 est31 you say its only the vertices which take that amount of RAM?
11:31 RealBadAngel vertices and indices
11:31 RealBadAngel textures are totally differnt story
11:31 est31 so, if you are right, the overhead by mesh cache is the same on 16 px and 512 px?
11:32 RealBadAngel ofc
11:32 est31 lets test
11:32 RealBadAngel mesh is a bunch of meshbuffers
11:33 est31 its not the same at all
11:33 RealBadAngel should be in any case
11:34 RealBadAngel meshbuffers only store pointers to textures used
11:34 RealBadAngel not the textures itself
11:35 RealBadAngel how do you check how much it occupies?
11:37 est31 ok you might be right
11:37 proller joined #minetest-dev
11:37 est31 I cant test have only 8 gb ram
11:38 H-H-H anyone here built the android port of minetest?
11:38 est31 textures already take more than that
11:38 est31 I pass my border for both
11:38 RealBadAngel est31, hdx512 needs circa 12gb
11:38 est31 yea :/
11:38 RealBadAngel and thats not caused by mesh cache
11:39 RealBadAngel there are several factors
11:39 RealBadAngel mipmapping
11:39 RealBadAngel and whats worse our way of handling overlays
11:39 est31 either way, my point stands, if they are responsible for 90% of all mesh RAM, they will still remain responsible for all mesh RAM after mesh cache got disabled
11:39 nrzkt H-H-H: i build it on my Jenkins and also for releasing it on play store
11:40 nrzkt H-H-H: no release since a long time. perhaps we should do a mid-0.4.12 release on play store for improve our users experience
11:40 est31 err 90% of all
11:40 kilbith H-H-H ??
11:41 H-H-H im trying to build it on arch but everytime i try to install the ndk from the aur it makes my pc freeze and even rebooted once lol
11:41 RealBadAngel est31, its like 1 to 24
11:41 RealBadAngel full 6d means 24 copies of the mesh
11:41 est31 yes
11:41 RealBadAngel 1 stays here with or without the cache
11:41 est31 we are speaking about cable redefinitions now
11:42 RealBadAngel that is more complex
11:42 H-H-H i did as others have sugested and expanded the size of the /tmp as thats where arch builds its aur stuff and no go lol
11:42 RealBadAngel you should count nodedefs also
11:42 est31 btw, do cable definitions even generate 6d rotated meshes?
11:42 RealBadAngel ofc
11:42 RealBadAngel hmmm
11:42 RealBadAngel hold on
11:43 RealBadAngel no, they shouldnt
11:43 RealBadAngel that would be overkill
11:43 RealBadAngel facedir nodes do
11:43 RealBadAngel cables are not facedired
11:43 est31 then removing their nodedefs wont reduce mesh cache overhead, will it?
11:44 RealBadAngel ofc it will
11:44 RealBadAngel atm 1 cable is 64 nodedefs, 64 meshes
11:44 est31 and without mesh cache?
11:44 RealBadAngel same
11:45 est31 so no mesh cache overhead here, is it?
11:45 est31 if we remove these nodedefs yes we will spare RAM
11:45 RealBadAngel cache does nothing with cables
11:45 est31 but it wont be mesh cache RAM
11:45 RealBadAngel it will be
11:46 RealBadAngel remember that we have 64 meshes for a single node now
11:46 RealBadAngel with specialized drawtype there wont be any mesh
11:46 est31 so, we've seen mesh cache does very minimal benefit (factor 5 **at best**, for very complicated meshnodes)
11:46 est31 why bargain it
11:46 est31 but again its later discussion
11:46 RealBadAngel you have chosen very simple mesh for testing
11:47 RealBadAngel it was complicated in terms of nodeboxes, yes
11:47 RealBadAngel but within meshes its very simple
11:48 nrzkt H-H-H: ndk on Archlinux uses 3.3GB space, maybe if you don't have enough ram it doesn't build
11:48 nrzkt if the build failed i suggest you to download and install it manually in your homedir
11:51 H-H-H am d/l the ne on wiki page now as i only have 2 gb ram on this machine
11:51 RealBadAngel est31, but even with it, calling 2x - 5x times faster a "minimal benefit" ?
11:51 RealBadAngel dont be jokin :)
11:51 est31 its a huge benefit
11:52 est31 but not huge enough for occupying 2/3 of minetest's RAM
11:52 est31 note, that mesh generation is very fast
11:52 est31 usually
11:52 RealBadAngel est31, join vanessa's spawn
11:53 RealBadAngel and imagine what cache does there
11:53 RealBadAngel even 10% gain there would be HUGE benefit
11:54 RealBadAngel and yet we are talking bout at least 200%
11:54 est31 VanessaE spawn doesnt have mesh thread lag
11:54 est31 but main thread lag
11:54 est31 thanks to gazillon signs
11:55 RealBadAngel those needs a drawtype too, definitely
11:55 est31 yes, colored text
11:55 RealBadAngel i just need a code that will make a text from raster fonts
11:56 RealBadAngel rest is piece of cake
11:56 est31 what do you need exactly?
11:57 RealBadAngel a code that will create a texture with text
11:57 RealBadAngel it shall use bitmap font
11:57 proller joined #minetest-dev
11:57 kilbith RBA, someone did that in C already : https://github.com/fogleman/Craft
11:58 kilbith sign.c
11:58 est31 I think we want a more higher level approach
11:58 est31 doesnt irrlicht offer this already to us?
11:59 RealBadAngel what do you mean?
12:00 est31 http://irrlicht.sourceforge.net/forum/viewtopic.php?t=39916
12:00 est31 hrmm thats not drawing on the texture
12:01 est31 or is it?
12:03 troller joined #minetest-dev
12:11 RealBadAngel est31 irrlicht doesnt have draw methods that would fit for us
12:11 RealBadAngel ive already checked whats aviable
12:12 RealBadAngel to display a sign with text we need a texture with text
12:12 Wayward_Tab joined #minetest-dev
12:12 RealBadAngel so only solution is a "converter" string -> texture
12:13 RealBadAngel also we do need a fast one, so imho only bitmap fonts can be that fast
12:14 est31 what bout this http://irrlicht.sourceforge.net/forum/viewtopic.php?t=43712
12:19 RealBadAngel need to reboot, brb
12:25 est31 and I gtg
12:26 troller joined #minetest-dev
12:43 Megaf joined #minetest-dev
12:51 proller joined #minetest-dev
13:40 Taoki joined #minetest-dev
13:42 ofelt joined #minetest-dev
13:52 selat joined #minetest-dev
13:57 ofelt joined #minetest-dev
14:01 selat joined #minetest-dev
14:08 selat_ joined #minetest-dev
14:40 Tesseract joined #minetest-dev
14:41 Anchakor_ joined #minetest-dev
14:42 selat joined #minetest-dev
14:44 cheapie_ joined #minetest-dev
14:45 blaze joined #minetest-dev
14:52 ElectronLibre joined #minetest-dev
14:54 est31 joined #minetest-dev
14:55 kilbith joined #minetest-dev
14:57 VanessaE est31: the preceding conversation, btw, is why I wanted RBA's opinion ;)
14:58 est31 I  too learned alot from it
14:59 VanessaE idk why his "reboots" always take so damn long though :P
15:04 CraigyDavi joined #minetest-dev
15:06 est31 5 mins till push https://github.com/est31/minetest/commit/2e44873ac987c484ef7f9ace5eeabfd376f6d8f8
15:28 Lunatrius joined #minetest-dev
15:48 sloanchrome joined #minetest-dev
16:02 Player_2 joined #minetest-dev
16:09 Lunatrius joined #minetest-dev
16:19 Hunterz joined #minetest-dev
16:22 hmmmm joined #minetest-dev
16:25 selat joined #minetest-dev
16:30 sloanchrome joined #minetest-dev
16:43 crazyR_ Hi im having compiling issues when compiling with redis option enabled: https://gist.github.com/crazyR14/2041a56249bb93552f5d
16:43 crazyR_ Anyone have any ideas as to what i should do?
16:47 Calinou instal libhiredis-degv
16:47 Calinou instal libhiredis-dev
16:47 sloanchrome joined #minetest-dev
16:47 sloantothebone_ joined #minetest-dev
16:49 sloantothebone_ joined #minetest-dev
16:49 crazyR_ i did. il try again.
16:57 Robert_Zenz joined #minetest-dev
17:22 est31 joined #minetest-dev
17:37 est31 merging bugfix in 5 minutes #2861
17:37 ShadowBot https://github.com/minetest/minetest/issues/2861 -- Fix world.mt not written when selecting mode by kilbith
17:46 blais3 joined #minetest-dev
17:54 VanessaE minetestbot and shadowbot can't seem to agree on who made that patch :)
17:54 VanessaE oh wait,.
17:54 kilbith Sokomine
17:54 kilbith i did a git --amend --author
17:55 VanessaE yeah, misread
17:55 VanessaE no worries.
17:55 VanessaE just github being stupid :)
18:07 RealBadAngel joined #minetest-dev
18:51 proller joined #minetest-dev
18:53 Hunterz joined #minetest-dev
19:06 Darcidride joined #minetest-dev
19:22 Taoki RealBadAngel: Hi. Any news on the VBO pull?
19:23 RealBadAngel not really, had no time lately. yesterday i was fighting with shaders for older amd gpus
19:23 RealBadAngel maybe tommorow, sorry
19:26 Taoki I understand.
19:26 Taoki Just that the sooner it's up, the sooner it can be tested. Besides, it's only hitting a button on the Github page and writing a description about the pull request :)
19:29 kilbith pressurizing ppl can leads them to the burn-out, though...
19:29 kilbith not like the feature is exciting but still
19:30 Taoki kilbith: It is pretty exciting to be honest :P Because the performance improvement is very visible
19:30 Taoki But yeah
19:36 proller joined #minetest-dev
19:37 neoascetic joined #minetest-dev
19:38 neoascetic Hi all. Is there a simple way to track all map changes? I tried redefining minetest.set_node and minetest.place_node, but it seems like this doesn't work
19:45 red1 joined #minetest-dev
19:45 red1 where can I report bugs in the forum?
19:48 est31 about forum?
19:48 red1 yes
19:48 est31 ask celeron
19:48 est31 also there is an extra thread in the forums
19:49 red1 I can't login
19:49 est31 well I pingedhim so he will show up eventually
19:50 red1 should i /msg him?
19:50 MinetestForFun joined #minetest-dev
19:51 red1 reset a password doesn't work now.
19:55 neoascetic is minetestmapper.py still actual?
19:56 Calinou it still works, but you probably want to use the C++ one, which has more features.
19:57 neoascetic I don't want to use it; I want to see how it converts data from DB to color
19:58 Calinou it uses colors.txt
19:58 neoascetic Yeah, but where can I read about format stored in a DB?
19:58 neoascetic How to convert that integer to position
20:07 Player_2 joined #minetest-dev
20:13 kaeza joined #minetest-dev
20:17 H-H-H anyone know perhaps why my audio is badly distorted on a home built apk instead of d/l it from play store on as note 10.1
20:31 sloanchrome joined #minetest-dev
20:33 Calinou we get a crapton of spam registrations on forum
20:33 Calinou can't we block them in some way?
20:45 H-H-H nrzkt are you around by anychance ?
20:52 est31 joined #minetest-dev
20:53 H-H-H est31 hi can i ask you a few questions regarding minetest on android
20:53 H-H-H the wiki says you maintain the fdroid apk
20:59 est31 more or less yes H-H-H
21:00 est31 dunno why your audio is distorted
21:00 est31 which distro do you use?
21:01 troller joined #minetest-dev
21:02 H-H-H building on manjaro(arc)
21:03 H-H-H the normal one plays audio fine just the one i built is really bad its loud and distorted
21:03 H-H-H arch^
21:03 est31 perhaps its a bug with the source code
21:03 est31 can you test 0.4.12 version?
21:03 blaaaaargh joined #minetest-dev
21:04 H-H-H let me checkout the 4.12 tag code rather than head and try tha
21:04 * est31 wonders what neoastetic is planning behind the curtains
21:21 troller joined #minetest-dev
21:36 diemartin joined #minetest-dev
22:02 blaaaaargh joined #minetest-dev
22:08 diemartin joined #minetest-dev
22:37 blaaaaargh joined #minetest-dev
22:43 asl97 joined #minetest-dev
22:47 Miner_48er joined #minetest-dev
22:51 diemartin joined #minetest-dev
23:08 kaeza joined #minetest-dev
23:22 blaaaaargh joined #minetest-dev
23:22 kaeza joined #minetest-dev

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