Time Nick Message 00:01 VanessaE either way, even the basic shaders DO slow things down enough to not be worth the range/fps loss 00:03 VanessaE hmmmm: opinions? 00:06 chrisf VanessaE: what GPU is this on? 00:07 VanessaE chrisf: AMD R9 280X with current proprietary blob 00:07 VanessaE (well as current as my distro provides anyway) 00:08 chrisf mt and/or the driver is doing something very wrong :) 00:08 VanessaE you think so? 00:08 VanessaE because at this point I don't know what it really should be doing. 00:09 VanessaE gregorycu: "fixing" how? 00:11 VanessaE hmmmm: is there a chance of getting some kind of minetest-specific benchmark for graphics performance? 00:12 VanessaE frankly trying to fly around a map is just a shitty way to do it 00:12 chrisf VanessaE: if you look at it with something like radeontop, i suspect you'll find the GPU is almost idle. 00:13 VanessaE chrisf: that's what I suspected as well 00:14 * VanessaE tries.. 00:17 VanessaE "almost" is an understatement. 10-24 percent on the Graphics Pipe, while doing 57 fps @ 154m view. 00:19 chrisf got to feed it more efficiently 00:20 VanessaE any of these other stats useful to you? 00:21 chrisf not really, you'll be cpu-limited, in both mt and the driver 00:21 VanessaE yep, one CPU core maxed out with MT just sitting there looking out over the test terrain (typical mapgen v6 stuff, a few dozen default trees. nothing special) 00:22 kahrl how about we add an opencl bitcoin miner to max it out? :D 00:22 VanessaE haha 00:22 VanessaE GPU mining isn't profitable anymore (even for altcoins) :P 00:22 chrisf VanessaE: going to take serious engine work 00:23 ShadowNinja VanessaE: But every running Minetest client mining could be profitable. 00:23 VanessaE ShadowNinja: heh, I suppose :) 00:28 chrisf VanessaE: the perf difference when enabling shaders is interesting... note that there's no such thing as 'not using shaders' in the hardware, for >10y now -- if you use the fixed function pipeline, the driver is generating a shader to emulate the old behavior. you can certainly end up with more validation overhead though, if you're horribly cpu-limited and not batching effectively. 00:28 VanessaE interesting. 01:46 hmmmm VanessaE, I was just thinking maybe a minetest demo mode 01:47 hmmmm just about every other game in the universe has that so they can objectively benchmark and test for performance and graphics regressions 01:47 hmmmm i've been using that phase "just about every other game" a lot lately 01:47 VanessaE yeah, that's kinda what I was thinking 01:47 hmmmm minetest is so freaking subpar compared to others 01:48 VanessaE well it's true really 01:48 VanessaE "subpar" is maybe too strong a word here 01:48 hmmmm because all of the development attention has been going toward modding and crap like that 01:48 hmmmm we got distracted 01:50 Brains It makes a really crappy floor wax too. 01:50 hmmmm in any case i suppose something quick could be hacked together with AutoIT to send the same exact input on the same exact map at the same exact time 01:51 VanessaE hmmmm: that's only a small part of the problem - the big part is commanding the engine to load up specifically the same set of blocks, also, out to some ridiculous distance (750-1000 nodes out, say) 01:54 VanessaE that way you can be sure that in even the most extreme cases, the loaded map will be able to exceed the fog limit. 01:59 VanessaE that's another thing that needs fixed, btw - mapblocks not always reaching the fog. 02:00 VanessaE but that's an olllllllld glitch. been broken since 0.4.2 at least (I didn't go back further) 02:09 gregorycu VanessaE: Making it faster 02:09 VanessaE gregorycu: I don't suppose you're gonna decouple it into a separate thread/multiple threads also? :) 02:09 gregorycu It's already its own thread 02:10 gregorycu I'm hoping to make it so fast we don't need to consider multiple worker threads 02:10 VanessaE hm, well I just mean how it always seems to hang the client for that split second it takes to generate new meshes 02:10 VanessaE e.g. when loading terrain 02:11 gregorycu Your client shouldn't be hanging 02:12 VanessaE well, s/hang the client/sags the client's FPS/ 02:13 VanessaE one thing I've always tried to make a point of is to not bother looking at the FPS gauge when taking a benchmark, until I'm sure all the available terrain in my view has been loaded,. 02:13 gregorycu Some of that is unavoidable 02:13 gregorycu And some of that may be a problem with the graphics card 02:13 gregorycu Loading meshes 02:14 gregorycu Like, actually loaded into the card 02:14 chrisf gregorycu: how are you doing the upload? 02:14 VanessaE three different cards, so more likely the driver would be at fault there if anything outside MT is 02:14 gregorycu Which upload? 02:14 chrisf gregorycu: of the VBO contents 02:15 VanessaE what VBO contents? :P 02:15 gregorycu I'm not sure that's happening 02:15 gregorycu Wait 02:15 VanessaE minetest doesn't support VBO 02:15 gregorycu Are you the guy that works on graphics drivers? 02:16 chrisf gregorycu: i am 02:16 gregorycu Ok, I think we've had this discussion before 02:16 chrisf gregorycu: what is it doing then if pre-vbo, display lists? 02:16 gregorycu Or, you and celeron55 02:16 chrisf yeah ive talked to celeron55 about some ideas 02:16 VanessaE gregorycu: RealBadAngel also does gfx stuff when he's around 02:16 VanessaE (and has time) 02:16 gregorycu I don't know that end of the equation, I'm looking at the thing that calculates the meshes 02:17 gregorycu The mesh then gets pushed into a queue 02:17 gregorycu I have no idea what happens in the main thread when it reaps that queue 02:18 chrisf i suppose i should actually read minetest's code and find out :) 02:47 chrisf gregorycu: oh, yikes -- mt leaves the placement hints as EHM_NEVER, so you're drawing from client memory constantly 02:47 gregorycu Surely it's not that simple 02:47 VanessaE ew? 02:47 * chrisf is in the guts of irrlicht now 02:47 gregorycu Maybe not so simple ;) 02:48 gregorycu Yeah, I don't do graphics programming, so you're speaking french to me 02:48 gregorycu I'll take it from your tone that it's bad 02:48 chrisf this is terribad :) 02:48 gregorycu These are the kind of optimisations that kick arse 02:49 gregorycu Um... Is the fix easy? 02:49 chrisf well, you can just set the hints, but there are comments in the mt source suggesting that it's leaky to do that 02:50 gregorycu :/ 02:50 gregorycu Tell me what to change, and I'll try it 02:53 gregorycu I think I accidentially found it 02:53 gregorycu m_mesh->setHardwareMappingHint(scene::EHM_STATIC); 02:53 gregorycu (I literally wasn't looking for it, I was looking at something else) 03:03 chrisf gregorycu: that's it, but apparently it has been tried before, and there were reasons why it didnt stick 03:03 gregorycu Apart from the resource leakage? 03:03 chrisf that ^ 03:04 chrisf if it's actually leaky, either mt or irr is broken though 03:06 gregorycu I'll check it out 03:06 chrisf it looks like your meshes end up with tons of MeshBuffers attached though, too, which will make things worse. 03:06 gregorycu Thanks for your help 03:06 gregorycu Aren't they consolidated? 03:06 chrisf each of them translates to two GL buffer objects (vertices + indices) 03:07 chrisf if they are consolidated somewhere, ignore that, but i didnt see where it was happening in a brief look 03:07 gregorycu ok 03:08 chrisf i dont know what the irr support is like for sharing buffers, but you'd also be MUCH better off suballocating out of a smaller number of large buffer objects 03:13 gregorycu I seem to recall that it doesn't support it 03:22 VanessaE and there's the optimization export now :) 03:23 gregorycu What? I was here the whole time... 03:23 * VanessaE looks at Zeno` 03:23 gregorycu Oh 03:23 * gregorycu walks to the corner 03:23 Zeno` oh oh 03:23 VanessaE you're both experts :) 03:23 Zeno` exports* 03:53 gregorycu That's very sweet VanessaE 03:54 gregorycu I plan to fix everything, apart form the graphics being slow 03:54 gregorycu I'm letting Zeno do that 05:27 Zeno` gregorycu, return ContextIgnoreNode; <--- that's not very safe 05:27 Zeno` i.e. because the returned reference is not const 05:28 gregorycu That's problematic... 05:50 paramat hi hmmmm, good progress with v7 recently, this is ready for review and/or merge #2161 05:50 ShadowBot https://github.com/minetest/minetest/issues/2161 -- Mgv7: Improve rivers and remove abysses. Speed optimise perlinmap calculations. by paramat 05:56 gregorycu Apparently I suck at multidimentional array calculations 07:35 gregorycu It someone has fucked up these calculations, there will be hell to pay 07:37 * VanessaE wonders if gregorycu is really another of the core devs in disguise or something :P 07:37 gregorycu I haven't slept and I've spent 4 hours trying to find a bug in my calculations 07:37 VanessaE oh heh 07:38 gregorycu Assuming the bug is in my calculations 07:38 gregorycu And not someone else's 10:34 celeron55 chrisf: there's a patch around that enables actual usage of VBOs, but it only sometimes increases performance because the buffer objects are so small that the limiting factor ends up being the amount of them 10:34 celeron55 and yes, there are issues in how irrlicht thinks meshes should be used and how MT wants to use them 10:36 celeron55 i don't even remember anymore what the cause of the memory consumption in that thing is 11:54 mrlinx Anyone here could help me out with Windows building? I'm fairly experienced with VS/C++ but so much with CMake. Right now, I'm getting a hard time with Cmake finding SQlite3. 12:12 mrlinx anyone? 12:14 jin_xi there will be an answer but it might take some time. maybe try asking on #minetest too 12:14 jin_xi i personally dont know about VS 12:18 kilbith mrlinx, come back later here and ask to ShadowNinja. 12:19 kilbith or sfan5 12:31 Zeno` Any objections to #2153? 12:32 ShadowBot https://github.com/minetest/minetest/issues/2153 -- Fix colorize using the color alpha literally and as the ratio to interpolate the colors with. by TriBlade9 12:33 Zeno` TriBlade9, you fixed the formatting of everything except for the added line 1704 and 1705 :p 12:46 TriBlade9 Dam 12:47 TriBlade9 Wait, Zeno`, What's wrong with 1704 and 1705? 12:48 Zeno` i=0 12:48 Zeno` or whatever it is... should be i = - 12:49 Zeno` or whatever it is... should be i = 0 12:49 TriBlade9 Soo, a space between i and = and assignment? 12:50 TriBlade9 That's gonna be a pain to fix in the whole file xL 12:50 Zeno` well, yes. i.e. for (u32 y0 = 0; y0 < size.Y; y0++) 12:50 Zeno` nah, just change it for the new code 12:50 TriBlade9 Oke 12:51 TriBlade9 'mitting 12:52 Zeno` normally the reformatting effort is restricted to the function you're working on 12:53 Zeno` unless it's a formatting-specific PR ;) 12:53 Zeno` but that's ok 12:53 TriBlade9 Having connection troubles -_- 12:53 Zeno` (the function/functions and stuff nearby) 12:54 Zeno` it makes parsing the diffs easier ;) 12:55 TriBlade9 I apologize, I thought you said it was okay to format the whole file. 12:55 TriBlade9 Committed and pushed. (force-update) 12:57 SudoAptGetPlay Hi guys is there a lua event which returns the player object (or name) of the player u are pointing at ? 12:57 Zeno` and pushed 13:01 TriBlade9 Thanks Zeno`, I can now get back to work on a clothing mod :3 13:01 TriBlade9 For now gonna head to bed though, bye! 13:36 SudoAptGetPlay Can I use on_rightclick() on a player object ? 19:40 sfan5 any of the devs here? 19:43 ShadowNinja sfan5: No. 19:44 sfan5 i see 19:44 sfan5 ShadowNinja: can i merge this https://github.com/minetest/minetest/pull/2165 19:44 ShadowNinja sfan5: LGTM. 19:45 sfan5 i guess that means yes 19:45 rubenwardy why no video game keyword? 19:46 sfan5 Receiving objects: 15% (4519/29056), 6.88 MiB | 126.00 KiB/s 19:46 sfan5 *sigh* 19:47 ShadowNinja rubenwardy: Category=Game. 19:47 rubenwardy Ah 19:48 rubenwardy I see 23:12 VanessaE sfan5: can you make a new build?