00:07 <+bridge_> discordapp.com/invite/J4QVHR7Z 12:00 <+bridge_> gpu manufacturers try not to break half of all games with every single driver update challenge 12:00 <+bridge_> I am pretty sure this is just microslop 12:01 < ChillerDragon> i just gained a 2x fps boost by doing `git checkout a0828b6291c399aca15434df6ef39a017e637cbe` 12:01 < ChillerDragon> current master is at 80 fps which is visibly laggy and older versions are above 200fps 12:01 < ChillerDragon> almost 300 fps 12:01 <+bridge_> what did you do, what is this commit? 12:02 < ChillerDragon> random older commit 12:02 < ChillerDragon> its not a bisect 12:02 < ChillerDragon> just saying the current master is slower than what i am used to 12:02 < ChillerDragon> rust with debug build is famously slow isnt it 12:02 < ChillerDragon> does that make the client build with debug useless now? 12:03 < ChillerDragon> i usually do gaming with debug builds so i get the traces 12:03 <+bridge_> hmm, didn't I do a more up to date benchmark? https://github.com/AssassinTee/ddnet-benchmarks/blob/main/AverageFPS.png?raw=true 12:04 <+bridge_> yes I did here 12:05 < ChillerDragon> on abyss i also notice no diff 12:06 <+bridge_> I wanted to add springlobe 4 anyways 12:06 < ChillerDragon> but on 88.198.96.203:8306 i notice a big diff 12:07 < ChillerDragon> or on 213.171.25.11:8312 12:09 < ChillerDragon> i would blame the map BlmapChill because two servers are affected but on fokkos server i get smooth fps even with the new client 12:10 < ChillerDragon> maybe its the /design shenaigans that fix it idk 12:11 < ChillerDragon> local server with pure ddnet is smooth too i wonder if there is some weird edge case going on here 12:11 < ChillerDragon> but yea does not look like a gernalized regression 12:18 < ChillerDragon> uhm sos i got a bug 12:18 < ChillerDragon> i have an std::vector 12:18 < ChillerDragon> print its size and it is 2 12:18 < ChillerDragon> i try to loop over it and it is an infinite loop but asan does not complain 12:18 < ChillerDragon> `log_error("antibot-worker", "num matches %zu", vMatches.size()); // prints 2` 12:18 <+bridge_> show code 12:19 < ChillerDragon> `for(const auto &Match : vMatches)` 12:19 < ChillerDragon> `{` 12:19 <+bridge_> show whole code... 12:19 < ChillerDragon> `log_info("was", "bruder");` 12:19 < ChillerDragon> `}` 12:19 < ChillerDragon> the rest is confidental xd 12:19 < ChillerDragon> shiet 12:19 < ChillerDragon> its full of nudes 12:20 < ChillerDragon> but i mean that alone should not happen no matter what i did to the vector before hand right? 12:20 < ChillerDragon> i called emplace_back() twice 12:20 <+bridge_> maybe some UB happens, no idea 12:21 < ChillerDragon> but isnt that what ubsan should catch for me 12:27 < ChillerDragon> funny finding 12:28 < ChillerDragon> i tried to censor the code by renaming variables and types 12:28 < ChillerDragon> and that fixed it 12:28 < ChillerDragon> i tried 3 times switching it back and forth and confirmed the theory 12:28 < ChillerDragon> i have the same class name defined in another c++ file maybe that is the issue 12:28 < ChillerDragon> what a odd bug 12:31 < ChillerDragon> oke enuff debuggin that has to be it `git commit -m "Fix runtime bug by renaming a variable"` 13:06 < ChillerDragon> @heinrich5991 i slid into your irc dms 13:56 <+bridge_> #10381 13:56 <+bridge_> https://github.com/ddnet/ddnet/issues/10381 14:03 <+bridge_> Debug build might also be slower due to #11851 14:03 <+bridge_> https://github.com/ddnet/ddnet/pull/11851 14:54 <+bridge_> just redid the FPS graph :owo: 14:54 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1500118216385495191/AverageFPS.png?ex=69f74575&is=69f5f3f5&hm=c93edbba14ffb5f01687431eb021f90f7918d01165d8a97153dba00ddb786101& 14:55 <+bridge_> springlobe really is that bad 15:30 <+bridge_> @essigautomat how do you make those graphs 15:30 <+bridge_> 15:30 <+bridge_> Maybe should also calculate p99 and p95? For a complete understanding :) 15:31 <+bridge_> I have them 15:32 <+bridge_> well more or less 15:32 <+bridge_> Can you show them to me and are they on github?.. 15:32 <+bridge_> I also have worst 0.001% fps, but it looks similar but even more noisy 15:32 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1500127938329448498/Worst0.01.png?ex=69f74e83&is=69f5fd03&hm=1c7e1dae1329aebc86a0aa1579a5b1b0264c95cc7a74cd6ab5715d0607ced804& 15:33 <+bridge_> they are in the jupyter notebook 15:36 <+bridge_> I wonder if I read my graph wrong, if this is 0.01 or 0.01½ 15:36 <+bridge_> I wonder if I read my graph wrong, if this is 0.01 or 0.01% 15:38 <+bridge_> it's 1% 🙂 15:38 <+bridge_> I also have worst 0.001 (0.1%) fps, but it looks similar but even more noisy 15:38 <+bridge_> https://cdn.discordapp.com/attachments/293493549758939136/1500127938329448498/Worst0.01.png?ex=69f74e83&is=69f5fd03&hm=1c7e1dae1329aebc86a0aa1579a5b1b0264c95cc7a74cd6ab5715d0607ced804& 15:41 < ChillerDragon> i think my windows compiler is trying to tell me i have too many config variables 15:42 < ChillerDragon> something about too deep nesting whatever and it gets fixed if i delete one line from config_variables.h 15:42 < ChillerDragon> i dont have a lot of configs and on linux it builds just fine 15:43 < ChillerDragon> did anyone run into that already i smh can not believe it i feel like i have some other bug 15:44 <+bridge_> clang-tidy? 15:45 <+bridge_> In any case, I have not encountered this error with code 0XF on different systems :) 18:42 <+bridge_> I saw that the master server is protected. My friend says he doesn't want to download Discord. Maybe creating a website from a ticket would be easier for him. And adding an account with a nickname and password on the website would be easier. But you're forgetting that new users won't want to download Discord. 18:43 <+bridge_> this is a temporary patch, we (heinrich) is working on a better system 18:45 <+bridge_> okay. he will wait for website's tell me it. i tell him 18:56 <+bridge_> s 18:56 <+bridge_> why i can't write in bugs xd 19:23 <+bridge_> <_pmakin> windows compiler might have allergy on you 19:48 <+bridge_> @robyt3 Could the magic constant in CScrollRegion be needed because of an off-by-one error in CUi::ClipEnable (ie ClipEnable clips one pixel less than the rect)? At least adding one to the rect passed to ClipEnable in CScrollRegion::Begin avoids the need for the constant I think 21:45 <+bridge_> Isn't this basically the same as you are merely adding the 1 later? Might be due to pixel alignment because the UI screen uses a different float size that gets truncated to int when calling `Graphics()->ClipEnable`. Applying this rounding https://github.com/ddnet/ddnet-rs/blob/997113bac236ab6e3f8a5be368ffa2b7903a0777/lib/graphics-types/src/rendering.rs#L140-L149 seems to work at least in one case but it probably needs testing with different lists a 21:50 <+bridge_> ```cpp 21:50 <+bridge_> void CUi::UpdateClipping() 21:50 <+bridge_> { 21:50 <+bridge_> if(IsClipped()) 21:50 <+bridge_> { 21:50 <+bridge_> const CUIRect *pRect = ClipArea(); 21:50 <+bridge_> const float XScale = Graphics()->ScreenWidth() / Screen()->w; 21:50 <+bridge_> const float YScale = Graphics()->ScreenHeight() / Screen()->h; 21:50 <+bridge_> const float XScaled = pRect->x * XScale; 21:50 <+bridge_> const float YScaled = pRect->y * YScale; 21:50 <+bridge_> const float RoundedXScaled = std::round(XScaled); 21:50 <+bridge_> const float RoundedYScaled = std::round(YScaled); 21:51 <+bridge_> const float ClipW = std::round(pRect->w * XScale + XScaled - RoundedXScaled); 21:51 <+bridge_> const float ClipH = std::round(pRect->h * YScale + YScaled - RoundedYScaled); 21:51 <+bridge_> Graphics()->ClipEnable(RoundedXScaled, RoundedYScaled, ClipW, ClipH); 21:51 <+bridge_> } 21:51 <+bridge_> else 21:51 <+bridge_> { 21:51 <+bridge_> Graphics()->ClipDisable(); 21:51 <+bridge_> } 21:51 <+bridge_> } 21:51 <+bridge_> ``` 22:07 <+bridge_> discord.gg/ye9aNaPN