Performance improvements?

In here you can discuss what is going on in the project, offer help, praise or critique!
Post Reply

Performance improvements?

ben1
Cadet 4th Class
Posts: 24
Joined: Sat Oct 17, 2020 4:35 pm

Post by ben1 » Thu Oct 29, 2020 11:03 am

Hey,

I know I might be asking the impossible (and I think I am) but are there any performance improvements possible with XWA? I just tried to do a 84 craft skirmish battle and at times the game dropped frames when a lot was happening on screen. To be totally honest, the performance was pretty similar to the old Pentium 3 I used to game on back in the early 2000s. I really dont think there is anything wrong with my gaming rig since I play 3-4 other sims / games on it with no issues at all.

My current spec;

Core i5 8600K @ 4Ghz
16GB Ram
500 SSD PCIe
1070ti

Thanks,

Ben.

User avatar
DarHan
Rebel Alliance
Posts: 325
Joined: Mon Dec 05, 2005 12:01 am
Contact:

Post by DarHan » Thu Oct 29, 2020 2:48 pm

Keep in mind that the game is old. It runs almost entirely on a single CPU core, so (aside from running on VR) the only real way to get the best performance is to have the fastest CPU.
“Red Four, nothing’s gone wrong yet.”
— Hobbie Klivian

ben1
Cadet 4th Class
Posts: 24
Joined: Sat Oct 17, 2020 4:35 pm

Post by ben1 » Thu Oct 29, 2020 8:46 pm

What would be the best CPU to run the game?

Also in terms of the new models from XWAU, do they have LODs and if so how aggressive is the LOD setting?

Thanks,

Ben.

Avarice1987
Cadet 1st Class
Posts: 200
Joined: Fri Oct 16, 2009 9:06 pm

Post by Avarice1987 » Thu Oct 29, 2020 10:55 pm

We can only hope how far bluemax will get with multi-core support, because that would be a real blast.

Does the mod run more stable when I have VR enabled?

Bunny Punch
Cadet 4th Class
Posts: 11
Joined: Tue Sep 22, 2020 4:57 pm

Post by Bunny Punch » Fri Oct 30, 2020 5:18 am

I'm seriously eyeing the soon to be released AMD 5600X for it's promised single core performance specifically for this game.

ben1
Cadet 4th Class
Posts: 24
Joined: Sat Oct 17, 2020 4:35 pm

Post by ben1 » Fri Oct 30, 2020 7:37 am

Avarice1987 wrote:
Thu Oct 29, 2020 10:55 pm
We can only hope how far bluemax will get with multi-core support, because that would be a real blast.

Does the mod run more stable when I have VR enabled?
Wait, is that even possible? Multi-core support? Wouldn’t that need something like access to the source code?

User avatar
blue_max
XWAU Member
Posts: 2295
Joined: Wed Mar 20, 2019 5:12 am

Post by blue_max » Fri Oct 30, 2020 5:10 pm

DarHan is right: this game still computes most of the logic and 3D on a single thread/core. I believe the music uses a different thread, and maybe there are other things the game performs on other threads because setting ProcessAffinityCore = 0 does improve performance. But the main logic and 3D is still single-threaded.

Choosing a CPU with good single core performance will help with this game -- I'm not sure which one that would be though.

Forcing the game to run in a multithreaded fashion is possible in principle, but it requires a massive effort. There's a group of very intelligent people who have been looking at the binary of the code and slowly reverse-engineering it to get the source code from it. They've been doing it for years and they're not finished yet. I've been fortunate enough to get the benefit of their combined efforts in a number of places, but I, myself, have contributed very little. Maybe some time in the future they might be able to reverse-engineer the 3D code and then, perhaps, we might be able to replace it or extend it. But for now, we're still "stuck" with this 21-year-old engine.

User avatar
BenKenobi
Cadet 2nd Class
Posts: 94
Joined: Wed Mar 18, 2020 12:30 pm

Post by BenKenobi » Fri Oct 30, 2020 8:57 pm

Have a look here for Cpu single thread performance: https://www.cpubenchmark.net/singleThread.html

ben1
Cadet 4th Class
Posts: 24
Joined: Sat Oct 17, 2020 4:35 pm

Post by ben1 » Sat Oct 31, 2020 2:47 pm

blue_max wrote:
Fri Oct 30, 2020 5:10 pm
DarHan is right: this game still computes most of the logic and 3D on a single thread/core. I believe the music uses a different thread, and maybe there are other things the game performs on other threads because setting ProcessAffinityCore = 0 does improve performance. But the main logic and 3D is still single-threaded.

Choosing a CPU with good single core performance will help with this game -- I'm not sure which one that would be though.

Forcing the game to run in a multithreaded fashion is possible in principle, but it requires a massive effort. There's a group of very intelligent people who have been looking at the binary of the code and slowly reverse-engineering it to get the source code from it. They've been doing it for years and they're not finished yet. I've been fortunate enough to get the benefit of their combined efforts in a number of places, but I, myself, have contributed very little. Maybe some time in the future they might be able to reverse-engineer the 3D code and then, perhaps, we might be able to replace it or extend it. But for now, we're still "stuck" with this 21-year-old engine.
Hi Blue,

I'd like to hear more about that. Can you or anyone else explain in more detail what has been done regarding the code threading work?

Also I dont wish to come across as a knowitall or start telling people their jobs, but how much care and consideration has been placed into the LODs system? I have experience of modding race sims and with those you have a LOD A, B C and D. LOD A is the most detailed, probably around 200,000 tris, all the way down to LOD D which typically is about 1200-1500 tris. When I look at the XWAU models they are obviously very detailed, but are the LODS done in such a way to enable max performance? If I use the standard XWA models the LODs look far more aggressive and you can see the model changing as you get nearer (if you have the LODs set that way). I guess fighter ship which is over 2km away doesnt really need to have that much detail, I mean it could be as low as 20 tris. Can anyone comment on this please?

Thanks so much,

Ben.

User avatar
Vince T
Fleet Admiral (Administrator)
Posts: 14045
Joined: Fri Apr 27, 2001 11:01 pm
Contact:

Post by Vince T » Sat Oct 31, 2020 3:10 pm

Generally we put a lot of thought and work in LODs. There are no fixed number of LODs in the game, they are instead dynamic, depending on the LOD distances used.
Programs like OPTech allow the modder to assign one low detail mesh to each high detail mesh. In the earlier days we just assigned one low detail model to the entire model and adopted the LOD distance from the vanilla game. Today we work on a per-mesh level. By assigning different LOD distances to various meshes depending their visibility and performance impact we can individually hide them or replace them with a low-detail version

The combination of these two components results in 2 - X different LOD states per model, usually depending on the overall complexity and on how meticulous the individual modder went about it.

Here's an example for the Victory-class Star Destroyer on highest and lowest detail. In between these two, there's various statges in which the various greeblies are switched on/off.
Highest Detail:
VSD_High.jpg
Lowest Detail:
VSD_Low.jpg
You do not have the required permissions to view the files attached to this post.
Your ship, Captain. I need a drink. - Vince Trageton
Vince T's X-Wing HQ - where the bad guys get their gear

User avatar
blue_max
XWAU Member
Posts: 2295
Joined: Wed Mar 20, 2019 5:12 am

Post by blue_max » Sat Oct 31, 2020 7:04 pm

ben1 wrote:
Sat Oct 31, 2020 2:47 pm
I'd like to hear more about that. Can you or anyone else explain in more detail what has been done regarding the code threading work?
I'm probably not the best person to answer this, but I think the answer is "not at all". I don't think the 3D engine has been fully reverse-engineered, and there are still large sections of the code that remain unknown. I don't think anyone has actually even attempted to introduce multithreading in the core 3D/logic. If you're a coder and you don't mind looking at large areas of assembler, let us know!

mooms419
Recruit
Posts: 6
Joined: Thu Nov 12, 2020 6:39 pm

Post by mooms419 » Sun Nov 15, 2020 4:11 pm

I am a coder and wouldn't mind looking at large sections of assembler, but unfortunately I don't have the time to do so. Honestly with an engine this old wouldn't it make more sense to do something along the lines of what the XWVM guys are doing? I understand that would entail a tremendous amount of work but it would certainly make the job of dealing with threading much easier.

It would be one thing if we had access to the entirety of the source code, but If in 20 years the entirety of the source hasn't been reverse engineered than I doubt it ever will. This is just the nature of the way games where developed back then. The XWA engine is actually an extension of the X-Wing/Tie Engine which is was built off the secret weapons of the lufwaffe engine. So I'm sure there are core parts of the XWA source code that are very old and date back to before XWA was even a thought.

User avatar
AngeI
Lieutenant JG
Posts: 524
Joined: Sun Jan 24, 2016 5:27 pm

Post by AngeI » Mon Nov 16, 2020 1:55 pm

mooms419 wrote:
Sun Nov 15, 2020 4:11 pm
I am a coder and wouldn't mind looking at large sections of assembler, but unfortunately I don't have the time to do so. Honestly with an engine this old wouldn't it make more sense to do something along the lines of what the XWVM guys are doing? I understand that would entail a tremendous amount of work but it would certainly make the job of dealing with threading much easier.

It would be one thing if we had access to the entirety of the source code, but If in 20 years the entirety of the source hasn't been reverse engineered than I doubt it ever will. This is just the nature of the way games where developed back then. The XWA engine is actually an extension of the X-Wing/Tie Engine which is was built off the secret weapons of the lufwaffe engine. So I'm sure there are core parts of the XWA source code that are very old and date back to before XWA was even a thought.
I think if someone ever attempted to rebuild XWA in a new engine (or use the XWVM engine), it opens the community up to considerably higher likelihood of a shutdown by Disney/EA because then we're developing their IP outside their game without permission. It would be nice if they released the source code (if it still exists somewhere) but I doubt that will ever happen so it also means decoding/editing how the game handles things performance wise completely is unlikely too.

I would however be very interested if you can help the TFTC project edit or reprogram the imuse music stuff though, it's already been partially decoded at least :D

Kriegmacher
Cadet 3rd Class
Posts: 34
Joined: Wed Nov 07, 2012 4:32 pm

Post by Kriegmacher » Mon Nov 16, 2020 2:39 pm

As much as I admire all the upgraded textures and particle effects offered here, I simply can't play the game anymore with everything installed. It's not overly bad, but just bad enough where I can't hit the broad side of a barn anymore. At first I thought maybe something had happened to the reticle alignment or the size of the hit boxes or sluggish input lag, but it's just low FPS. It's frustrating because the game looks gorgeous now, but I can't play it with any competency anymore.

User avatar
ArrowLoop
Galactic Empire
Posts: 15
Joined: Thu Jun 04, 2020 7:46 pm
Contact:

Post by ArrowLoop » Wed Dec 02, 2020 3:17 pm

I am curious who actually ended up owning the engine code when TG shutdown. I have my doubts that Disney actually owns the engine since the game wasn't developed in-house at LEC. Has anyone considered (or already attempted) to contact any of the members of the old development team for insight? I don't know if the Totally Games guys would ever respond or provide some insight, but it's not unheard of for former LucasArts employees to give up some of their knowledge to the community. Both Tim Schafer and Rom Gilbert famously have revealed important tidbit about the projects they've worked on. I remember David Wessman started Impellar Studios to work on 'Into the Black' and Larry Holland started Asylum Labs. It's probably unlikely that either of them would respond, but it might be worth a shot.

EDIT:
Looks like David Wessman is pretty responsive to fans:
https://twitter.com/Wessmaniac/status/1 ... 2213605378

User avatar
Commander Graham
Cadet 4th Class
Posts: 13
Joined: Thu Nov 26, 2020 1:40 pm

Post by Commander Graham » Wed Dec 02, 2020 5:02 pm

Kriegmacher wrote:
Mon Nov 16, 2020 2:39 pm
As much as I admire all the upgraded textures and particle effects offered here, I simply can't play the game anymore with everything installed. It's not overly bad, but just bad enough where I can't hit the broad side of a barn anymore. At first I thought maybe something had happened to the reticle alignment or the size of the hit boxes or sluggish input lag, but it's just low FPS. It's frustrating because the game looks gorgeous now, but I can't play it with any competency anymore.
Yeah its definitely more blurry in VR too where It starts vibrating and shaking the loading screen so bad the mod might benefit from an epilepsy warning for VR users. giving us no time to view the mission briefings because the headset spams "NEXT UP XWING ALLIANCE LOADING....." while the briefing is looking like its being torn between dimensions and displaying the event horizon every time I load up a mission or skirmish.

Still a better experience than with EAwars. because here i can actually navigate the menus and actually have to do something like start a mission before it does this.



Its still great, but loses quality compared to not playing with a VR headset due to the dynamic cockpits being kind've blurry and far away. Also when you are being fired upon by a capital ship, or fired at in general, especially close range, the frame rate drops along with when you almost get a lock, sometimes the VR would crap out and skip a few frames. maybe a recalibration mode? Since it only tracks the initial direction you were facing when you started the launcher at the present moment.

Peaking out of the headset at the pc, nothing happened during those times to the game itself and it was running fine. I reinstalled XWAU with the latest mega patch and now im wondering how the hell do we enable VR?

It was on by default in the previous install I had with all the previous packs.


It was also funny in the Y Wing to stand up while in VR and look around because it felt like we lost the ability to look up and see where the fighter you are tailing went with your eyes, not just the targeting computer. The Y wing cockpit feels very small vertically, while movie accurate, and might benefit from some creative liberties. It felt more like theoretically strapping a pillow to the top of your helmet and attempting to look around for enemy craft.

I only bring up this Dynamic cockpit in particular because it actually lagged a lot whenever I switched movement camera tracking modes from enemy fighter to crosshairs and so on. and no it had nothing to do with that cool Astromech behind me.

You can easily get away with no VR controller support (just button mapping, no VR hands) because a non VR controller or HOTAS feels more like a pilot's joystick and using keyboard hotkeys feels more like an actual starfighter in the movies where they actually do that and click buttons to manage power, speed, ECM, and so on.

Just like at 0:34 here:

https://youtu.be/ALkmCU4DlKs?t=34
"Just like Oberon"- Kwars after shooting down a Tie hunter with a lucky shot

Post Reply