Questions about performance
-
I've updated the 2nd post of this topic to keep track of everything related to performance.
-
Note - two additional performance-related PRs have been merged.
-
We're aiming for a patch near the start of September. However, we need more people to play on the develop branch to test whether everything works. This patch is larger than typical because the last patch is from September 2020.
Therefore my question is for you all to host games on FAFDevelop and report back!
Report back any strange behavior afterwards. You can find the log of the game here.
C:\Users\%USERNAME%\AppData\Local\Gas Powered Games\Supreme Commander Forged Alliance
If the bug is visual, make sure to add a screenshot.
Always attach the log - we can't work on the issues without it. You can send it to me through the forums or through discord where you can find me as Jip#4301.
edit: note that the branch is ranked (!).
-
And this is just performance improvements, or are there other changes like bugfixes or balance changes?
-
Fafdevelop contains all the bugfixes and updates and optimizations since September 12 2020 which was the day of the last game patch.
It shouldn't include any balance changes.
Jip might best know the full change log
-
It includes no balance changes. Keyser and I will be working on the full changelog in a few days.
-
Nice work Jip and the rest of the folks working on it!
-
To key in on this performance and development large phase that faf is currently going through. I am working on really improving functionality and performance of ALL core AI code on faf so helpfully for you AI Players you'll get even more benefit once these patches come out.
Very exciting stuff that jip has allowed us to do
-
@jip game_15187368.log
Hey, I just played this game and got a memory access violation crash after one of the AI players died. This is the full log which FA gave me afterwards. The only sim mods active were AI-Uveso and AI-RNG. All else is just UI stuff like SSB. -
@utopian Thanks for your report, looking into it now.
Do you happen to have the exact exception code that occured?
edit: after inspecting the log I suspect this crash is not related to the develop branch, but to something else. If you happen to have the exact exception code then I can compare it with exception codes that we've found previously.
-
Here's the specific error message. Don't know if it's related to develop after all, but might be worth a gander.
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at address 0x0050dfd8
attempted to read memory at 0x0000005cProgram : C:\ProgramData\FAForever\bin\ForgedAlliance.exe
Cmd line arguments : /init init.lua /nobugreport /log C:\ProgramData\FAForever\logs\game_15187368.log /gpgnet 127.0.0.1:34600 /mean 1333.36 /deviation 222.314 /savereplay gpgnet://127.0.0.1:52527/15187368/Utopian.SCFAreplay /country HU /numgames 28Callstack:
Unknown symbol (address 0x0050dfd8)
Unknown symbol (address 0x0068af40)
Unknown symbol (address 0x1d1ed9fb)
Unknown symbol (address 0x1d1ed9fb)EDIT: if you need system specs or anything, just tell me.
-
I've added yours to the tracker: https://github.com/FAForever/fa/issues/2045
I don't think there is need for system specs. I hope we don't see it more often because then we did something silly .
edit: and thanks again for reporting!
-
Playing a setons right now. Performance is great so far. Just a couple things
- I can't ping after my ACU was killed. Is this a bug or new feature?
- Cybran hive drones are completely MIA. I only see the beams.
Edit: I'm loving the changes. 45 minute setons game, only went -1 towards the end for a little bit because of one person. Everyone else was still +1 or higher.
-
@snagglefox Great to hear!
I can't ping after my ACU was killed. Is this a bug or new feature?
Sadly this is neither a bug nor a feature. Pinging after dying is disabled because of a potential exploit. For more information, read this PR: https://github.com/FAForever/fa/issues/2259Cybran hive drones are completely MIA. I only see the beams.
, the drones being missing is a bug - not sure what causes it yet. I'll make sure to investigate it before the patch hits in September.edit: about the drones missing, could you describe what you did right before it happened? I have a hard time re-producing it.
-
Sadly this is neither a bug nor a feature. Pinging after dying is disabled because of a potential exploit. For more information, read this PR: https://github.com/FAForever/fa/issues/2259
Ah ok. Thanks for the info!
, the drones being missing is a bug - not sure what causes it yet. I'll make sure to investigate it before the patch hits in September.
edit: about the drones missing, could you describe what you did right before it happened? I have a hard time re-producing it.
I probably should have mentioned those were allied hives. I was already dead. So maybe being dead or them being an ally's has something to do with it?
-
@snagglefox Sadly this is neither a bug nor a feature. Pinging after dying is disabled because of a potential exploit. For more information, read this PR: https://github.com/FAForever/fa/issues/2259
This is not a good reason to take away everyone's ability to ping after death.
1 - nobody is forced to allow observers in a match
2 - observers can cheat anyway if they're on voice chat with a player
If people want to cheat they can cheat. Observers using a console command to place markers in the game in real-time would leave evidence of cheating in everyone's replay file. Doing it through voice chat would be basically undetectable.
Nobody is going to cheat in a way that leaves evidence so blatantly. And if they did, we would catch them.
This is NOT A PROBLEM but taking away the ability of dead players to participate in the game is a BIG PROBLEM.
I can't even queue for ladder or TMM while a game is going on, and now you're telling me I can't even ping my teammates while I wait for the match to end? That's nonsense. Total nonsense. "Fixing" something that was never a problem in the first place. UN-FIX this!
-
Yeah, either this is described poorly and it's not just observers that can do it but anyone who died, or it's really not a problem at all, because observers always could cheat in many ways (like VC) and they really never did that by using pings.
-
The decision to disable the markers was made by two council members (if I recall correct) last year December, see also the PR where the change was made from that time:
If you do not agree with this change, please make a new topic. It is unrelated to this topic about performance (and stability).
If people want to cheat they can cheat. Observers using a console command to place markers in the game in real-time would leave evidence of cheating in everyone's replay file. Doing it through voice chat would be basically undetectable.
This is not the consequence of the exploit. I'm leaving it vague on purpose because I do not want to give it more attention than it has to have. -
Played a fafdevelop game where ACU upgrade after it should finish got stuck and acu was constantly -7 mass.
(I was assisting ACU with cybran t1 assault bot)
This error popped up in the log:
warning: Error running OnStartBuild script in Entity url0107 at 25034d08: ...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua(901): attempt to call method
IsUnitState' (a nil value) stack traceback: ...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua(901): in function
UpdateAssistersConsumption'
...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua(971): in functionUpdateConsumptionValues' ...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua(852): in function
SetActiveConsumptionActive'
...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua(2570): in function <...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua:2533> -
@crotalus said in Questions about performance:
Played a fafdevelop game where ACU upgrade after it should finish got stuck and acu was constantly -7 mass.
(I was assisting ACU with cybran t1 assault bot)
This error popped up in the log:
warning: Error running OnStartBuild script in Entity url0107 at 25034d08: ...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua(901): attempt to call method
IsUnitState' (a nil value) stack traceback: ...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua(901): in function
UpdateAssistersConsumption'
...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua(971): in functionUpdateConsumptionValues' ...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua(852): in function
SetActiveConsumptionActive'
...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua(2570): in function <...gramdata\faforever\gamedata\lua.nx5\lua\sim\unit.lua:2533>Hi Crotalus, can you share the entire log and the replay ID?
edit: the error you provided is from a Mantis.