Questions about performance

From looking at how Jip has implemented this it should have no impact on the other big mods as all the original variables are all still accessible. They just will not be optimized in the mods

@vanifica said in Questions about performance:

I would be totally into this. I guess I assumed LOUD worked by graphical changes, but I never tested it extensively since it didn't have an online client as far as I could tell.

They claim 5000 units without any simspeed issues IIRC. That does imply there's some "magic bullet" somewhere in the code they figured out?

This has long been a myth - LOUD never gained any real performance boost from suppression of graphics. We did toy with this several years ago, and it stuck for some reason. There are certainly some graphical things we simplified or tied to the SIM speed, but over time, most of the pretty was returned to normal.

As Jip rightly points out - there was never a 'magic bullet' - just a lot of patient work going thru almost the entire code base, implementing the techniques that Jip is encouraging FAF to adopt now. The gains are real, but the work is extensive, but not difficult.

I've updated the 2nd post of this topic to keep track of everything related to performance.

A work of art is never finished, merely abandoned

Note - two additional performance-related PRs have been merged.

A work of art is never finished, merely abandoned

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!

7acd7947-ae06-4939-87dc-f39f13a31ff7-image.png

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 (!).

A work of art is never finished, merely abandoned

And this is just performance improvements, or are there other changes like bugfixes or balance changes?

put the xbox units in the game pls u_u

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.

A work of art is never finished, merely abandoned

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 🙂

Developer for LOUD Project | https://discord.gg/DfWXMg9
AI Development FAF Discord | https://discord.gg/ChRfhB3
AI Developer for FAF

Community Manager for FAF
Member of the FAF Association
FAF Developer

@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.

A work of art is never finished, merely abandoned

@jip

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 0x0000005c

Program : 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 28

Callstack:
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!

A work of art is never finished, merely abandoned

@Jip

Playing a setons right now. Performance is great so far. Just a couple things

  1. I can't ping after my ACU was killed. Is this a bug or new feature?
  2. Cybran hive drones are completely MIA. I only see the beams.
    alt text

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/2259

Cybran 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.

A work of art is never finished, merely abandoned

@jip

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.

A work of art is never finished, merely abandoned