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: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:00 VanessaE [off] and because rollback is useless on servers that have active machines that place and dig nodes 03:01 est31 useless or verbose? 03:01 VanessaE verbose. WAY too verbose. like gigabytes-worth-of-useless-actions verbose. 03:03 VanessaE [off] it insists on recording every. single. action. even when a modder would choose not to, e.g. the actions of a node breaker or deployer, even though they aren't real players. 03:03 est31 yea I know 03:03 VanessaE [off] which bloats the rollback log up to perhaps two orders of magnitude bigger than it should be for the level of player activity 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:08 VanessaE [off] better to have a partial log than none at all 03:08 VanessaE [off] rollback is disabled on VE-C and VE-S because of this issue 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: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: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 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. 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: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: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 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 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 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 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 = 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 VanessaE [off] but I've seen that one as well. fucktons of \u0000, enough to fill a 1600x1200 screen :D 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: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 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 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 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: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 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 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 ..... 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: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 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 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 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 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: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 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 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 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 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 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 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: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 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 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:06 est31 5 mins till push https://github.com/est31/minetest/commit/2e44873ac987c484ef7f9ace5eeabfd376f6d8f8 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:49 crazyR_ i did. il try again. 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: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 :) 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: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 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: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: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: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: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: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: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