00:01 <+bridge> [ddnet] whats the difference in nightly build? (i still have the spikes) i felt the game more tough 00:05 <+bridge> [ddnet] do u get lagspikes on older clients 00:05 <+bridge> [ddnet] nightly build just has the new features still in development 00:09 <+bridge> [ddnet] yes i do 00:10 <+bridge> [ddnet] then it might not be a problem with the client and rather a problem with your specific computer or your internet 11:24 <+bridge> [ddnet] complete reinstall couldnt solve the spike lags also. its sure now that the problem is in my pc 11:52 <+bridge> [ddnet] i found the source of my subtly stuttering image 11:53 <+bridge> [ddnet] i capped `cl_refresh_rate` to 300 (for my 144 hz monitor) 11:53 <+bridge> [ddnet] i now have it at 500 and my image is smooth 11:53 <+bridge> [ddnet] dont think that this is how it should be though 11:54 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/1921 wow i even already had an issue for this were i said that i have it at 500, apparently set it to 300 at some point o.o 11:54 <+bridge> [ddnet] #1921 11:54 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/1921 11:56 <+bridge> [ddnet] for smooth gameplay make it 0 11:56 <+bridge> [ddnet] better only cap gfx_refresh_rate 12:04 <+bridge> [ddnet] yeah, 0 is also the default because these slight stutterings are annoying and hard to track down 12:15 <+bridge> [ddnet] ah yeah i meant `gfx_refresh_rate` 12:37 <+bridge> [ddnet] gfx_asyncrenderold or smth like that on? 12:38 <+bridge> [ddnet] maybe ur GPU doesnt like swapping between throttling and fullspeed 12:45 <+bridge> [ddnet] `gfx_asyncrenderold` was on for me, though switching it off didnt seem to do much 12:46 <+bridge> [ddnet] that should be on 12:47 <+bridge> [ddnet] we only renamed it because the old gfx_asyncrender defaulted to 0, but setting it to 1 is better 13:01 <+bridge> [ddnet] yeah true 😄 13:02 <+bridge> [ddnet] well if you want to find the issue, the best idea is probs to monitor clock speeds temperatures etc 14:11 <+bridge> [ddnet] Can we document all the different ways of throttling and it's effects? 14:12 <+bridge> [ddnet] People ask me about this stuff all the time and I keep telling them I have no idea 14:12 <+bridge> [ddnet] A framerate cap that's well above the monitor refresh rate should never ever cause stutters 14:13 <+bridge> [ddnet] I think we have like 4 different settings that essentially throttle the game in some way 14:18 <+bridge> [ddnet] I am interested in getting the game to run more smoothly on old underpowered hardware. Any specific settings that make a notable difference? 14:18 <+bridge> [ddnet] a better pc 14:19 <+bridge> [ddnet] What is the problem you see 14:20 <+bridge> [ddnet] @YupHio check your graphic settings 14:22 <+bridge> [ddnet] @Learath2 depends heavily on what u call stutter, but stutter can also be caused by hardware even if u only have 10 fps 14:22 <+bridge> [ddnet] @YupHio what hardware 14:22 <+bridge> [ddnet] if it supports GL 3.3 already u can enable that 14:22 <+bridge> [ddnet] turn on entities 14:31 <+bridge> [ddnet] I disagree. If the internal framerate is not synced to the monitor framerate, then you will render some frames when they are quite old, others fresh, so it will stutter 14:32 <+bridge> [ddnet] You should at most get a doubled frame every once in a while, not large stutters tho, no? 14:32 <+bridge> [ddnet] So, vsync on then? 14:33 <+bridge> [ddnet] yeah, should be microstutters 14:33 <+bridge> [ddnet] Personally I've always played with vsync, yes. But some vsync implementations add lots of delay, which is even worse. 14:33 <+bridge> [ddnet] on windows 14:33 <+bridge> [ddnet] linux doesnt have vsync 14:34 <+bridge> [ddnet] well, I have a vsync setting on Linux and it does what it's supposed to 14:34 <+bridge> [ddnet] @YupHio show us your graphic settings 14:34 <+bridge> [ddnet] its still not the same 14:35 <+bridge> [ddnet] on linux its more a flush 14:35 <+bridge> [ddnet] on windows its actually waiting 14:36 <+bridge> [ddnet] As an example of polling frequency way over the hz of the monitor mattering: https://youtu.be/gOQNRvJbpmk?t=537 14:54 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/798550390814932992/dxdiag1.PNG 14:54 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/798550421882011648/dxdiag2.PNG 14:54 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/798550448021831690/dxdiag3.png 14:54 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/798550477268451408/dxdiag4.png 14:55 <+bridge> [ddnet] cheap 9 years old laptop with no graphics card, 6gb of slow old RAM, and a slow asf HDD 14:55 <+bridge> [ddnet] I get minor stuttering on feature-rich maps, like that novice sunny-side map with all the moving quads and music etc 14:55 <+bridge> [ddnet] @YupHio how many fps you get? 14:55 <+bridge> [ddnet] let me baseline that real quick 14:56 <+bridge> [ddnet] and try enabling OpenGL 3 14:57 <+bridge> [ddnet] you could try turning of texts on maps just amke sure u read everyhting beforehand incase it explains how to do a step, you can turn it off with PageUp buton 14:59 <+bridge> [ddnet] turn on entities 14:59 <+bridge> [ddnet] turn off health and score hud 14:59 <+bridge> [ddnet] press "Page Up" on ur keyboard, or in ddnet settings make the overlay entities fully right or left 15:00 <+bridge> [ddnet] Sunny Side Up map actually was 150+ FPS so that's not a good baseline, but also the server was empty which may have an effect. I tried turning on vsync but immediately noticed a slight delay when hooking stuff. 15:00 <+bridge> [ddnet] Sounds good, I will try all that. Thanks guys 15:00 <+bridge> [ddnet] Don't use /showall 15:01 <+bridge> [ddnet] there is no text (except the chat) that is rendered as text(except gl 1.x) 15:02 <+bridge> [ddnet] i mean the backgroudn goes dark and every text (name of map on start, little words) alll of that disapeasrs 15:03 <+bridge> [ddnet] entities 15:03 <+bridge> [ddnet] u mean disabling the design or what 😄 15:08 <+bridge> [ddnet] Ok I enabled OpenGL 3.3, unchecked "Use high DPI", turned off score and healthbar in the HUD, put overlay entities slider to off, and turned off text entities. 15:08 <+bridge> [ddnet] 15:08 <+bridge> [ddnet] Now I am getting 500-800 FPS depending on the map. Night and day difference 15:13 <+bridge> [ddnet] Also I turned off high detail 15:13 <+bridge> [ddnet] Btw the slight delay with vsync is usually so very slight that it isn’t much of a disadvantage, it’s something you can get used to within a day or two 15:14 <+bridge> [ddnet] well it makes the frames litteraly wait to e.g. 16ms per frame for 60hertz 15:15 <+bridge> [ddnet] + all ur other input delays = rip 15:15 <+bridge> [ddnet] You would be surprised at how much delay your brain can just delete 15:16 <+bridge> [ddnet] delay is delay 15:16 <+bridge> [ddnet] doesnt matter if ur brain can recalculate it 15:16 <+bridge> [ddnet] So? If you can’t perceive it it’s a non issue 15:16 <+bridge> [ddnet] u cant predict the future 15:16 <+bridge> [ddnet] end of discussion 15:17 <+bridge> [ddnet] Lol, I love discussing things with you, it makes me want to take a swig of bleach 15:17 <+bridge> [ddnet] there is no discussion 15:17 <+bridge> [ddnet] its a fact 15:17 <+bridge> [ddnet] i dont discuss about facts 15:17 <+bridge> [ddnet] Did you know that it’s one of the greatest evolutionary advantages humans had over other competing species? 15:18 <+bridge> [ddnet] We are usually very good at predicting the future compared to fishes 15:18 <+bridge> [ddnet] i bet any wild animal would be better in reflex based games than us 15:19 <+bridge> [ddnet] I played quite fine at 90ms ping with vsync, it’s just a matter of getting used to. Even 200ms you can tolerate as long as your partner isn’t moving around in a stupid manner 15:19 <+bridge> [ddnet] but u dont want to be the best, thats the difference 15:21 <+bridge> [ddnet] Fine play with screen tearing, use a crt for all I care lol 15:21 <+bridge> [ddnet] at 1000fps and high refresh rate monitor u almost dont see it 15:22 <+bridge> [ddnet] 95% of people are casuals, and as a member of the homo sapiens species they possess the ability to tolerate small delays in the order of miliseconds. Most people I know prefer playing without screen tearing and don’t own high refresh rate monitors 15:23 <+bridge> [ddnet] when somebody askes for best experience, i tell them how to get best experience 15:23 <+bridge> [ddnet] and not how to make ur laptop stay cool 15:24 <+bridge> [ddnet] Lol, ok. I’ll be triple checking your every contribution from now on for performance hogs 15:25 <+bridge> [ddnet] im fine with that 15:25 <+bridge> [ddnet] This game is supposed to run on toasters, we’ve already strayed so far from that and I have a feeling you’d be okay with going even further 15:26 <+bridge> [ddnet] i'd say the opposite 15:26 <+bridge> [ddnet] ddnet 10 runs like shit 15:26 <+bridge> [ddnet] @YupHio wait, what made the large difference? Was it OpenGL 3 or High DPI? or something else? 15:26 <+bridge> [ddnet] while 15 runs much better 15:27 <+bridge> [ddnet] Tell that to all the people who get much worse performance like @noby (or anyone else on macOS) 15:27 <+bridge> [ddnet] he gets better performance 15:28 <+bridge> [ddnet] actually its not "much" worse anymore, but its still worse 15:28 <+bridge> [ddnet] ddnet 10 is my fav 15:28 <+bridge> [ddnet] he just doesnt like his fans 15:28 <+bridge> [ddnet] so caps his fps 15:28 <+bridge> [ddnet] Oh sorry, I forgot we should be using 100% of the cpu and gpu for or AAA title, lol 15:29 <+bridge> [ddnet] its not my fault macos doesnt like anything 15:29 <+bridge> [ddnet] vulkan, opengl 15:29 <+bridge> [ddnet] i use the same fps cap of 600 on cl refresh/gfx refresh 15:29 <+bridge> [ddnet] on both versions 15:29 <+bridge> [ddnet] @noby i already told ya 15:29 <+bridge> [ddnet] the highdpi fix really did remove 90% of the problem 15:29 <+bridge> [ddnet] the calculation changed and its not the same 15:29 <+bridge> [ddnet] but i still feel like version 10 is smoother 15:29 <+bridge> [ddnet] im not talking about teh fps in the corner 15:29 <+bridge> [ddnet] i know thats changed 15:29 <+bridge> [ddnet] no 15:29 <+bridge> [ddnet] not only that 15:29 <+bridge> [ddnet] if u type cl_refresh_rate 480 on ddnet 10 15:29 <+bridge> [ddnet] its not <480 fps 15:30 <+bridge> [ddnet] @noby if you disable highdpi the curved buttons look like shit 15:30 <+bridge> [ddnet] bcs it was buggy 15:30 <+bridge> [ddnet] Ofc reducing the resolution improves performance 15:30 <+bridge> [ddnet] learath ik but my fps is noticeably higher and it feels better to play on and it makes the fans shutoff so id gladly take those 3 advantages over slightly worse looking buttons and text 15:31 <+bridge> [ddnet] plus it looks fine to me anyway, wouldnt describe it as looking like shit lol 15:31 <+bridge> [ddnet] How was it with ddnet10? Atleast on my macbook that doesn’t use 200% of my cpu and lets me render in full res 15:32 <+bridge> [ddnet] (though I do need to patch it a bit to get it to render at full res) 15:33 <+bridge> [ddnet] im using an external monitor rn which decreases fps but its only using 20%cpu or less and its good fps 15:34 <+bridge> [ddnet] For the record, I can run ddnet10 without throttling even. Without throttling (and out of the box on steam) the current patch makes my mac a toaster oven 15:34 <+bridge> [ddnet] But ofc, it’s never our fault. Every other game runs just fine, but it’s obviously not our fault 15:34 <+bridge> [ddnet] aslong it outputs more fps i dont see something bad 15:35 <+bridge> [ddnet] >= fps 15:35 <+bridge> [ddnet] rest is just config 15:35 <+bridge> [ddnet] I really love how console games handle this, there should always be a target fps 15:36 <+bridge> [ddnet] Just rendering a bajillion fps using the entire cpu and the gpu is just an insane proposition, doing it out of the box even more so 15:37 <+bridge> [ddnet] well depends 15:37 <+bridge> [ddnet] best out of box experience sounds good to me 15:37 <+bridge> [ddnet] rest is config 15:37 <+bridge> [ddnet] Anyway, as always, you know best. I don’t even know why I ever talk about any subject as none of you here respect my opinion as much as a doormats opinion on any subject except maybe heinrich 😛 15:37 <+bridge> [ddnet] there is no perfect default 15:38 <+bridge> [ddnet] we talked like 2 times 15:38 <+bridge> [ddnet] not my fault that i just think in facts these 2 times 15:38 <+bridge> [ddnet] vsync off master race 15:38 <+bridge> [ddnet] i have high refresh rate monitor and i can set it to 60hz with vsync 15:38 <+bridge> [ddnet] Yeah you just present your opinion as fact and say facts need no discussion 15:38 <+bridge> [ddnet] so can i judge on both 15:38 <+bridge> [ddnet] Would definitely be best if we can get good performance without 100% CPU/GPU utilization by default 15:38 <+bridge> [ddnet] also i play this game much more 15:38 <+bridge> [ddnet] so i can also judge there more 15:39 <+bridge> [ddnet] it doesnt use 100% on mine 15:39 <+bridge> [ddnet] cuz 100% would mean using all cores i guess 15:39 <+bridge> [ddnet] it doesnt use 100% cpu, it uses 1 core fully 15:39 <+bridge> [ddnet] and the graphic thread as much it gets 15:39 <+bridge> [ddnet] thats how it hsould be 15:39 <+bridge> [ddnet] games are ur primary focus 15:39 <+bridge> [ddnet] when u play 15:39 <+bridge> [ddnet] my gpu doesnt even reach 100% 15:39 <+bridge> [ddnet] bcs my cpu is too slow 15:39 <+bridge> [ddnet] rip 15:40 <+bridge> [ddnet] The burden of proof is on the one with extraordinary claims, so you need to show how you start from your claim and get to a fundamental truth. You can’t just say it’s fact without any support for it 15:40 <+bridge> [ddnet] Immigration is bad. It’s fact 15:40 <+bridge> [ddnet] There let’s deport every immigrant, no discussion needed it’s just fact 15:41 <+bridge> [ddnet] well i just dont care, i played this game so much, i know what i like, and if somebody wants best experience, he wants atleast what i would say is best experience or better 15:41 <+bridge> [ddnet] its a fact ppl disable vsync for any competitive game 15:42 <+bridge> [ddnet] in csgo they also dont cap 15:42 <+bridge> [ddnet] bcs they want their 300fps 15:42 <+bridge> [ddnet] xD 15:42 <+bridge> [ddnet] i use cl_refresh_rate 600; gfx_refresh_rate 600; gfx_vsync 0 15:42 <+bridge> [ddnet] and it works well for me on both clients i guess 15:42 <+bridge> [ddnet] ddnet 10 gives slightly hgiher fps 15:42 <+bridge> [ddnet] i think the cap of 600 in ddnet10 is not the same in ddnet 11+ 15:43 <+bridge> [ddnet] ddnet 11-13 was fcky for me 15:43 <+bridge> [ddnet] well u use mac 15:43 <+bridge> [ddnet] so its ur fault 15:43 <+bridge> [ddnet] I argued that it doesn’t matter. Argumentum ad populum is just weak 15:43 <+bridge> [ddnet] Yes many people do it 15:43 <+bridge> [ddnet] no u 15:43 <+bridge> [ddnet] its not my fault if old versions work better than new versions 15:43 <+bridge> [ddnet] u might be able to say its my fault if no versions work correctly 15:43 <+bridge> [ddnet] i dont think thats true 15:43 <+bridge> [ddnet] Does that make it correct? Many people smear yoghurt on themselves in turkey as a cure to sunburns. Are they correct? 15:44 <+bridge> [ddnet] the definition of vsync means delay 15:44 <+bridge> [ddnet] this is not a belief 15:44 <+bridge> [ddnet] vsync is bad 15:44 <+bridge> [ddnet] its math 15:44 <+bridge> [ddnet] feels shitty to play with 15:44 <+bridge> [ddnet] Delay is bad is a belief 15:44 <+bridge> [ddnet] ????? 15:44 <+bridge> [ddnet] I think we can all agree that reducing delay is better 😄 15:45 <+bridge> [ddnet] well before we destroy our teeworlds experience we could destroy bitcoin 15:45 <+bridge> [ddnet] thats more energy waste 15:45 <+bridge> [ddnet] bitcoin will grow cuz now the big holders went in 15:45 <+bridge> [ddnet] they expect it to reach 150k 15:46 <+bridge> [ddnet] It’s almost imperceivable. Do you notice the text input delay introduced by the X Server? 15:46 <+bridge> [ddnet] people notice it 15:46 <+bridge> [ddnet] u can certainly feel the delay introduced by vsync 15:46 <+bridge> [ddnet] and i do 15:46 <+bridge> [ddnet] u cant see it 15:46 <+bridge> [ddnet] specially on 3d games 15:46 <+bridge> [ddnet] but u can feel it when u play 15:46 <+bridge> [ddnet] on ddnet u notice the mouse delay 15:46 <+bridge> [ddnet] i know for a fact because it feels like i accidentally toggled antiping off when i try to play after forgetting to disable vsync 15:47 <+ChillerDragon> oof almost forgot to backup etc/hosts and my ssh key any other places i could search files before wiping my harddrive? 15:47 <+bridge> [ddnet] search .config/ 15:47 <+bridge> [ddnet] and most importantly 15:47 <+bridge> [ddnet] ur vimrc 15:47 <+bridge> [ddnet] the sacred file 15:47 <+ChillerDragon> vimrc is on git :) 15:47 <+ChillerDragon> found 1 in .config/ 15:48 <+bridge> [ddnet] make sure to backup any gpg key u have 15:48 <+bridge> [ddnet] Easy solution, back everything up, check what you needl ater 15:48 <+bridge> [ddnet] xd 15:48 <+bridge> [ddnet] true 15:48 <+ChillerDragon> hmm 15:48 <+ChillerDragon> smart 15:48 <+bridge> [ddnet] it shouldnt take much space 15:48 <+ChillerDragon> 900gb of hentai 15:48 <+bridge> [ddnet] i would ignore stuff like node_modules 15:48 <+bridge> [ddnet] that shit is always big and so many files 15:48 <+ChillerDragon> ye 15:48 <+ChillerDragon> i think ill risk it to not backup everything cuz its mostly trash and idk where to put it 15:49 <+ChillerDragon> i should have ervything now yikes 15:49 <+bridge> [ddnet] wipe the hdd to clear all traces of chillerbot and other malicious software 15:49 <+bridge> [ddnet] In the endless pursuit of more and more fps we have lost our sight of the real goal. You want the screen to render a new frame every single refresh, nothing more 15:49 <+ChillerDragon> oof :robot: 15:50 <+bridge> [ddnet] btw i dont care about much more than 1000 fps, my gpu can do around 10k 15:50 <+bridge> [ddnet] u will definitly forget something 15:50 <+bridge> [ddnet] i also capped it 15:50 <+bridge> [ddnet] but the CPU cap is killer 15:50 <+bridge> [ddnet] also the fact that new copies of ddnet open like 3 random blank windows behind it 15:50 <+bridge> [ddnet] is very annoying 15:50 <+bridge> [ddnet] on a small screen 15:50 <+bridge> [ddnet] i even notice it when i set it to 1000 or more 15:50 <+bridge> [ddnet] @noby thats macos stuff 15:50 <+bridge> [ddnet] i dont care 15:50 <+bridge> [ddnet] on my linux its clean 15:50 <+bridge> [ddnet] It’s also an sdl bug iirc 15:50 <+bridge> [ddnet] its new ddnet stuff 15:50 <+bridge> [ddnet] old ddnet never does that 15:50 <+bridge> [ddnet] Oh, I guess. But it’s definitely not our fault 15:51 <+bridge> [ddnet] You know how I know that? Because that would imply there is a mistake in something Jupstar wrote 15:51 <+bridge> [ddnet] i could do the bisect thing if yall want 15:51 <+bridge> [ddnet] me to narrow down the commit that cuases the black windows to appear 15:51 <+bridge> [ddnet] That’s a fundamental contradiction 15:51 <+bridge> [ddnet] You can try, I couldn’t reproduce it reliably, so I didn’t bother bisecting 15:52 <+bridge> [ddnet] it happens everytime for me on new ddnet x_x 15:52 <+bridge> [ddnet] when did i wrote sdl code? except ones 15:52 <+bridge> [ddnet] the reason i havent bisected is because certain versions seem to not compile 15:52 <+bridge> [ddnet] and that isnt released yet 15:52 <+bridge> [ddnet] Then please do bisect for it 15:52 <+bridge> [ddnet] will yall help me compile the ones that dont work 15:52 <+bridge> [ddnet] also u cant really trigger me. I do bugs, thats normal, i just try to fix them 15:53 <+bridge> [ddnet] im lazy to debug each error in each versin 15:53 <+bridge> [ddnet] Oh yeah, you didn’t touch SDL, I guess if you do find a bug we don’t risk the universe collapsing into a blackhole 15:53 <+bridge> [ddnet] i mean our sdl code 15:53 <+bridge> [ddnet] xD 15:53 <+bridge> [ddnet] do u mind reminding me how to bisect :pepeH: 15:54 <+bridge> [ddnet] Well first find a version it doesn’t happen in 15:54 <+bridge> [ddnet] seems to be fine in 12.7.2 15:54 <+bridge> [ddnet] ill try 13x 15:54 <+bridge> [ddnet] 13.2 fine too 15:55 <+bridge> [ddnet] 14.0 fin 15:55 <+bridge> [ddnet] e 15:55 <+bridge> [ddnet] 15.1.3 not fine 15:55 <+bridge> [ddnet] I guess that’s close enough. Bisect works in logn steps 15:55 <+bridge> [ddnet] Do git bisect good 14.0 15:55 <+bridge> [ddnet] git bisect bad master 15:56 <+bridge> [ddnet] okok lemme pull 15:56 <+bridge> [ddnet] Oh you might need to first do `git bisect start` 15:57 <+bridge> [ddnet] ok i did these cmds now what 15:57 <+bridge> [ddnet] git bisect bad master 15:57 <+bridge> [ddnet] Bisecting: 882 revisions left to test after this (roughly 10 steps) 15:57 <+bridge> [ddnet] [2a3b254b4793930a0d19efaf8494a521d6668fca] Merge #2890 15:57 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/2890 15:57 <+bridge> [ddnet] Ok now test this revision 15:57 <+bridge> [ddnet] oh it already updated ok 15:57 <+bridge> [ddnet] If it’s bad you do git bisect bad 15:58 <+bridge> [ddnet] If it’s good you do git bisect good 15:58 <+bridge> [ddnet] ok its compiling 15:58 <+bridge> [ddnet] prepare for errors 15:58 <+bridge> [ddnet] Fingers very crossed ;P 15:58 <+bridge> [ddnet] make sure to do a clean compilation 15:58 <+bridge> [ddnet] fatal error: too many errors emitted, stopping now [-ferror-limit=] 15:59 <+bridge> [ddnet] lmao 15:59 <+bridge> [ddnet] remove the build folder 15:59 <+bridge> [ddnet] there was no build folder 15:59 <+bridge> [ddnet] i made it 15:59 <+bridge> [ddnet] [ 45%] Building CXX object CMakeFiles/DDNet.dir/src/engine/client/backend_sdl.cpp.o 15:59 <+bridge> [ddnet] In file included from /Users/nobody1/ddnet/src/engine/client/backend_sdl.cpp:15: 15:59 <+bridge> [ddnet] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/cmath:317:9: error: no member 15:59 <+bridge> [ddnet] named 'signbit' in the global namespace 15:59 <+bridge> [ddnet] using ::signbit; 15:59 <+bridge> [ddnet] ~~^ 15:59 <+bridge> [ddnet] should i call this bad or good 15:59 <+bridge> [ddnet] Oh this garbage 15:59 <+bridge> [ddnet] Just clean it up do the cmake and wait 15:59 <+bridge> [ddnet] idid 15:59 <+bridge> [ddnet] I’ll send you the “fix” I found for it 15:59 <+bridge> [ddnet] ok 16:00 <+bridge> [ddnet] macos 👉 :monkalaugh: 16:00 <+bridge> [ddnet] https://discord.com/channels/252358080522747904/293493549758939136/788467380682489886 16:00 <+bridge> [ddnet] u 16:00 <+bridge> [ddnet] wheres the dlib 16:00 <+bridge> [ddnet] dylib 16:00 <+bridge> [ddnet] I really would love to properly get this fixed but idk who to even annoy about it 16:00 <+bridge> [ddnet] You just need the sed command 16:01 <+bridge> [ddnet] ahh 16:01 <+bridge> [ddnet] In file included from /Users/nobody1/ddnet/src/base/system.h:18: 16:01 <+bridge> [ddnet] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/stdlib.h:93:15: fatal error: 16:01 <+bridge> [ddnet] 'stdlib.h' file not found 16:01 <+bridge> [ddnet] #include_next 16:01 <+bridge> [ddnet] ^~~~~~~~~~ 16:01 <+bridge> [ddnet] 16:01 <+bridge> [ddnet] 16:01 <+bridge> [ddnet] uh? xd 16:01 <+bridge> [ddnet] If that doesn’t work you need to grep for sdk in cmakecache, it might be some other sdk overlap not the exact one I have 16:02 <+bridge> [ddnet] id rather just download precompiled 14.5 or smth to narrow it down more broadly 16:03 <+bridge> [ddnet] ok 14.5.1 works fine 16:03 <+bridge> [ddnet] how do i quit the bisect and start over from that point 16:03 <+bridge> [ddnet] Yeah this is what happens whenever I want someone to debug anything on macOS... I seem to be the only person patient enough to debug xcode internals 16:03 <+bridge> [ddnet] lmao 16:03 <+bridge> [ddnet] git bisect reset 16:03 <+bridge> [ddnet] ok nowwhat 16:04 <+bridge> [ddnet] `git bisect start && git bisect good 14.5 && git bisect bad master` 16:05 <+bridge> [ddnet] oh i just found 16:05 <+bridge> [ddnet] 15.0.5 from site doesnt work 16:05 <+bridge> [ddnet] I honestly am not sure how well you will be able to debug like this 16:05 <+bridge> [ddnet] The version from the site links to one sdl2, you link to another sdl2 16:05 <+bridge> [ddnet] ,_, 16:06 <+bridge> [ddnet] easier to just use an old version right 16:06 <+bridge> [ddnet] For you yes, but it’s sad that we never get to find these bugs 16:06 <+bridge> [ddnet] i narrowed down the problem is after 14.5.1 and before 15.0.5 16:07 <+bridge> [ddnet] Even I with my almost infinite patience couldn’t fix our cmakefile 16:08 <+bridge> [ddnet] oh between 16:08 <+bridge> [ddnet] 14.5.1 and 14.7.1 16:08 <+bridge> [ddnet] actually 16:08 <+bridge> [ddnet] since .7.1 makes balck windows 16:09 <+bridge> [ddnet] On macOS I can’t get it to link to libraries I want. It always wants to link to the bundled ones 16:09 <+bridge> [ddnet] 14.6.2 makes the error too 16:09 <+bridge> [ddnet] 14.5.1 doesnt 16:09 <+bridge> [ddnet] i cant narrow it down anymore from precompiled 16:10 <+bridge> [ddnet] On macOS two different versions of the sdks includedirs can end up in the compilation line. I even figured out why it happens. I just don’t know how to fix it. I’ve decided cmake is just very meh on macOS 16:10 <+bridge> [ddnet] bring back bam 16:11 <+bridge> [ddnet] Are these both precompiled? 16:11 <+bridge> [ddnet] yes i went ddnet.tw/downloads 16:11 <+bridge> [ddnet] 14.5.1 no black wndows 16:11 <+bridge> [ddnet] Also what are your gfx settings? 16:11 <+bridge> [ddnet] deen update the build stuff and libs 16:11 <+bridge> [ddnet] @noby https://ddnet.tw/downloads/DDNet-14.7-osx.dmg 16:12 <+bridge> [ddnet] that is without the patch i think 16:12 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/798570008124325888/Screen_Shot_2021-01-12_at_9.11.48_AM.png 16:12 <+bridge> [ddnet] Bam is even more confused at this btw, it had 3 versions of the sdk in my linker line 16:12 <+bridge> [ddnet] rip lol 16:13 <+bridge> [ddnet] @Jupstar ✪ bug 16:14 <+bridge> [ddnet] have u tried without ffmpeg 16:14 <+bridge> [ddnet] that was probs the biggest change in 14.7 16:15 <+bridge> [ddnet] how 16:15 <+bridge> [ddnet] Compile with the videorecorder option off 16:15 <+bridge> [ddnet] cmake .. -DVIDEORECORDER=OFF 16:16 <+bridge> [ddnet] compiling doent work 16:16 <+bridge> [ddnet] too bad 16:16 <+bridge> [ddnet] Can you paste your cmakecache somewhere? 16:16 <+bridge> [ddnet] I’m sure I can fix it for you 16:17 <+bridge> [ddnet] have u tried gfx_opengl_major 1 in newest client @noby ? 16:17 <+bridge> [ddnet] maybe its the gl driver 16:17 <+bridge> [ddnet] or sdl trying to get gl 3.x context 16:17 <+bridge> [ddnet] and just openes alot of windows xD 16:18 <+bridge> [ddnet] wpah wtf 16:18 <+bridge> [ddnet] it worked thx 16:18 <+bridge> [ddnet] nice and sad :p 16:18 <+bridge> [ddnet] no more black windows on any version 16:19 <+bridge> [ddnet] Sadly you don’t get the 3.3 benefits anymore :/ 16:19 <+bridge> [ddnet] i wonder if its SDL or the video driver 16:19 <+bridge> [ddnet] bcs SDL could be fixed 16:20 <+bridge> [ddnet] @noby what does GL 3.3 in version 14 or smth do? 16:20 <+bridge> [ddnet] I could debug it if I could reliably reproduce it 16:20 <+bridge> [ddnet] or better 12 16:20 <+bridge> [ddnet] do in what sense 16:20 <+bridge> [ddnet] does it also open black screens? 16:20 <+bridge> [ddnet] gfx_opengl_major 1 no 16:20 <+bridge> [ddnet] no 16:21 <+bridge> [ddnet] in ddnet 12 enable gl 3.3 in graphic settings tab 16:21 <+bridge> [ddnet] no i have cl_svae_settings 0 16:21 <+bridge> [ddnet] and see if u get these weird black screens 16:21 <+bridge> [ddnet] how to do it in cfg 16:21 <+bridge> [ddnet] wait gonna see 16:22 <+bridge> [ddnet] gfx_opengl3 1 16:23 <+bridge> [ddnet] ok 16:23 <+bridge> [ddnet] no windows in 12 16:23 <+bridge> [ddnet] alright 16:23 <+bridge> [ddnet] or in 15 16:23 <+bridge> [ddnet] not even in 15 or what? 16:23 <+bridge> [ddnet] i hope its in 15 16:23 <+bridge> [ddnet] else its no SDL bug xd 16:25 <+bridge> [ddnet] gfx_opengl_major 1 fixed it for all versions 16:25 <+bridge> [ddnet] opengl3 made no difference 16:25 <+bridge> [ddnet] cus it was already fixed 16:25 <+bridge> [ddnet] in 15.x u need to use gfx_opengl_major 3; gfx_opengl_minor 3 16:25 <+bridge> [ddnet] why 16:25 <+bridge> [ddnet] bcs we allow different gl versions now 16:25 <+bridge> [ddnet] i mean what is the diference ingame 16:25 <+bridge> [ddnet] i mean for the windows 16:26 <+bridge> [ddnet] ingame it gives more fps if ur driver isnt bad 16:26 <+bridge> [ddnet] it lowers CPU time basically 16:26 <+bridge> [ddnet] it wont give more fps if ur GPU is the limiting factor 😄 16:27 <+bridge> [ddnet] those settings on ddnet 15 actually make it better 👀 16:27 <+bridge> [ddnet] nice 16:27 <+bridge> [ddnet] @Jupstar ✪ would it be possible to only start rendering like 3 frames before the screen is ready to accept one? 16:27 <+bridge> [ddnet] accept what? 16:27 <+bridge> [ddnet] a new frame, idk if you can get this info somehow 16:27 <+bridge> [ddnet] ah 16:28 <+bridge> [ddnet] without vsync it will probs replace half of the buffer of ur monitor 16:28 <+bridge> [ddnet] (or any devisor) 16:28 <+bridge> [ddnet] it also sends chunks or smth and if u get new input it just sends that 16:29 <+bridge> [ddnet] offscreen it can theoretically render anything 16:29 <+bridge> [ddnet] double buffering is doing that basically, and the driver decides if it uses the content or not 16:29 <+bridge> [ddnet] do we do double buffering? 16:29 <+bridge> [ddnet] yeah 16:30 <+bridge> [ddnet] but probs the driver even does tripple buffering 16:30 <+bridge> [ddnet] so it can swap two offscreen buffers 16:30 <+bridge> [ddnet] and has one "ready" buffer 16:30 <+bridge> [ddnet] can we somehow know when the driver uses the new buffer? 16:30 <+bridge> [ddnet] not in release mode atleast xD 16:30 <+bridge> [ddnet] maybe there are extension for amd and nvidia dunno 16:31 <+bridge> [ddnet] ah, too bad 16:31 <+bridge> [ddnet] u can disable double buffering 16:31 <+bridge> [ddnet] and u can also always render on the main buffer directly, gut there is no garantuee the driver actually does it 16:31 <+bridge> [ddnet] or just lets u think that u do it 16:32 <+bridge> [ddnet] this was just an idea to reduce the unlimited frame rate we have to something sane 16:32 <+bridge> [ddnet] without increasing input lag 16:32 <+bridge> [ddnet] gpu isnt the problem 16:33 <+bridge> [ddnet] but if we can't know when the driver will swap the buffers, that doesn't sound possible 16:33 <+bridge> [ddnet] its the mouse input mostly 16:33 <+bridge> [ddnet] the main thread is too busy and has to create all rendercalls 16:33 <+bridge> [ddnet] there is no visualisation / simulation difference 16:33 <+bridge> [ddnet] the main thread has to create everything 16:33 <+bridge> [ddnet] it would be possible by rewritting teeworlds 16:34 <+bridge> [ddnet] I don't follow. the problem is that we get a 16ms old mouse input with something like vsync because we render the frame 16ms early, right? 16:35 <+bridge> [ddnet] example: 16:35 <+bridge> [ddnet] cpu renders no frame 16:35 <+bridge> [ddnet] goes into sleep 16:35 <+bridge> [ddnet] but 1 nanosecond later it could have rendered the frame 16:35 <+bridge> [ddnet] 16:35 <+bridge> [ddnet] so it wakes up some point 16:35 <+bridge> [ddnet] has todo the simulation 16:35 <+bridge> [ddnet] has to prepare rendercalls 16:35 <+bridge> [ddnet] => delay 16:36 <+bridge> [ddnet] you might be able to use the FPS (if its stable enough) to predict when to wake up 16:36 <+bridge> [ddnet] but its probs never 100% reliable 16:36 <+bridge> [ddnet] yes, not 100% reliable 16:36 <+bridge> [ddnet] (oh and maybe to get it right, it sleeps long) 16:37 <+bridge> [ddnet] bcs it had less todo in that frame without a rendercall 16:37 <+bridge> [ddnet] but if you wake up 3 frames early, it should be quite reliable, no? 16:37 <+bridge> [ddnet] 3 frame times early 16:37 <+bridge> [ddnet] well depends on what ur target fps is probably 😄 16:37 <+bridge> [ddnet] hm? 16:37 <+bridge> [ddnet] say I have a monitor with 60 or 144fps 16:37 <+bridge> [ddnet] but there is more to it anyway, it also fetches the mouse relative state from SDL it doesnt use global mouse state 16:38 <+bridge> [ddnet] then teeworlds would render 180fps or ~450fps 16:38 <+bridge> [ddnet] i understand what u want 16:38 <+bridge> [ddnet] but not 1800 or so, wasting energy, battery, etc. 16:38 <+bridge> [ddnet] kk 16:38 <+bridge> [ddnet] do you mean we could wake up more often to fetch mouse input but not render? 16:39 <+bridge> [ddnet] it already does it if u dont limit gfx 16:39 <+bridge> [ddnet] or do u mean without any simulation? 16:39 <+bridge> [ddnet] just the mouse 16:39 <+bridge> [ddnet] ye, just the mouse 16:39 <+bridge> [ddnet] could work, but i dunno if it works 😄 16:39 <+bridge> [ddnet] in the end its more about semi state 16:40 <+bridge> [ddnet] wait 16:40 <+bridge> [ddnet] i mean like 16:40 <+bridge> [ddnet] u are lucky to either hit the exact moment u want to draw a frame or not 16:40 <+bridge> [ddnet] if u wake up at some point u still have todo the simulation 16:41 <+bridge> [ddnet] yes, but that's no different with unlimited fps 16:41 <+bridge> [ddnet] we just need to make sure we're continuously rendering frames around the point where it's important 16:46 <+bridge> [ddnet] okay, let me rephrase what I want to do, it seems to me that you're not quite saying the same thing as I do 16:47 <+bridge> [ddnet] the way "unlimited fps" helps reduce input lag is that it continuously renders new frames, so it also renders a new frame just before the graphics driver swaps the output buffer 16:47 <+bridge> [ddnet] we're wasting a lot of renders that we basically know won't get displayed anyway, namely right after that swap, we know that there won't be any more swaps for 16ms 16:48 <+bridge> [ddnet] so if we knew the moment of the swap, we could pause our rendering until just a couple of frame times before the next swap, rendering a couple of times until the swap comes and then pausing again 16:48 <+bridge> [ddnet] thats not true tho 16:48 <+bridge> [ddnet] there are more swaps 16:48 <+bridge> [ddnet] else tearing wouldnt occour 16:48 <+bridge> [ddnet] this would, in my understanding, lead to the exact same input lag as "unlimited fps" 16:49 <+bridge> [ddnet] tearing occurs when we render to a buffer that is swapped while we're rendering to it 16:49 <+bridge> [ddnet] yes 16:49 <+bridge> [ddnet] I'm not talking about tearing or solutions to tearing 16:50 <+bridge> [ddnet] I'm talking about the same setup we have for "unlimited fps" but reducing the amount of renders we do 16:50 <+bridge> [ddnet] but for a non constant fps i already said the same as u 16:50 <+bridge> [ddnet] here 16:50 <+bridge> [ddnet] but that's wrong, no? 16:50 <+bridge> [ddnet] just because we gave the driver a new frame doesn't mean it will put it on the screen immediately 16:50 <+bridge> [ddnet] well u could substrace the time it requires for the simulation part 16:51 <+bridge> [ddnet] a fps on simulation part basically 16:51 <+bridge> [ddnet] there might still be time to render another frame 16:51 <+bridge> [ddnet] it should without vsync 16:51 <+bridge> [ddnet] it just updates the current stream to monitor 16:51 <+bridge> [ddnet] ur hdmi cable doesnt have instant bandwidth xd 16:52 <+bridge> [ddnet] yes, I understand that 16:52 <+bridge> [ddnet] maybe I need to draw pictures, I don't think we're on the same page 16:52 <+bridge> [ddnet] u want to swait for the swap and then start the new frame? 16:52 <+bridge> [ddnet] no 16:52 <+bridge> [ddnet] but using 180fps on 60hz doesnt fix issues 16:52 <+bridge> [ddnet] that's vsync, in my understanding 16:53 <+bridge> [ddnet] bcs in worst case u have 1000/180 delay 16:53 <+bridge> [ddnet] I think I really have not made myself clear enough 16:53 <+bridge> [ddnet] 1000/180s delay would not happen in my understanding in my model 16:53 <+bridge> [ddnet] I'm not just doing 180fps 16:54 <+bridge> [ddnet] well i can only tell ya 16:54 <+bridge> [ddnet] u render the full rendercalls offscreen, and as soon as u swap the buffer it is probably updating internally to the monitor stream 16:54 <+bridge> [ddnet] so its never wasted 16:55 <+bridge> [ddnet] say we have a 60hz monitor 16:55 <+bridge> [ddnet] then the monitor can only display 60 frames per second 16:55 <+bridge> [ddnet] yes 16:55 <+bridge> [ddnet] but that doesnt mean u dont want half images too 16:55 <+bridge> [ddnet] that are "more" updated 16:55 <+bridge> [ddnet] so every frame we render above that is wasted. we might not be able to eliminate that waste because we're not able to predict the future, but it's still wasted 16:55 <+bridge> [ddnet] no 16:56 <+bridge> [ddnet] if you're going to tell me something about input delay 16:56 <+bridge> [ddnet] u are litteraly describing vsync xD 16:56 <+bridge> [ddnet] no 16:56 <+bridge> [ddnet] I think we're just not talking about the same thing 16:56 <+bridge> [ddnet] you think about it in practical terms, with a specific algorithm in mind 16:56 <+bridge> [ddnet] namely vsync 16:56 <+bridge> [ddnet] its not wasted, ever 16:56 <+bridge> [ddnet] and then you say the extra frames aren't wasted because they help reduce input latency 16:56 <+bridge> [ddnet] they are also displayed on screen 16:56 <+bridge> [ddnet] are they? 16:56 <+bridge> [ddnet] just "only" partially 16:57 <+bridge> [ddnet] yes, thats tearing 16:57 <+bridge> [ddnet] a 60fps monitor can display more than 60fps? 16:57 <+bridge> [ddnet] ofc there is no garantuee that absoluty none is wasted 16:57 <+bridge> [ddnet] I thought tearing happens at a different level 16:57 <+bridge> [ddnet] it can render half of the old frame and half of the new 16:59 <+bridge> [ddnet] in theory u could also say, ur eyes follow from top left to bottomr ight and it only updates a small potion and then u would have somthing that is more than 60hz on 60hz monitor xd 18:53 * Meska slaps bridge around a bit with a large fishbot 18:55 <+bridge> [ddnet] anyone up 4 an ATH 0.7 rewrite? 18:55 <+bridge> [ddnet] - xush' 18:58 <+bridge> [ddnet] no api features for accessing player input this time around >.> 20:06 <+ChillerDragon> @GutZuFuss you can start by helping to update ddnet client to 0.7 :) 20:07 <+bridge> [ddnet] k lets go 20:07 <+bridge> [ddnet] where are the whitespaces i should delete 20:07 <+ChillerDragon> haha 20:07 <+ChillerDragon> the skin system is probably a nasty one 20:13 <+bridge> [ddnet] Would someone mind to approve my refactoring backport from 0.7? 20:13 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/3502 21:01 <+bridge> [ddnet] @Kaffeine we don't always review same-day, you'll need some patience 21:01 <+bridge> [ddnet] but we still appreciate cleanups and other contributions 21:06 <+bridge> [ddnet] I don't force anyone 🙂 21:06 <+bridge> [ddnet] 21:06 <+bridge> [ddnet] The ask for "0.7 refactoring" CR supposed to be in the context of "anyone up 4 an ATH 0.7 rewrite?" and "you can start by helping to update ddnet client to 0.7 🙂" 21:06 <+bridge> [ddnet] I consider "helping to update ddnet client to 0.7" to include "review 0.7 backports". 21:39 <+bridge> [ddnet] Or update 0.7 to our skin system @ChillerDragon 21:53 <+bridge> [ddnet] so no whitespaces i can remove? bummer 23:56 <+bridge> [ddnet] https://handshake.org/ 23:56 <+bridge> [ddnet] https://www.nasdaq.com/articles/pirated-academic-database-sci-hub-is-now-on-the-uncensorable-web-2021-01-11 23:56 <+bridge> [ddnet] 🙂