01:41 < bridge> [teeworlds] usually i go with `sv_register 0` in debugging 01:49 < bridge> [teeworlds] i usually go with ``debug 1`` in debugging :troll: 01:53 < bridge> [teeworlds] if you go debug in compilation you go dbg_dummies 01:53 < bridge> [teeworlds] dbg_dummies are the most usefull shit i have ever seen 01:55 < bridge> [teeworlds] +1 02:10 < bridge> [teeworlds] I'm writing golang stuff 02:10 < bridge> [teeworlds] that gets master server data 14:19 < bridge> [teeworlds] debugging is kinda hard 15:21 < bridge> [teeworlds] does anyone know how to build the masterserver with debug flags properly, as it doesn't seem to be printing any debugging at all 15:21 < bridge> [teeworlds] ... 15:22 < bridge> [teeworlds] `cmake -DCMAKE_BUILD_TYPE=Debug -DDEV=On ..` doesn't seem to work? 15:25 < bridge> [teeworlds] ._. I might be dumb 😮 16:08 < bridge> [teeworlds] what do you mean, printing debugging? 16:56 < bridge> [teeworlds] I'd like to retrieve the server list from the master server utilizing go, but it fails or seemingly nothing happens and I'd like to debug that 16:59 < bridge> [teeworlds] the master server doesn't output anything, neither in debug nor in release mode 16:59 < bridge> [teeworlds] your best bet is probably using wireshark to monitor the port you're communicating on 16:59 < bridge> [teeworlds] well, it seems to output stuff when servers register to it 16:59 < bridge> [teeworlds] but nothing when a client requests the list, seemingly 17:00 < bridge> [teeworlds] is the client part also handled in masterserver.cpp? 17:00 < bridge> [teeworlds] yes 17:00 < bridge> [teeworlds] https://github.com/teeworlds/teeworlds/blob/44a0260372d170cdd51b78418708e506567f5513/src/mastersrv/mastersrv.cpp#L390-L407 17:00 < bridge> [teeworlds] this is the part where the masterserver sends the list 17:01 < bridge> [teeworlds] wait 17:01 < bridge> [teeworlds] it does have a debug output there (even in release mode) 17:01 < bridge> [teeworlds] sorry, I misremembered 17:01 < bridge> [teeworlds] dbg_msg, shouldn't it usually just print when built with debug flags? 17:02 < bridge> [teeworlds] n 17:02 < bridge> [teeworlds] o 17:02 < bridge> [teeworlds] oh 17:02 < bridge> [teeworlds] they always print 17:03 < bridge> [teeworlds] is it possible to work with multiple layers at once in map editor? 17:03 < bridge> [teeworlds] https://cdn.discordapp.com/attachments/490150878934990850/668485745115267134/unknown.png 17:03 < bridge> [teeworlds] looks like 17:03 < bridge> [teeworlds] but how 17:04 < bridge> [teeworlds] check where `pEditLayers` is set 17:04 < bridge> [teeworlds] https://cdn.discordapp.com/attachments/490150878934990850/668485945661718549/unknown.png 17:04 < bridge> [teeworlds] i guess shift it is 17:05 < bridge> [teeworlds] but idk how to do it exactly 17:05 < bridge> [teeworlds] in ddnet you can press shift and them click the layers you want to edit and select multiple ones 17:05 < bridge> [teeworlds] in vanilla i dont get anything happening while pressing shift 17:16 < bridge> [teeworlds] hm seems like its this area shift draggy thing and vanilla does not support multi layer editing but i have no clue what it is looping over then 18:29 < bridge> [teeworlds] i have put some work into the textrenderer. i basically added a caching mechanism and made a few general optimizations 18:29 < bridge> [teeworlds] i could use some testers with different hardware 😄 for me it gives + 5-40% fps increase on an nvidia gpu and + 5-20 % on an intel igpu. in extreme cases (serverbrowser + console) it can even go up to +80% 18:29 < bridge> [teeworlds] just to mention: when you are already close to the gpu limit there won't be major improvements (e.g. 4K on an igpu) 18:29 < bridge> [teeworlds] for anyone who is interested... code and artifacts are here: 18:29 < bridge> [teeworlds] https://github.com/axblk/teeworlds/tree/vbo 18:44 < bridge> [teeworlds] nice thanks @redix 18:44 < bridge> [teeworlds] github artifacts are bae 18:44 < bridge> [teeworlds] @redix can you explain how this differs from the similar-sounding (to me, I don't know much about graphics) https://github.com/ddnet/ddnet/pull/861 ? 18:45 < bridge> [teeworlds] @ChillerDragon add them for ddnet0.6? 🙂 18:45 < bridge> [teeworlds] 0.6 in 2020 xd 18:45 < bridge> [teeworlds] yea but was thinking about it @heinrich5991 18:46 < bridge> [teeworlds] @heinrich5991 it only requires opengl 2.1 and you can easily enable the caching+batching for all texts in tw 18:46 < bridge> [teeworlds] i think in ddnet the textcontainer is only used for the chat 18:46 < bridge> [teeworlds] and the opengl 3.3 implementation switches shaders too often =\ 18:48 < bridge> [teeworlds] what does that mean? "switching shaders too often" 18:48 < bridge> [teeworlds] aren't shaders usually static for the runtime? 18:49 < bridge> [teeworlds] it basically uses different shaders for everything, so you have a lot pretty expensive state changes 18:50 < bridge> [teeworlds] forgive me my curiosity: what is everything, what does it e.g. have different shaders for? 18:50 < bridge> [teeworlds] I could imagine: tilemaps 18:50 < bridge> [teeworlds] end of enumeration 😛 18:51 < bridge> [teeworlds] https://github.com/ddnet/ddnet/tree/master/data/shader 18:51 < bridge> [teeworlds] no clue why so many are used 😄 18:52 < bridge> [teeworlds] usually that's just fine since you batch all draw calls per shader together... the tw rendering system does not 😄 18:55 < bridge> [teeworlds] in general: it's no crucial since tw basically runs on a toaster... but it neither helps performance =\ 18:56 < bridge> [teeworlds] but the performance is better for maprendering since it uses buffering on the gpu 18:56 < Oy> opengl 2.1 should be alright hardware wise 18:58 < bridge> [teeworlds] comparison with ddnet: 750 fps vs 1300 fps in the serverbrowser on my nvidia card 😄 19:00 < bridge> [teeworlds] which is which? 19:01 < bridge> [teeworlds] ddnet 750 19:05 < bridge> [teeworlds] seems like ddnet only uses the text container for a few ingame elements but not for the menus 19:06 < bridge> [teeworlds] hm ok 19:07 < Oy> performance increases a lot in the editor when tile information is shown 19:09 < bridge> [teeworlds] i didn't read all the code but it seems like you have to use the textcontainer explicitly in ddnet... so you have to add single elements 19:09 < bridge> [teeworlds] my approach just records text draw calls, batches them together and just updates the gpu buffer when something changed 19:11 < bridge> [teeworlds] btw: you can disable the buffer with gfx_text_cache 0 19:12 < bridge> [teeworlds] should still be faster than 0.7.4 since it has lower overhead 19:16 < bridge> [teeworlds] humm is it me or i notice no changes 19:18 < bridge> [teeworlds] uh well i have better fps on srv browser 19:18 < bridge> [teeworlds] compared to gamer client 19:18 < bridge> [teeworlds] well it depends on your hardware... and how much text it shown on screen 19:18 < bridge> [teeworlds] with an intel hd 620 on wqhd i only get +5 % 19:18 < bridge> [teeworlds] in 1080 it's way more 19:19 < bridge> [teeworlds] 0.7.4 and gamer i get 400-500fps servers page 19:19 < bridge> [teeworlds] with ur client 1k 19:19 < bridge> [teeworlds] 👍 19:20 < bridge> [teeworlds] ati radeon gpu 19:20 < bridge> [teeworlds] rx580 19:22 < bridge> [teeworlds] and around +100-200 fps ingame 20:40 < bridge> [teeworlds] with gfx_finish 0 i get 1900 fps in the server browser :O 20:40 < bridge> [teeworlds] i thought this was 0 by default... 20:41 < bridge> [teeworlds] `gfx_finish`? 20:42 < bridge> [teeworlds] it waits until opengl finished the current frame 20:42 < bridge> [teeworlds] ddnet has 0 by default 20:52 < bridge> [teeworlds] 😮 20:54 < bridge> [teeworlds] didn't know about that lol 21:20 < bridge> [teeworlds] I don't understand what that means 21:35 < bridge> [teeworlds] it blocks the thread until all opengl operations you submitted are completely executed... the cpu waits for the gpu to finish all work. it's for example useful to determine how much time certain operations on the gpu took