Yeah that's basically it, combined with server loops which may advance time. Our loops are changed since apoc stole our code and we have anywhere from 5ms to 100ms per region update generally. It will also skip updates that trigger lower than the minimum and throttle them so they match a consistent frame time.Omegus wrote: ↑Sun May 22, 2022 3:02 pm For those interested in the changes and the impact, I did a bigger write-up here: viewtopic.php?f=42&t=48309&p=511560#p511549 (buried at the end of the patch notes).
One bit of Secret's post that jumped out though:
I'm not sure you've got this bit right. I could be wrong as you know the code better than I do, but going by what Dalen said and from what I can see in the Apoc code:Secrets wrote: ↑Sun May 22, 2022 1:33 pm On top of this issue, an AP regeneration change on top of the patch further added complexity to an already lower GCD.
https://github.com/cooler-SAI/ProjectWA ... r.cs#L4561
Under the old code, you could potentially get a 'free' AP tick at 1.5ms, if your client was outside of the 400ms batch window and sent the response too late, or the server was delayed processing the next frame.
At some high stress situations, the server can be overloaded and those AP batch windows can be delayed by anywhere from 50 to 100 ms. This means that you would potentially have a server frame that updates on the same time as the AP tick, but the AP tick is processed before the abilities fire. That means that you would sometimes get a free tick of AP that was inconsistent due to GCD usage.
Spoiler:
It's less of an issue now with decent optimization. You may see a bunch of get timestamp calls in apoc. Grabbing that data over and over again instead of caching it per loop was why we had performance issues during the lazy peon surge. I implemented a timestamp per region, per loop that is cached so we don't needlessly retrieve the time every frame.
With the new GCD changes, AP is now consistently drained if you use actions too quickly. That is why I proposed a consistent tick on a specific window of the GCD. It emulates the prior bug.
You are otherwise spot on with the issue. Great stuff
I actually grew a thicker skin over the years. What you perceive as 'whining' can also be described as me taking off the gloves with a situation that was detrimental to the health of the server.
So if you see me complaining like the last thread that was deleted, know that I am not affected like I used to be with previous cases like when I had spats with Azarael, Natherul, Grimnir, and such over the years. I am 30. I grew wiser with every encounter.
While everyone thought I was having a mental breakdown this time (there were many who asked who I assured I was fine), I was at the pool swimming and touching grass while not in a dress attending some much needed water therapy at my familys' pool. Meanwhile people were freaking out about what I posted. I live rent free in some peoples' heads because I say what they may not want to hear. Can't really apologize for things I am not sorry about.