Time Nick Message 03:26 hmmmm erm 03:26 hmmmm why can't you combine anisotropic filtering and mipmapping..? 03:27 hmmmm wait wth, what is with dd_filters 03:27 hmmmm you can most definitely combine bilinear or trilinear with anisotropic 03:27 hmmmm this is retarded, in fact the only options here mutually exclusive with eachother are bilinear and trilinear 03:28 VanessaE well it used to be that you could. 03:28 VanessaE did someone screw up the dropdown? 03:28 hmmmm i don't know, i'm looking at the blame 03:28 hmmmm the fact there's a dropdown altogether is wrong 03:29 VanessaE looks ok to me? http://digitalaudioconcepts.com/vanessa/hobbies/minetest/screenshots/Screenshot%20-%2001172015%20-%2010%3a30%3a32%20PM.png 03:29 hmmmm oh there are two separate dropdowns 03:30 VanessaE mmhmm 03:30 hmmmm I still don't understand what the point of that is... 03:30 VanessaE because before it was checkboxes, which make no real sense, and we don't have radio buttons I guess 03:30 VanessaE (at the time I added those options, I think all we had were checkboxes) 03:30 hmmmm checkboxes make perfect sense for almost all the options there 03:31 hmmmm second, there are various levels of anisotropy... 03:31 VanessaE we don't set that at all 03:31 VanessaE I wish we could set that and the scaling algorithm (and the realtime distance scaling algo also) 03:31 VanessaE but I guess the engine leaves those to the discretion of the video driver ala amdcccle or so 03:32 hmmmm well i'm fixing it with the options menu 03:32 hmmmm this is so fucked 03:32 VanessaE what have you got so far? I'm curious (screenshot that is, since I suck at formspecs) 03:33 hmmmm i can't say i'm shocked but nevertheless disappointed 03:33 Zeno` Add adjustable LoD bias while you're at it 03:33 hmmmm will do. 03:33 VanessaE LoD? 03:33 hmmmm level of detail 03:33 VanessaE ah 03:33 hmmmm for mipmapping 03:33 VanessaE AH 03:33 VanessaE yeah that would be useful 03:33 VanessaE (to some degree) 03:33 hmmmm come on though 03:33 hmmmm how come every single videogame ever made can get this right 03:33 hmmmm but minetest can't 03:34 Zeno` yeah. At the moment the detail "decreases" too rapidly (IMO) 03:34 VanessaE hmmmm: you don't want me to answer that. 03:34 hmmmm are we really that bad compared to other open source video games with very low levels of activity and development? 03:34 hmmmm even openarena 03:35 hmmmm openarena comes off as incredibly amateurish, to me anyway, yet it's so much more polished than this turd 03:35 hmmmm christ 03:35 VanessaE hmmmm: no, it's not so much that. it's more like a degree of laziness, combined with a small formspec that no one wanted to expand, combined mostly with the fact that few who actively work on this part of the engine actually have high-enough-end gfx for those options to matter. 03:35 VanessaE remember that c55 started this on, what was it, integrated Intel gfx? 03:36 VanessaE getting him to even TRY stuff on the higher-end machine that he had at the time was difficult in the beginning 03:36 hmmmm yeah but 03:36 hmmmm his mission was to make this run well on low end stuff 03:36 hmmmm not necessarily high end too 03:36 VanessaE sure, of course. 03:36 hmmmm which means not bothering with high-end options 03:36 VanessaE but it's all inertia that stemmed from exactly that 03:37 hmmmm for what it's worth, we could do way better in the gfx department 03:37 VanessaE yes, we could. 03:37 hmmmm reflective water shaders? come on, it's not that it's technically easy to code, but the code for it is so widely available 03:37 hmmmm and like i said 03:37 hmmmm every other game in the universe has it 03:38 hmmmm what about tesselation for the plants and crap 03:38 VanessaE tesselation? 03:38 VanessaE *googles* 03:38 hmmmm rather nevermind on that 03:38 hmmmm irrlicht probably doesn't have support for tesselation 03:38 gregorycu hmmmm: Are you the guy that knows a lot about nodes etc. ? 03:38 VanessaE oh this 03:38 hmmmm the guy that knows a lot about nodes 03:38 VanessaE (I for some reason didn't interpret the word correctly) 03:38 hmmmm wtf is that supposed to mean 03:38 Zeno` merging #2141 unless there is an objection 03:38 ShadowBot https://github.com/minetest/minetest/issues/2141 -- Create empty default constructor for MapNode by Zeno- 03:38 gregorycu Ahh Zeno` is here 03:38 hmmmm Zeno`: seems fine 03:38 hmmmm i saw it before 03:38 Zeno` cool 03:39 VanessaE Zeno`: *shoots off a shotgun into the air* I OBJECT! 03:39 VanessaE ;) 03:39 hmmmm there are probably plenty of other uses of MapNode ctor with no arguments though 03:39 * Zeno` has earphone on 03:39 VanessaE jk, go ahead and merge 03:40 gregorycu Zeno`: Why does MapNode::getNodeNoEx insert a point into it's area? 03:40 VanessaE hmmmm: now all that said, a lot of us have been trying to improve the graphics in whatever ways we can. like what I did with meshes in pipeworks and technic in the last few days. no more thousands of nodeboxes to make complex shapes. 03:40 hmmmm don't you mean VoxelManipulator::getNodeNoEx...? 03:41 Zeno` gregorycu, insert a point? 03:41 gregorycu Sorry, I do 03:41 gregorycu VoxelManipulator 03:41 VanessaE also RBA has spoken in the past about water surface reflections but he's pretty well-set on hardcoding the nodenames et al. because he believes the shader interface will impose such limits 03:41 Zeno` I am refactoring that function today or tomorrow. Funny that you brought it up right now 03:41 hmmmm nobody uses getNodeNoEx 03:42 gregorycu Then I'll stop refactoring 03:42 Zeno` actually no I'm not 03:42 Zeno` different getNode :/ 03:42 gregorycu hmm... 03:44 Zeno` I'm looking at MapBlock::getNode() 03:44 gregorycu Stop being lazy and do them all 03:44 Zeno` too many getNode()'s 03:44 gregorycu What happens when we run out of things to optimise? 03:44 jin_xi lol 03:45 gregorycu I made a funny 03:45 Zeno` MapNode getNode(s16 x, s16 y, s16 z, bool *valid_position) changing to --> bool getNode(MapNode &dest, s16 x, s16 y, s16 z) 03:45 jin_xi you will find there are many suboptimal things 03:45 gregorycu There are a lot less than before 03:45 Zeno` optimise mesh creation 03:45 gregorycu Zeno`: I completly fucked up the rebase 03:45 Zeno` gregorycu, I saw that 03:45 gregorycu There are now 9 checkins rather than 4 03:45 Zeno` gregorycu, it's fixable though :p 03:46 gregorycu So yeah, I asked #github for guidance, nobody got back to me 03:46 gregorycu They are good changes, I think you'll like em 03:47 jin_xi so some things are just not optimal and need optmization. others need discussion and thought. what about that mailing list idea? 03:47 Zeno` I have stopped reading my email 03:47 jin_xi nice 03:47 * acerspyro applauses 03:51 hmmmm https://github.com/minetest/minetest/blob/master/builtin/mainmenu/tab_settings.lua#L160 03:51 * hmmmm blinks 03:52 VanessaE hmmmm: I've seen worse than this 03:52 hmmmm no 03:52 hmmmm I don't get it 03:52 hmmmm is this supposed to be inside a function body? 03:52 VanessaE which part? 03:52 VanessaE oh 03:52 VanessaE um 03:53 VanessaE wait what? 03:53 VanessaE ok that's just wrong tabbing 03:53 hmmmm what's the end statement on 246 an end to? 03:54 jin_xi ^ 03:54 VanessaE push that end at 246 over under the "return" or everything from 160 on down all the way to the left margin and it's right 03:54 hmmmm how is this valid Lua 03:54 VanessaE it ends the if at line 222 03:54 Zeno` I quite like it 03:54 VanessaE wait 03:54 hmmmm what the fuck 03:54 Zeno` 'tis artistic 03:54 VanessaE that can't be righjt 03:54 hmmmm who coded this shit 03:55 hmmmm okay 03:55 hmmmm that's the end statement to the function 'formspec' 03:55 hmmmm ... 03:55 VanessaE wat 03:55 VanessaE how the hell did you spot that 03:55 hmmmm I'm not sure 03:56 VanessaE so everything from 131 to 159 just needs a tab 03:56 VanessaE brb 03:56 hmmmm everything about that settings reorganization code breaks standards 03:56 hmmmm how did this pass QC 03:56 Zeno` QC? 03:57 hmmmm dammit sapier it's your job to make sure you don't add crap 03:57 acerspyro Quebec 03:57 acerspyro :P 03:57 hmmmm Quality Control 03:57 Zeno` We have a quality control team? 03:57 acerspyro Zeno`: No, but it is the devs' jobs to make sure of it. 03:57 hmmmm the core developers who commit pull requests 03:58 Zeno` I know. I'm being silly again 03:58 hmmmm in any case, i know somebody's reaction is going to be to fix it real quick 03:58 hmmmm don't.. i'm modifying that portion of code 03:58 hmmmm woohoo merge conflicts 03:59 Zeno` what idiot merged that! 04:00 Zeno` who is Zeno`? 04:00 Zeno` I need to speak to him 04:00 jin_xi has anyone here used helicopter mod? it currently breaks at camera_offset. 04:02 Zeno` to be fair I didn't look at that part of the code closely when I merged it because it was mostly existing code with a few changes (looking at the diffs) 04:02 hmmmm ?? i thought it was sapier who merged it 04:02 Zeno` may have been. The commit I merged modified existing code. I'm not going to look further back 04:02 hmmmm oh, that was the follow-up fix commit... grr dammit zeno 04:03 Zeno` nah, look at the diff! 04:03 Zeno` 161- was already there and silly. I still should have noticed it. My bad 04:06 gregorycu Unbelievable 04:06 gregorycu Somebody fire him 04:07 hmmmm you know performance reviews are rolling around this time of the year 04:07 VanessaE soda -> monitor 04:07 hmmmm keep this crap up and you'll get a 2! 04:07 VanessaE lol 04:07 hmmmm 1.5% raise 04:08 hmmmm no bonus 04:08 VanessaE 1.5%? damn man, that barely even keeps up with inflation :) 04:08 deezl 0 * 0.015 is.... 04:08 hmmmm at my last job i got a 3% raise and i was supposed to be like psyched about that 04:08 hmmmm woot government 04:12 Wayward_One singleplayer is completely unplayable for me now:( http://imgur.com/SP5SiJ3,Pe7lcR2 04:13 hmmmm would you be willing to bisect to the problem? 04:14 Wayward_One i have no idea how iwould even start 04:14 hmmmm hmm 04:14 Wayward_One i'm doing the same thing i've always done ever since discovering minetest 04:14 hmmmm btw, just to make sure, it's the blank item HUD element that you're complaining about, not the cpu usage, right? 04:15 jin_xi its the 20s lag i guess 04:15 Wayward_One oh, you mean what's wrong with the picture. look at the lag in the lower right-hand corner, then look at the mods 04:15 VanessaE ouch 04:15 VanessaE and that's singleplayer 04:16 Wayward_One exactly! 04:16 VanessaE I didn't spot that either at first 04:16 VanessaE you know, someone earlier made the same comment 04:16 VanessaE that singleplayer block placement has really started to lag lately. 04:16 hmmmm yeah.. 04:16 VanessaE I don't see that happening myself, though 04:17 hmmmm so when did you all notice it start happening 04:18 gregorycu sapier said it yesterday 04:18 gregorycu But he didn't submit a proper bug report so I ignored him 04:19 Wayward_One for a while now, but i never really payed much attention to it, since i'm usually on multiplayer now. it started affecting me when i began getting into editing mods that needed testing 04:19 VanessaE gregorycu: to that end, so far I have not received any complaints about accessing my servers. In fact, my total users seems to have roughly doubled over the past few days 04:19 hmmmm merging the network reorganization isn't going to help any with finding the issue 04:19 gregorycu I believe it's common knowledge that singleplayer is slower than multiplayer 04:20 gregorycu VanessaE: That's excellent 04:20 gregorycu How many players is that? 04:20 jin_xi 2 04:20 gregorycu lol 04:20 Zeno` yeah but it shouldn't be *that* slow. I normally launch a local server and connect to 127.0.0.1 04:20 VanessaE hmmmm: one thing I *have* noticed is "connecting to server" seems to take an inordinately long time in singleplayer lately, to a world that has almost nothing built and nothing that could hog CPU 04:20 hmmmm agh 04:20 hmmmm problems everywhere 04:20 VanessaE anywhere from a few seconds longer than normal to upwards of 20 seconds, I'd say 04:21 hmmmm that, i am afraid i haven't noticed 04:21 Zeno` VanessaE, " so far I have not received any complaints about accessing my servers." should you have? 04:21 VanessaE of course it's dreambuilder here, but still this seems to be more than it normally would be 04:22 VanessaE Zeno`: I've got nrzkt's network rewrite in place 04:22 VanessaE sapier asked me to test it 04:22 Zeno` ah ok. MTZ does as well 04:28 deezl for what it's worth, anytime I recompile my client, first join on the VE-C and VE-S server takes a really long time (but only the first connect) 04:30 Zeno` I've noticed that valgrind is slower recently. Before I could get 3FPS under valgrind :( 04:31 hmmmm despite all the optimization going on, it keeps getting slower :( 04:32 Wayward_One just tested in a build i kept from roughly august-ish, same mods and everything, yet the lag is below 1 second: http://imgur.com/oEYPfsr 04:33 gregorycu That could be because the server thread is way faster now 04:33 gregorycu Can you let your client sit there for a few min 04:34 Wayward_One ok 04:36 hmmmm Wayward_One, try setting liquid_loop_max to 10000 04:36 hmmmm I'm just curious 04:37 Wayward_One ok, just a sec 04:37 Wayward_One wait, on the old client or my current one? 04:37 hmmmm current one 04:37 Wayward_One ok 04:38 deezl I'm connecting to VE-S right now...extremely slow media load, client is git pull from about 20 minutes ago 04:38 deezl and mobs are unknowns 04:39 VanessaE deezl: the mobs are a mod glitch. leftovers from transition from "mobs" to "carbone_mobs". 04:39 deezl ah 04:39 VanessaE I need to /clearobjects soon. 04:40 deezl I also forgot to enable cURL 04:40 deezl :/ 04:40 VanessaE actually that's a good thouhg 04:41 deezl oh, maybe I didn't need to "USE_CURL=1" 04:41 VanessaE thing* 04:41 VanessaE if cURL is really disabled and your media download is glacially slow, there's a problem 04:41 VanessaE because it wasn't like that before. 04:41 VanessaE (at least not right after that big network refit way back when) 04:48 * VanessaE tries it with cURL for now just to see... 04:48 VanessaE 16 seconds to receive all the media from Creative 04:48 VanessaE 26 seconds to complete the connection 04:48 deezl ouch 04:48 VanessaE (as in, I'm in the world) 04:49 VanessaE that's 36 MB of media mind you 04:49 VanessaE I cleared my cache first 04:49 VanessaE so at least cURL is about as fast as it's ever been 04:50 Wayward_One gregorycu: after letting my old client sit for 14+ minutes (even ran around and mapgenned some) : http://imgur.com/bF1rqs8 04:51 deezl VanessaE, yes, much faster with cURL enabled 04:51 VanessaE lemme rebuild without cURL. 04:51 deezl I got into VE-C pretty quick 04:52 VanessaE hy the way, why is ENABLE_CURL "ON" rather than "1" or "true"? 04:52 VanessaE // Enable cURL support for fetching media 04:52 VanessaE ENABLE_CURL:BOOL=ON 04:52 deezl i did it as -DENABLE_CURL=1 04:52 deezl I did it wrong? 04:53 VanessaE these cmake flags need to be made consistent. 04:53 VanessaE true or false, people. 1/0 sorta makes sense, but ON/OFF? 04:54 VanessaE 521 kB/sec and rising. 04:54 VanessaE peaked at that. 04:54 VanessaE 45 seconds to receive media 04:54 Wayward_One hmmmm, just tested with your suggestion, no change :/ 04:54 VanessaE 54 seconds to complete 04:55 VanessaE (obviously the completion time is always the same at 9-10 seconds) 04:55 Zeno` I cannot work this particle thing out :( 04:56 VanessaE Zeno`: what are you working on? 04:56 VanessaE the mem leak in particles? 04:57 Zeno` nah, unitialised values 04:57 VanessaE oh ok 04:57 Zeno` Can anybody make any sense of this: http://dpaste.com/1GCGRWR 04:57 Zeno` the nvidia thing at the start is normal 04:58 VanessaE ok, repeated the cURL test. 13 seconds to get media, 25 seconds to fully into the world. 04:58 Zeno` I've been staring at the files for over an hour. I'm obviously missing something very simple 04:58 VanessaE (using my Creative server as the target).... this is consistent with my experience from right after the big network rewrite 04:59 Zeno` hmmmm, kahrl ^^^^^^ 04:59 deezl VanessaE, 23:59:39: ERROR[CurlFetchThread]: http://192.99.11.10/creative-survival-media/index.mth not found (HTTP response code said error) (response code 404) 04:59 VanessaE deezl: ignore that. 04:59 VanessaE the client should not report that as an error. 04:59 VanessaE (I don't use the index.mth style at all) 04:59 deezl ah 04:59 hmmmm wayword_one: darn. i had a hunch 05:00 hmmmm in any case, i wouldn't be surprised if that particle thing had a huge memory leak or other baddies 05:00 hmmmm it's crap code 05:01 VanessaE hmmmm: I look forward to jin_xi/ShadowNinja's irrlicht particles code going into mainline 05:01 hmmmm me too 05:01 VanessaE that code can handle orders of magnitude more particles 05:01 hmmmm so do we bother fixing this or wait 05:02 VanessaE imho get that ^^^ code up to snuff and merge it if you have the resources to work on it 05:02 VanessaE (thing is, by now it's probably in need of a rebase) 05:02 VanessaE last I knew there were problems getting collisions working right? 05:02 Zeno` hmmmm, can you see anything obvious in that valgrind dump? 05:02 VanessaE that was the only hangup 05:02 hmmmm well 05:03 Zeno` I have nfi what is not initialised, but I've probably been looking at it for too long now 05:03 hmmmm i'm looking at it right now 05:03 Zeno` maybe I'll have a rest for an hour and come back to it 05:08 hmmmm you know it could be incorrect due to the union in ClientEvent 05:08 Zeno` possibly. I was looking at that for a bit as well 05:08 Zeno` but I couldn't see anything obviously wrong 05:08 hmmmm try writing that code the proper way 05:09 hmmmm u32 id = client.particlespawner_add.id; .. 05:09 hmmmm see if that gets rid of the error 05:10 hmmmm ahh okay i see the error 05:10 hmmmm and could you believe it... it was caused by copy & pasting 05:10 hmmmm check out the union value it's using on line 440, and then look at the type of event it's handling within that block 05:10 Zeno` I wish I could find errors by copying and pasting 05:11 hmmmm nevertheless that code is crap and it should be cleaned up 05:11 Zeno` haha 05:11 Zeno` I see it now. I was blind. Thank you 05:11 Zeno` and yes it's terrible code :( 05:11 hmmmm also the lock to find/delete the particlespawner being added should be combined with the new one being added 05:13 gregorycu Thank fuck 05:13 gregorycu #2146 05:13 ShadowBot https://github.com/minetest/minetest/issues/2146 -- Water fixes by gregorycu 05:14 Zeno` gregorycu, I told you it was easy 05:14 gregorycu kill me now 05:15 Zeno` hmmmm, the code is so crap it's barely readable 05:15 Zeno` I was whinging about it last night :( 05:16 hmmmm against my better judgement i was the one who actually committed it 05:17 hmmmm at the time i figured, "meh it's okay, i don't want to be TOO naggy and scare off contributors" 05:17 hmmmm yeah... bad idea. 05:17 Zeno` running valgrind again, but I expect there will be no issues now 05:19 hmmmm hmm, gregorycu, how much of an improvement does those things make? 05:19 hmmmm s/does/do/ 05:19 gregorycu Each of those 4 changes gave me a noticeable improvement 05:20 gregorycu Sorry, 3 of the 4 05:20 hmmmm also the thumbnail of your github avatar makes you look like a monkey with a baseball cap 05:20 gregorycu I didn't see much of an improvement for commenting out the unused structure, but there was ASM code there 05:20 gregorycu Which disappeared 05:20 gregorycu Thank you 05:20 hmmmm just saying 05:21 Zeno` lol 05:21 hmmmm you need to look closer at it for it to look like a human face 05:21 Zeno` Fortunately my avatar is a very accurate representation of myself 05:22 hmmmm miss piggy? 05:23 Zeno` what?! 05:23 gregorycu lol 05:23 gregorycu hmmmm: Did I do something to offend you? 05:23 hmmmm no 05:23 gregorycu I just look like a monkey. Ok. 05:23 hmmmm from far away 05:23 hmmmm and in black and white 05:23 hmmmm you need to zoom in on the thumbnail to make it out 05:23 gregorycu You sound like every ex-girlfriend I've ever had 05:24 gregorycu I'll redo it tonight, after a shave 05:24 hmmmm i am actually laughing out loud right now 05:25 gregorycu With regards to the changes, it would be really nice if someone could profile on non-windows for me 05:25 paramat i just noticed 5-10s hangs in v5 mapgen when flying at depth where there is a lot of lava, liquid loop max 10000 fixes it 05:26 Zeno` I'll profile it (in about an hour when this valgrind session finishes) 05:26 gregorycu paramat: My changes should also fix that a little 05:26 paramat good =) 05:26 gregorycu Well, probably a lot 05:27 paramat with 10000 i cannot outfly the mapgen 05:27 Zeno` isn't liquid loop max 10000 the default now? 05:27 paramat nope 100000 05:28 Zeno` the problem with 10000 is that although it will fix one issue it causes another 05:28 Zeno` *sigh* 05:29 paramat whats weird is the amount of lava down there per chunk seems no more than the amount of water at the surface, perhaps the way it is distributed increases liquid processing time 05:30 paramat .. lots of isolated pockets of lava 05:30 Zeno` actually could that be Wayward_One's performance problem? 05:31 Zeno` I doubt it would cause 30s lag, but... who knows 05:33 paramat think i'll go ahead and make a PR in MTgame for a halved liquid range of 4 for lava, might help a little with underground floods 06:01 hmmmm Zeno`: No, i had him reduce the limit already 06:01 hmmmm he said it didn't work 06:02 Zeno` ah, cool 06:03 hmmmm gregorycu: I am very skeptical that changing const std::string &foo to const char *foo will result in a performance increase 06:04 hmmmm could you actually profile that...? 06:04 gregorycu Yes, I even took a look at the ASX 06:04 gregorycu ASM 06:04 gregorycu It was creating a std::string from the char* 06:04 gregorycu To pass in 06:05 hmmmm what do the numbers say? can you show the resulting assembly as well? 06:05 paramat i notice with 10000 mapgen does not lag but most of the air-bordering lava i see is non flowing 06:05 hmmmm well yes... you're also creating a std::string in your version of raiseModified 06:05 gregorycu At the bottom 06:05 hmmmm oh 06:05 Zeno` paramat, that's because the queue is increasing in size 06:05 paramat 50000 or 100000 mapgen hangs but most lava is flowing 06:05 Zeno` it will eventually get there and process those nodes 06:05 hmmmm so you're saying you don't want to create unless mod == m_modified 06:06 paramat aha 06:06 gregorycu Yes 06:06 gregorycu That could could be made better 06:06 gregorycu code could 06:06 gregorycu But it's an improvement 06:07 gregorycu Um... I'm in the middle of profiling something else, but I can get numbers for you later 06:07 paramat and my processor is an intel i5, fairly fast 06:07 Zeno` paramat, that's the side-effect I mentioned earlier ;) The queue can actually keep increasing in size without the server ever catching up in some circumstances 06:07 hmmmm I'm looking at all uses of raiseModified right now and it's nearly always MOD_STATE_WRITE_NEEDED 06:07 hmmmm my hunch tells me m_modified is that too 06:07 hmmmm let me see.. 06:08 paramat but then v5 at depth is worst case scenario, many tiny pockets of lava next to long tunnels 06:09 hmmmm nice 06:09 hmmmm MapBlock defines m_modified as a u32 instead of ModifiedState 06:09 Zeno` ok, valgrind finished. I told you it would be about an hour 06:09 hmmmm "let's define an enum and not use it as an enum!" 06:09 paramat .. and im flying at 20m/s 06:11 hmmmm gregorycu: liar. reason is used in the case where mod > m_modified too, but instead it's implicitly converted to an std::string 06:11 gregorycu ? 06:11 hmmmm gregorycu: I highly doubt that particular change would make any different in execution time at all 06:12 gregorycu I'll drop what I'm doing now, and take a look 06:12 hmmmm you don't need to 06:12 hmmmm I'm just saying 06:12 paramat .. 50000 is just keeping up with flow, might be a better balance 06:13 Zeno` paramat, possibly. How much RAM is it eating up though? 06:13 hmmmm I need to take a better look at transformLiquids(), but I think it might be beneficial to transform liquids as much as possible in map generation 06:13 Zeno` Also it's processor dependant. The only way to "fix" that code (partially) will be to base it on server_step and time spent in the loop 06:15 Zeno` or do more of it in mapgen 06:15 Zeno` if that doesn't cause huge delays 06:27 gregorycu hmmmm: raiseModified went from 8% to 1.2% with my change 06:31 gregorycu Probably got inlined in a few places 06:35 gregorycu i gotta run 06:51 hmmmm that would make sense I guess 06:51 hmmmm but I don't get it 06:51 hmmmm is that how I should be writing code? 06:51 hmmmm what I'd like to see is a comparison between assembly output of both versions 06:52 hmmmm in any case, it would be fastest without the std::string there at all 06:53 hmmmm the only place where the modification reason string is used is in mod profiling 06:53 hmmmm not mod profiling, "modprofiler" as in "modified profiler" 06:54 hmmmm we can safely remove it all together 06:54 hmmmm it's mostly useless 07:11 hmmmm holy shit gregory you're right, it's like twice as fast 07:12 hmmmm I am never passing const std::string &s again 07:15 hmmmm but those C++ people told me this is the "right" way to do things 07:15 hmmmm std::string is the "right" type to use 07:15 paramat zeno, yes exactly, i have no idea if 50000 is high enough to avoid overuse of RAM 07:15 hmmmm const char * is supposed to be the obsolete, bad way of specifying strings 07:16 hmmmm best practices suck 07:16 hmmmm "best practices" 07:18 hmmmm http://fpaste.org/171027/21565489/ 07:20 paramat so i have a suggestion for v5: remove all those irritating tiny lava blobs and replace with v7 large caves, then place the remaining dirt/sand/gravel blobs using 'ore claylike' instead. we can then eliminate 2 3d noises 'crumble' and 'wetness' ..? 07:20 hmmmm yeah that's what I wanted to do 07:20 hmmmm i renamed claylike to blob 07:21 paramat i can work on that then 07:22 paramat much less strain on liquid queue also 07:22 hmmmm the better solution is to make the liquid queue better 07:23 hmmmm err, improve the liquid queue* 07:27 paramat okay guess i'll call v7 large cavegen from within v5 cavegen for now 07:35 hmmmm maybe the unmangled version can be more readable: http://fpaste.org/171030/21566446/ 07:36 hmmmm and here's the original source: http://fpaste.org/171031/21566563/ 07:36 hmmmm so you can see right away it inlined the FooThing ctor 08:20 gregorycu I'm back, and I'm ready for more 08:31 Krock is there a way to re-new the "po" files? 08:32 Krock https://forum.minetest.net/viewtopic.php?t=11043 08:34 hmmmm gregorycu: I did a test on my own and you're right, m_modified_reason = std::string(some_const_char_ptr) is faster, but m_modified_reason = some_const_char_ptr is fastest of all 08:35 hmmmm it directly calls std::string::assign(const char *, size_t) whereas the other allocates and deallocates a std::string object 08:35 gregorycu Yep 08:35 hmmmm it's around 3x faster from my own tests 08:35 gregorycu It's called in a few places, that function 08:36 gregorycu So, it's probably worth it 08:36 hmmmm but you can do even better by removing the string entirely 08:36 hmmmm i looked at it and it's quite useless 08:36 gregorycu Really? 08:36 hmmmm yes 08:36 hmmmm celeron's code tends to be very elegant and complete, but total dogshit when it comes to performance 08:36 gregorycu What... intended... purpose does it have? 08:37 hmmmm profiling how often blocks get modified for what reason 08:37 gregorycu lol 08:37 gregorycu profiling code that has a disruptive impact on profiling 08:37 hmmmm if this functionality is actually needed... it can be done with an enum 08:37 hmmmm but for now i say remove 08:37 gregorycu Can I revisit it? 08:38 hmmmm sure. 08:38 gregorycu I don't want to make functional changes alongside perf ones 08:38 gregorycu And if I do make a functional change, I want it to be a good one, not half-assed 08:38 gregorycu Did you test any of my other changes? 08:38 hmmmm no 08:38 gregorycu ok 08:40 gregorycu Zeno` was gunna do that 09:45 Zeno` I cannot see any problems with #2146 (apart from easily fixed ones) 09:45 ShadowBot https://github.com/minetest/minetest/issues/2146 -- Water fixes by gregorycu 09:46 nrzkt +1 09:51 kilbith when i read the logs, 100% of what hmmm's says is shitting on everyone/everything :( 09:52 kilbith and almost everyday 09:55 gregorycu Well, better not read sapier's logs 09:56 gregorycu hmmmmm did say I look like a monkey 09:57 Zeno` lol 09:57 Zeno` (sorry gregorycu) 09:57 gregorycu If I were black, that would have been racist or some shit 09:57 gregorycu But I'm as pasty white as they come 09:57 Zeno` he said I look like Miss Piggy! 09:57 gregorycu That made me feel better 09:57 gregorycu He obviously has no idea what he's talking about 09:59 kilbith i'm more concerned about the "shit" or "crap" code 09:59 kilbith ... he should look into his buggy one instead ... 10:01 gregorycu There seems to be a lot more... 10:01 Zeno` planning to merge #2146 and #2147 soon. Any objections? 10:01 ShadowBot https://github.com/minetest/minetest/issues/2146 -- Water fixes by gregorycu 10:01 ShadowBot https://github.com/minetest/minetest/issues/2147 -- Fix particles causing unitialised data being used due to use of incorrect union member by Zeno- 10:01 gregorycu animosity than what I'm used to in OSS 10:02 Zeno` also #2144 10:02 ShadowBot https://github.com/minetest/minetest/issues/2144 -- Fix use of uninitialized data in Sky and (potentially) GUIChatConsole constructors by kahrl 10:03 Zeno` unless kahrl is here. If he is he can merge it himself :P 10:08 Krock 2147 looks ok 10:11 Krock https://github.com/kahrl/minetest/commit/ad41d91#diff-13f6d2a2610eb689cc2fd160ee75f115R54 something like "tsrc->tryGetTexture" would be better IMO 10:11 Krock so it's not needed to check if the texture is known or not 10:12 Zeno` it's kind of implied by the use of the ?: ternary operator 10:12 Krock yes I know 10:12 Zeno` although it could still fail even if it's known 10:12 Zeno` so, hmmm 10:13 Zeno` ah, that's dealt with further down 10:16 Zeno` I might leave kahrl's PR until he reads your comments 10:16 Zeno` personally I have no problem with it 10:25 Zeno` I've done nothing today that I'd planned to do 10:32 Zeno` 2146 and 2147 done 11:08 kahrl Krock: I thought about that but decided against it for now 11:08 kahrl it is too specialized atm (only used in one place) 11:08 kahrl it can be added later if it is needed in more places 11:09 kahrl "tryGetTexture" would invite people to use it even when they rather want getTexture() 11:09 kahrl because tryGetTexture would have strange semantics 11:10 kahrl getTexture("logo.png^[brighten") would return a valid (non-dummy) texture but tryGetTexture("logo.png^[brighten") would return NULL 11:10 kahrl so I think it should be called something like getSourceTexture or tryGetSourceTexture if added 11:10 kahrl brb 11:23 Krock okay 12:51 gregorycu He's back, and ready for more 12:52 Zeno` err. Dunno about ready 12:53 Zeno` What is this Kenney guy and his VoXus trying to do? 12:53 Zeno` make us all look incompetent? 13:01 gregorycu Where? 13:01 gregorycu We don't need help doing that! 13:01 kilbith celeron55: VoXus bundled for the next release, what are your thoughts ? 13:01 Zeno` https://forum.minetest.net/viewtopic.php?f=50&t=10895 13:04 gregorycu Oh, I saw that 13:04 gregorycu celeron55 loves it 13:04 gregorycu He actually says we need to do awesome for these guys 13:10 gregorycu Zeno`: I've been optimising again 13:11 gregorycu I think I've found something horribly ineffecient 13:13 Zeno` how unusual 13:15 gregorycu I think you should have spotted it 13:19 gregorycu When a MapBlockMesh is created, it iterates through many points 13:19 gregorycu Each time, it tries to visit a non-existent node 13:20 gregorycu Each time it reallocates space for those nodes 13:20 gregorycu Which means, there are a shit load of grow-by-one reallocates 13:25 gregorycu Good news is that it's 15 + 15 + 15 per MapBlockMesh 13:26 gregorycu And not 15^3 13:37 * Zeno` has had enough 13:37 Zeno` watching tv :( 13:38 gregorycu This is so exciting 15:53 sapier that singleplayer lag I mentioned yesterday doesn't happen if I don't have pipeworks installed that's why I didn't do a bug report for it. 15:59 T4im btw that entity related leaking seems to have improved a lot after your fixes… at least I didn't manage to fill it up with pipeworks alone yet… what ever seems to still use memory now grows very slowly and could come from anywhere… so… thank you once again… it seems to have worked :D 16:07 sapier T4im: if you find a way to reproduce it I'll have a look at it at best within a few minutes as running in valgrind slows things down a lot 16:08 T4im I'll try, but so far I could not find any correlations yet. 16:38 VanessaE hmmmm: you spoke of needing graphics improvements. there's one for you: https://github.com/minetest/minetest/issues/2150 (RBA is taking WAY too long with his "hardware lighting" idea imho) 16:40 sapier define "too long"? ;-) I guess it's quite a lot to change 16:40 VanessaE sapier over 6 months? 16:41 sapier I'd consider the whole thing to be about half a year or more development time. As I don't think he's working on it full time (as anyone of us) there's quite some time to go 16:41 VanessaE in this case it's not even hardware lighting that's needed, just consistent face lighting 16:41 VanessaE (did you look at the screenshots?) 16:42 sapier I did not say it's ok I just wanted to make sure everyone is aware about what huge task this is 16:42 VanessaE oh I'm sure it is. 16:43 sapier I agree about shading beeing broken 16:43 VanessaE that's why I'm suggesting that a simpler fix be implemented - all meshes should be flatly lit, like nodeboxes used to be, if they can't be smoothly lit the way regular nodes are 16:43 VanessaE s/used to be/are/ 16:43 sapier both on these screenshots are but upper one is less critical 16:44 Calinou if we make all shading flat, hmmm is perhaps going to yell at us 16:44 Calinou because some subgames may not want that 16:44 VanessaE better flat shading than faked shadows that create patters like this 16:44 sapier VanessaE: what's the one you like less? 16:45 VanessaE sapier: what do you mean? 16:45 sapier on your screenshots? upper one creates "steps" while lower one tiles 16:45 VanessaE in the upper screenshot is nodebox-based shapes with standard lighting. in the second screenshot is the meshnode equivalents, demonstrating the engine's lighting issue. 16:45 VanessaE the problem that the poster (not me) is trying to show is that second screenshot 16:46 VanessaE which I agree looks bad 16:46 VanessaE mesh nodes should be flatly lit as in the nodebox example at the top 16:46 sapier but then they're not nodes 16:46 sapier nodes aren't shaded flat too 16:46 VanessaE I know 16:47 sapier you'd only get a different issue 16:47 VanessaE but flat shading is easier than true shading, and is what nodeboxes do 16:47 sapier do we really have time to waste on half boiled interim solutions? 16:47 VanessaE if you were to display that top screenshot at night with a few torches, you'd notice the flat shading, but no one complains about that really 16:48 VanessaE well no, no one *really* wants a half-baked solution, but in the absence of a proper solution, anything that looks better than screenshot number 2 would be welcome :P 16:49 sapier of course if someone provides that interim solution we could use it but at least I won't push rba to waste time on it while working on a real solution for both node and meshnodes 16:49 VanessaE he's not working on a real solution. 16:49 VanessaE he doesn't have the time 16:49 hmmmm hrm 16:49 hmmmm I agree they should be flat colored 16:49 VanessaE he's been too busy with his day job lately, that's why he hasn't been here 16:49 hmmmm i mean is there a beter way? =/ 16:49 VanessaE hmmmm: light them the "right" way like any other engine would, but that would be slower by comparison 16:50 VanessaE flat is better than what they are doing now. 16:50 hmmmm i am not aware of how to do that 16:50 hmmmm let's talk this over 16:50 VanessaE hmmmm: look up gouraud shading 16:50 VanessaE that's the fastest answer :) 16:52 hmmmm alright i guess i should ask this question next: 16:52 hmmmm how are meshnodes implemented right now? are they a separate mesh from the mapblock or is it merged with the mapblock? 16:52 sapier I'm not sure if this really will be what we want. I fear the negative effects of it don't become obvious for nodeboxes because of their size. 16:52 VanessaE they're part of the same scene node is all I know 16:52 sapier Especially as your screenshots already show what I feared ppl would do once meshnodes are available 16:53 VanessaE sapier: they're T4im's screenshots btw 16:53 hmmmm besides 16:53 hmmmm aren't nodes already gourad shaded? 16:53 VanessaE hmmmm: regular nodes get something like that, yes, if smooth shading is enabled. 16:53 hmmmm lights are specified per vertex and the shading per pixel is interpolated using gourad 16:54 hmmmm something something about the surface normal 16:54 VanessaE but only regular nodes get that 16:54 hmmmm i don't know, really.. 16:54 VanessaE pretty much all other drawtypes are flatly lit 16:54 VanessaE (except meshes) 16:57 hmmmm how much are the mainmenu apis used in games for real? 16:58 VanessaE seems to me if you take the vertexes that make up a given poly, calculate the normal vector from those, and then just set the vertex lighting based on "distance" from whatever angle the fake sun is in the scene, that would be close enough. 16:58 sapier if someone knows how to change just do it and see, everything else is speculating 16:58 VanessaE I don't think the main menu API's are used at all in games. 16:58 hmmmm would it be horrible if I tweaked the output of core.get_video_drivers()? 16:59 VanessaE I don't see any reason for that to be passed on to a mod at all 16:59 VanessaE a mod has no reason to know about something as low-level as that, so tweak if you want 17:00 sapier hmmmm: main menu api "l_mainmenu" is mainmenu only 17:01 sapier there are some parts in we don't wanna have in mod api by now 17:44 VanessaE [01-18 12:44] what would cause updatelistener to fail to -inf,-15993,-475 17:44 VanessaE wow, I haven't see THAT error in ages 17:46 n4x uhh, wasn't that supposed to be fixed? 17:46 VanessaE so I thought 17:46 VanessaE the player says he's just mining straight down using water to control his descent speed 17:47 VanessaE could it be an artifact of nrzkt's pull that I'm testing? 17:47 n4x do you have a link to it? 17:47 VanessaE um 17:47 VanessaE #2119 17:47 ShadowBot https://github.com/minetest/minetest/issues/2119 -- Rewrite client/server packet handling by nerzhul 17:48 VanessaE ah, guessed it right on the first try :D 17:53 nrzkt i don't think 17:53 VanessaE ok 17:53 VanessaE just that old bug then 17:53 nrzkt packets are read as server sent to its client 17:55 nrzkt and as client sent to server, but if you have the right packet (opcode) i can look at commit to verify if read is correct, but PR doesn't show that read datas are wrong 17:55 VanessaE don't worry about it then. 17:56 VanessaE it's probably just that same bug that's just remained buried for a long time, just now showing up again. coincidence. 17:57 nrzkt oky :) 18:00 VanessaE so to that end, no complaints so far 18:00 VanessaE (unless people are just opting not to tell me) 18:15 hmmmm https://github.com/minetest/minetest/commit/839c4a99cddcacdc19dee42286b7029c4c1e7800 18:15 hmmmm really? 18:15 hmmmm he's fixing a bug so that makes it okay 18:17 hmmmm for fucks sake 18:17 hmmmm and the commit before that one too, after i explicitly said to not fix that 18:18 rubenwardy What is that for? -01 18:20 hmmmm there solved 18:20 hmmmm hard reset my own commit on my local repo, rebase to upstream, revert his two wacky commits, then cherry pick my most recent commit 18:22 T4im rubenwardy: optimization flags, -O0 (oh-zero) means no optimization, and the higher the number the more optimizations are done (a set of predefined ones see http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html) 18:22 rubenwardy Spaces are used here, hmmmm: https://github.com/minetest/minetest/commit/c994b7aa24d7a71d3e71c3f4f757cf7287515968#diff-b61e3e14dbe70423022f4ee065fa3f94R20 18:23 rubenwardy T4im, I see. 18:23 hmmmm grrrrrrrrr 18:23 hmmmm my ire 18:24 hmmmm sware to god 18:25 hmmmm I should figure out how to add a commit hook to github that won't allow pushes to upstream unless it passes a style checking script 18:25 hmmmm this way crap won't be able to get it until it's done the right way 18:25 T4im tried that, its sad how much even a charset detection script slows commits down :/ 18:25 hmmmm s/it/in/ 18:26 T4im (to prevent those windows users from littering stuff in anything but utf8/ascii) 18:26 hmmmm yeah 18:26 T4im whitespaces are half as bad as having codepage-something-something stuff in there :P 18:27 hmmmm non-utf8, trailing whitespace, not ending a file with a newline, ending a file with too many newlines, incorrect indentation (with some tolerance logic built in to allow exceptions) 18:27 hmmmm detecting use of "and" or "or" operators within C++ source files 18:27 hmmmm crap like that 18:27 hmmmm all these dumb, low level errors that seem to pop up constantly 18:27 T4im hmm: commit hooks are too slow for that… 18:28 T4im hmmmm: use continues integration for that 18:28 T4im :)D 18:28 hmmmm we doooo 18:28 T4im well.. is travis configured to throw errors on that stuff? 18:28 hmmmm but merging isn't contingent upon CI pass/fail 18:28 hmmmm i'm afraid that would definitely slow things to a crawl if it hadn't before 18:29 hmmmm thanks for noticing that, rubenwardy. 18:30 rubenwardy Well come 18:30 rubenwardy * Welcome 18:30 hmmmm the problem with using -O0 (otherwise I would've switched it already) is that it's TOO damn slow for development of most tasks 18:30 T4im plus optimizations can create weird bugs 18:30 T4im the wrong ones anyway 18:31 hmmmm if i didn't have a top-of-the-line processor i wouldn't be able to run minetest with -O0 at all 18:31 T4im oh wait missread you… shouldn't -O0 actually decrease compile time? 18:31 hmmmm yeah, it would 18:31 hmmmm i've been in that place 18:32 hmmmm before i upgraded to what i have now, i was developing minetest on my athlon 64 3500+ ... that didn't work out particularily well 18:32 sfan5 hm 18:32 hmmmm so a decent semi-solution would be to add another level of debugging 18:32 sfan5 couldn't gcc create a .text.debug additionally to .text that gets used when you run an app in gdb 18:33 hmmmm -O0 -g would be the true debug setting, -O1 -g would be good for mapgen development etc. 18:33 hmmmm where you need the speed and you need a rough idea of where crashes are occuring 18:33 hmmmm -DCMAKE_BUILD_TYPE=Semidebug 18:36 sfan5 how about -DCMAKE_BUILD_TYPE=RelWithDebInfo 18:40 hmmmm release is -O3 18:40 hmmmm release with debug info would logically be -O3 -g which is absolutely useless 18:41 sfan5 CMAKE_CXX_FLAGS_RELWITHDEBINFO=-O2 -g -DNDEBUG 18:41 sfan5 thats what my cmake says 18:41 hmmmm oh, RelWithDebInfo exists already 18:41 hmmmm but it's -O2 so it's kind of useless 18:43 kahrl there's no reason it couldn't be changed 18:44 hmmmm I don't really like the name 18:46 hmmmm is RelWithDebInfo a CMake-specific thing? I can't see it referenced anywhere except in the cmakecache.txt and readme 18:46 sfan5 yes, cmake does that 18:46 sfan5 there is also MinSizeRel which uses "-Os -DNDEBUG" 18:52 hmmmm can you define your own? 18:54 sfan5 dunno 18:59 kahrl http://www.cmake.org/Wiki/CMake_FAQ#How_can_I_extend_the_build_modes_with_a_custom_made_one_.3F 18:59 hmmmm also 18:59 hmmmm I tried reading how to specify a certain compiler to use with cmake, the answer I got was from the cmake mailing list telling me to simply set my CC and CXX environment variables 19:00 hmmmm did that, no dice. anybody know if I'm doing something wrong? 19:02 * shadowzone pokes sapier 19:02 sapier shadowzone: what's up? 19:03 shadowzone I am testing the android release and I was wondering how I'd run the .apk 19:03 Calinou enable Unknown Sources? 19:06 shadowzone nevermind, I figured it out 19:06 sfan5 hmmmm: tried rm -R CMakeCache.txt CMakeFiles 19:06 sfan5 setting $CC and $CXX works for me 19:06 hmmmm I need to delete CMakeFiles too? 19:07 hmmmm ahh 19:07 hmmmm that would do it.. CompilerIdCXX 19:08 hmmmm thanks sfan 20:04 hmmmm :/ 20:04 hmmmm I can't use gcc 4.8 with minetest or so it seems 20:05 hmmmm it won't use the correct libstdc++ directory 20:05 kahrl 4.8.3 works here 20:06 hmmmm yea, you're not using freebsd though 20:06 hmmmm :p 20:06 kahrl indeed ;) 20:06 hmmmm I need it to link against /usr/local/lib/gcc48/libstdc++.so.6 somehow 20:06 hmmmm argh 20:07 hmmmm I am aware of LD_LIBRARY_PRELOAD, before you mention that, but it's obviously hacky 20:08 kahrl I won't mention anything because I have no clue about the bsds 20:09 hmmmm so.. 20:09 hmmmm - why does the -Wno-set-but-unused-variable option not get set when I try to compile with gcc 4.8? the code in theory should work but I guess it's broken 20:10 hmmmm - why is that warning disabled at all? it seems all the warnings it produces are legitimate enough 20:10 kahrl cmake filters some compiler flags depending on the compiler but iirc it's badly documented how that works 21:24 hmmmm yeah 21:25 hmmmm so anyway I doubt this works under MSVC 21:26 hmmmm a lot of this makefile seems arbitrary - like why is -fomit-frame-pointer not defined for APPLE? 21:28 hmmmm also i'm not sure if this is a mistake, but CXX flags aren't custom set for RELEASE under MSVC 22:17 hmmmm too bad gcc GNAT is only for ada 22:57 est31 hello, how can I activate the lua profiler? 22:57 est31 does it send the results to the client or into a file 23:36 ShadowNinja est31: Minetest doesn't have a built-in Lua profiler. Use an external Lua profiling tool. 23:37 est31 ok thanks didnt kno 23:37 est31 w 23:41 VanessaE ShadowNinja: sure it does. 23:41 VanessaE sapier added it recently. 23:41 ShadowNinja VanessaE: Oh, that thing... 23:41 VanessaE yeah 23:41 VanessaE I just don't remember how to use it 23:41 ShadowNinja I'm not sure what that does or if it's actually helpful. 23:42 VanessaE I guess it's not quite valgrind but it measures CPU time taken by different mods and engine calls 23:43 VanessaE it's how I was able to get the speed and latency of plantlife down to where it is 23:43 VanessaE but sapier did all the profiling :) 23:45 ShadowNinja est31: There's a thing that meassures time from some callbacks. Other callbacks won't work though. You can enable it with enable_mod_prifiling = true or something like that. 23:46 VanessaE I guess you'll have to measure by reading os.clock, est31 .. 23:46 VanessaE or core.get_us_time 23:47 ShadowNinja ^ That works too if you know where the bottleneck is or just want to see the difference that an optimization makes. 23:48 est31 I know it is in one method 23:49 est31 why core.get_... not minetest.get_... 23:50 VanessaE seemed right is all. 23:51 VanessaE (I'm actually a tad unclear on which cases should call for core.*) 23:51 est31 minetest really should still cleanly shut down on lua errors... all clients left knowing 23:51 est31 not knowing 23:51 VanessaE it used to inform the client didn't it? 23:51 est31 not anymore 23:51 VanessaE or at least the client would stop being able to update its yaw 23:51 est31 at least not for the kind of error I got 23:52 est31 thought you meant get_os_time 23:52 VanessaE if you froze up, you knew you disconnected 23:52 est31 was wrong 23:52 ShadowNinja est31: That's mainmenu-only. os.clock works fine. sapier says it's very imprecise on linux, but my experience if that it's plenty precise. 23:52 VanessaE no, us_time 23:53 est31 ok scanning 4.8k blocks takes 21 ms... 23:53 est31 wait wrong channel 23:54 est31 (no core issue) 23:54 VanessaE oh well 23:54 VanessaE it's not like there was a big in-depth discussion going on in here :P