Time Nick Message 01:47 MinetestBot 02[git] 04SmallJoker -> 03minetest/minetest: Menu content tab: Fix clipped description and missing depends (#7703) 136ed9c6f https://git.io/fAzcn (152018-09-07T01:46:58Z) 02:00 Quiark is it possible to reload Lua mod while minetest is still running? for faster test cycle 02:02 Nic_Wow hia 02:02 Nic_Wow Have any of you considered using RIOT instead of IRC for chat?? 02:04 Quiark there is Minetest room on matrix.org 02:14 Nic_Wow ohhhhhhhhhhhhh 02:16 Nic_Wow when you click "community" on "minetest.net" it just has "Overview", "Forum", "Wiki", "IRC", "Subreddit", "Contributor" and, "Server list" 02:19 Nic_Wow @Quiark would you mind sending me the URl? 02:20 Quiark uh, my client doesn't display it but you should be able to find it easily ... also the room is quiet most of the time 02:21 Nic_Wow I couldn't fin it :/ 02:21 Nic_Wow Where would I find it? 02:22 Quiark #minetest-matrix:matrix.org 02:35 ChimneySwift IRC is the official chat for minetest 02:36 ChimneySwift also I don't think it's possible to reload a mod at runtime since they all share the same namespace 02:36 ChimneySwift not at runtime, while running 03:07 aidalgol Wouldn't it make more sense to just use a Matrix<->IRC bridge instead of creating yet another chat room? 03:08 ChimneySwift it would, but I don't think the devs would want a bridge on the channel 03:09 aidalgol You already can join this channel via a bridge. It's completely transparent. 03:09 ChimneySwift it's not like they're official channels anyway 03:09 aidalgol I'm using IRC right now via Matrix. 03:09 ChimneySwift you could, but sending messages from there to here is the issue 03:10 ChimneySwift you can't change nicks on the fly like that, so it looks ugly 03:10 ChimneySwift and it really isn't hard to just join irc if ya need some help n 03:11 ChimneySwift :p 03:11 aidalgol I haven't had any issues. 04:18 Quiark too bad it can't reload the code. Any tips for efficient dev/test cycle? 05:15 ChimneySwift Quiark: I just reload the game a lot lol 05:45 ANAND Quiark: Using minimal instead of MTG would help with loading the game faster. You'd still have to keep restarting the game though :) 13:51 deltasquared what would be the recommended way to build minetest from sources with debug symbols? I did a build of master but the profiling thing I'm doing (based on perf record) is giving me several blocks of [unknown] still 13:52 deltasquared I did try export CFLAGS="-g" beforehand, not sure if that is sufficient 13:52 calcul0n i'd try -g -O0 13:53 deltasquared (it's a "flame graph", wanted to know what was being slow for something I was doing - the current output can be seen here: https://ptpb.pw/CCRI.svg ) 13:53 calcul0n ho well, that's the default, not sure it will change anything :) 13:54 deltasquared gcc man page suggests -Og for some optimisations but better debugging, so I'll play around with it a bit. 13:55 deltasquared ... 13:55 deltasquared hmm, why isn't it... bah. rm -rf and retry 13:55 deltasquared there we go. 13:55 deltasquared aaaaand wait another ten minutes. 14:14 deltasquared ok, still having difficulties here, even after compiling with CFLAGS="-g -Og" and verifying the options were set in the build files. https://github.com/brendangregg/FlameGraph is the tool I was using, capture data was via "perf record -F 100 -g -p $minetest_pid". it still seems to be showing blocks of "unknown" - https://ptpb.pw/5Dsk.svg - might this be due to something going on in lua? (but then that doesn't seem right, there's some 14:14 deltasquared irrlicht stuff going on called by the big "[unknown]" block in turn called by the "minetest" block at the bottom) 14:16 deltasquared would anyone be capable of assisting me with debugging of these prolifer attempts? all I wanted to see was what was causing everything to slow down in a particular use case... 14:28 Ingar dependencies that don't have debug code ? 14:28 Ingar I was goign to ask nvidia, but I see intel libs ;) 14:33 rubenwardy The width is time 14:33 rubenwardy Having tall things isn't an issue as long as they're not wide 14:33 rubenwardy So you want to reduce the width of things 14:33 deltasquared Ingar: it's possible, I guess. i965_dri.so is def. there... maybe that's in mesa code, though I'd expect there to be intervening stack frames between "minetest" and the calls to the driver module 14:33 deltasquared rubenwardy: yeah I'm aware 14:33 rubenwardy That being said, tall things run the risk of stack overflow 14:33 rubenwardy And are probably inefficient maybe 14:33 rubenwardy But heh 14:34 rubenwardy Oh wait 14:34 rubenwardy Nevermind, misunderstood 14:34 deltasquared rubenwardy: can you see the [unknown] blocks? I'm trying to figure out what those might be 14:35 deltasquared apparently this is more to do with the "perf record" invocation, as flamegraph isn't doing anything with those, just leaving them be 14:35 deltasquared I did try doing a record using dwarf debugging info for stack frames, but the resulting data file is now causing "perf script" to core dump :/ 14:36 deltasquared ... and "perf report" it looks like.... maybe I'll just turn down the sample interval a bit 14:36 deltasquared (I would have thought 100hz wouldn't have been fatal, but oh well) 14:36 deltasquared (no, it's not an OOM condition AFAICT) 14:38 deltasquared ... ok, that seems to have worked, going to have another look now 14:39 deltasquared ... ah, that's a lot different. https://ptpb.pw/P6yI.svg 14:39 deltasquared LAWL there's a function called the_game 14:42 deltasquared hmm, that doesn't actually tell a lot, still a lot of time spend in the driver. hrm 14:44 deltasquared see that's still a bit annoying because it's not telling me what's going on inside the driver >_> 14:45 deltasquared for disclosure's sake, I'm currently trying to obtain some empirical data showing why drawing lots of entities (literally, only the cube drawtype atm, so only what 12 tris per entity?) would bring my FPS to a crawl 14:46 deltasquared counters and stuff in game show it's somewhere in the region of 600 in that area of the world atm and my FPS drops to about 6. which is unfortunate for me because it's kinda central to my use case... 14:47 deltasquared intuition tells me most systems should handle 7,200 triangles per frame quite easily, so I would assume there is something else going on. 14:47 deltasquared I have a hunch what it might be, but simply looking at the profiler output from outside hasn't really confirmed nor denied it yet 14:51 deltasquared all of this is boiling down to: minetest is slow in this particular case, it is seemingly illogical why it should be, and I want to try and help fix it. 14:51 rubenwardy also 14:51 rubenwardy -DCMAKE_BUILD_TYPE=Debug 14:51 rubenwardy for debug flags 14:52 deltasquared rubenwardy: cheers, I didn't think a release build would be the default, but I will remember that one 14:54 sfan5 deltasquared: are you using luajit? that code cannot be profiled 15:01 rubenwardy what even is that svg file 15:01 rubenwardy how is it interactive 15:01 rubenwardy whaaat 15:01 deltasquared rubenwardy: javascript can go in svg, apparently 15:01 deltasquared don't look at me, I just ran the generator! :P 15:01 deltasquared again, it's https://github.com/brendangregg/FlameGraph 15:02 deltasquared it is cool though, no? 15:04 rubenwardy do you have a specific issue you're trying to find the cause of? 15:06 deltasquared rubenwardy: yeah, why drawing hundreds of entities with really simple meshes (namely, the cube visual) is so dang S L O W 15:06 deltasquared my intuition and (admittedly limited) 3D graphics knowledge is telling me this should not be so 15:06 rubenwardy try the entity PR 15:07 deltasquared link? 15:07 deltasquared *opening browser, gis sec* 15:09 rubenwardy can't find it 15:09 rubenwardy here we are: https://github.com/minetest/minetest/pull/6803 15:09 rubenwardy I'm not sure this applies here though 15:09 rubenwardy as it's a cube 15:13 deltasquared rubenwardy: doesn't look like it - it seems to be more changing the mesh up for items as opposed to idk how they're issued for drawing 15:13 rubenwardy well, idk 15:13 deltasquared nor do I >_> 15:14 rubenwardy it's probably doing individual draw calls 15:14 deltasquared OOF 15:14 deltasquared I'd have to look into that. (diving into irrlicht too? how fun) 15:15 deltasquared though from what I've heard around the internets, a drawcall per entity, if that were the case, could be a very viable explaination 15:18 Hijiri shouldn't hundreds of drawcalls be not crippling either 15:18 Hijiri especially if it's not doing a lot of state changes between them 15:19 deltasquared Hijiri: the possibility of state changes being done by say irrlicht is bothering me, hence why I feel the need to go on a source code dive. 15:19 deltasquared superfluous state changes, that is 15:19 Hijiri you could also use apitrace 15:20 deltasquared Hijiri: hmm? 15:20 Hijiri it's a OpenGL debugging tool that will trace all the openGL library calls that happen during a program's executino 15:20 Hijiri sometimes it's hard to read but it will show every OpenGL thing that happens 15:21 Hijiri so if you can see the state switching in there you might be able to confirm it before having to dive in the source code 15:21 deltasquared however, I do feel you are right, it's not like we can currently set custom shaders for entities, therefore it *should* be possible to arrange all the vertices of all visible entities into a single batch and chuck that in one go. (though, it does raise the question... does irrlicht set a translation uniform for instance... yeah I had better have a look at that apitrace thing) 15:21 Hijiri I didn't say that 15:21 Hijiri I said that one draw call per entity shouldn't be so bad as to reduce FPS to 6 15:22 Hijiri as long as context switching isn't happening between 15:22 Hijiri arranging all the vertices together would probably reduce performance because you would need to send the vertices to the GPU every frame 15:23 Hijiri deltasquared: are these hundreds of entities collidable? 15:23 Hijiri I've never had performance problems from using pipeworks with a lot of "item position marker" entities floating around the pipes 15:24 Hijiri However if it's a lot of collidable entities, it could be slowing Minetest down because of how entity collisions are calculated 15:25 sovetskiy rubenwardy, do work with entities described in your modding book? 15:28 Hijiri deltasquared: entity collision checking is very slow if you have lots of entities that can collide with other entities 15:28 Hijiri If those entities are collidable I would set them to not be collidable and see if they still cause FPS drop 15:29 deltasquared Hijiri: I'll try that actually, they are collide-able (that is somewhat the point of my use case, but very well might as well give it a try) 15:31 deltasquared Hijiri: ... no change. setting entity property defaults to physical = false / collides_with_objects = false, but still the same 15:32 Hijiri ok, I guess it's not that then 15:32 Hijiri that's weird though, because I haven't seen the same problems with lots of entities 15:32 MinetestBot 02[git] 04numberZero -> 03minetest-mods/mesecons: Remove tiny (+0.001) selection box oversize 13a4f5ae5 https://git.io/fAgsh (152018-09-07T15:31:49Z) 15:32 MinetestBot 02[git] 04numberZero -> 03minetest-mods/mesecons: Make insulated wires’ selection box fit in the node 139e6eac4 https://git.io/fAgsj (152018-09-07T15:31:49Z) 15:32 Hijiri you could open a github issue, including your hardware and graphics settings if not the default 15:33 Hijiri and maybe a test mod 15:34 deltasquared Hijiri: hah, test mod, I can show you if you want, it's actually something I'm working on atm 15:34 deltasquared I have a test server with it on. would you like to see? (just so everyone doesn't know I'm mad >_>) 15:35 deltasquared err s/know/think/ 15:35 Hijiri ok, sure 15:35 deltasquared give me a sec, updating it 15:36 Hijiri unless the problem is obviously your fault though, I would still open a github issue 15:36 Hijiri I don't know if I'll be able to tell what's wrong just by looking 15:36 deltasquared Hijiri: daconcepts.com 33000 15:36 deltasquared Hijiri: and yes I will consider that 15:40 Jhalman ##minetest_ctf 15:40 Jhalman join ##minetest_ctf 15:46 deltasquared Hijiri: can you come back? I goofed with the lua command. that was slightly *too* many of them. 15:51 Hijiri deltasquared: sorry, had to leave the game 15:51 Hijiri I'm at work currently 15:52 deltasquared Hijiri: 's fine 15:55 deltasquared Hijiri: guess I'll prepare a minimal test case for the github issue then 22:52 NicWow so what I say here shows up in game 22:52 NicWow (wrong chat)) 22:52 sfan5 what 22:53 Hijiri probably thought this was an IRC channel bridged with a minetest server? 22:54 piesquared No, he is on a different channel thats bridged. 22:56 Hijiri I mean that he thought that this channel was that channel 23:18 NicWow out of curiosity, do can you make an afk fish farm in Minetest (I played minecraft years ago) 23:25 Jordach no 23:25 Jordach there is no fishing 23:31 calcul0n there are some fishing mods, but afaik none let you farm them 23:32 calcul0n i mean you must fish by hand 23:39 MinetestBot 02[git] 04paramat -> 03minetest/minetest: Particles: Make collision with objects optional (#7682) 13766fb7b https://git.io/fAgx5 (152018-09-07T23:38:35Z) 23:55 paramat there's no fishing in minetest game, but a mod could do it, or a different game