X3:TC Performance Issues

Ask here if you experience technical problems with X³: Terran Conflict, X³: Albion Prelude or X³: Farnham's Legacy.

Moderators: timon37, Moderators for English X Forum

cakes
Posts: 269
Joined: Sat, 7. Feb 04, 19:55
x4

Post by cakes »

If you've turned intel speed step off in the BIOS, that might explain the lack of options.
djnoob
Posts: 30
Joined: Sat, 22. Dec 12, 09:32
x4

Post by djnoob »

So here is what I'm talking about with regard to odd cpu usage.

Here is an image showing my cpu usage running another 32bit app. Black Mesa Source which runs on the source engine and only uses a single cpu core.

[ external image ]


Now Here is an image showing my cpu usage running x3:tc

[ external image ]

If you look at core 0/1, you'll notice at the beginning there is a area of fairly high cpu usage on those two cores. That is just sitting in the main menu screen. Then once I start the game....the cpu usage just goes nuts up and down on the usage. Because the cpu usage is so erratic it's almost impossible to tell what core the game is even using. And looking at this, that's why I said it almost seems like the load is being spread out over the different cores. Seriously, WTF is going on here.

Again I ask if someone could post an image showing the cpu usage while the game is running. I'd like to see what others look like to compare.

edit: ps I did also do that reg edit to stop any core parking.
Last edited by djnoob on Tue, 8. Jan 13, 17:01, edited 1 time in total.
Alan Phipps
Moderator (English)
Moderator (English)
Posts: 31812
Joined: Fri, 16. Apr 04, 19:21
x4

Post by Alan Phipps »

I am a layman in terms of modern cpus but I was under the impression that a good OS and BIOS managing a multi-core cpu would regularly swap the core used even for single-thread exes to balance out heat and power stress accumulation across the cores to maintain a good overall cpu lifetime. Naturally if that switching happens too frequently it can become inefficient in processing terms too.

Of course you can set core affinity if you wish but I was always told it was generally best to leave it to the OS/BIOS to manage things as intended.
A dog has a master; a cat has domestic staff.
djnoob
Posts: 30
Joined: Sat, 22. Dec 12, 09:32
x4

Post by djnoob »

No, it won't swap cores.

Again, could someone PLEASE post a pic of their cpu usage while in game.
djnoob
Posts: 30
Joined: Sat, 22. Dec 12, 09:32
x4

Post by djnoob »

Just thought I'd add another image that show the hitching I was talking about

[ external image ]

Look at the gpu usage and framerate that is highlighted. When those dips happen the screen freezes for a moment then goes back to normal. They happen totally randomly. The more stuff that is going on at the time they happen, the bigger the freeze.
half0
Posts: 187
Joined: Sun, 5. Mar 06, 03:31
x3tc

Post by half0 »

Trust me I know that lag issues can be a real pain especially when it should be running fine with awesome hardware

@cakes
The reason he has 2 video devices coming up is because he has two monitors.

One thing I would try is to either disconnect the second monitor or run both of them at the same resolution. I had issues playing on my multi-monitor setup with some older ATI drivers.

Another thing to check is if your drivers have any type of "AI" I'm not sure about nvidia as I haven't had any of their cards in a long time but ATI has whats called "catalyst AI" that tries to make games look better directly from the drivers. I had this enabled a while back and it took my game to a crawl.
Those who are afraid of the dark has never seen what the light can do
cakes
Posts: 269
Joined: Sat, 7. Feb 04, 19:55
x4

Post by cakes »

Did you ever give your BIOS a reset, to defaults? If not try it. You can always reconfigure the BIOS after some testing.

Here's a snip of my CPU usage under the same conditions as you asked:

[ external image ]

As you can see there's minor activity on the other cores whilst X3 is running.

If you go to Resource Monitor, under the CPU tab, you'll see a CPU column in the Processes field, this shows you the CPU ID (starting from zero) for the process in question. You should be able to deduce from here, which process(es) are causing the issue on your other cores.
half0 wrote:One thing I would try is to either disconnect the second monitor or run both of them at the same resolution.
Certainly give this a bash, for the reasons suggested.
djnoob
Posts: 30
Joined: Sat, 22. Dec 12, 09:32
x4

Post by djnoob »

Cakes were you in actually in game (in space) or just at the main menu when you took that screen shot? It's important because when I'm at the menu screen my cpu usage is VERY different than when I'm in game. The screen shot I posted was when I was in game and that's what I need to compare to.


The cpu column in the resource mon is the usage %, not cpu id.

I did do a default bios test. I even loaded up the latest bios just to be sure I was on the newest one. The only thing I changed was the mem timings/voltage and the ahci settings because I'm running a ssd.

I'll try disconnecting the 2nd monitor and see if there's any difference.
cakes
Posts: 269
Joined: Sat, 7. Feb 04, 19:55
x4

Post by cakes »

In game. The first spike you see on CPU 0 is the game starting/menu screen. The dip is loading and the second spike is in game.

In Resource Monitor, limit the monitoring to CPU 1-3 or one of them, and note which process is causing the issue on one or all the cores being monitored.

Yes you're right about the column, I should really stop trying to do this from memory whilst using my phone to post. I meant to say use the technique above for monitoring the CPU ID, and monitor the usage to identify the process(es) causing the issue.
djnoob
Posts: 30
Joined: Sat, 22. Dec 12, 09:32
x4

Post by djnoob »

ok so I think I figured something out here and it looks like I was very wrong on an earlier point.

So I started up the game to do some more monitoring. For the first min or two after getting in game, it was obvious that the game was running on core 0. Then all of a sudden, the usage on core 0 drops and the usage spikes on another core. Then after another 30 sec or so, the usage goes back up on core 0 and then drops on the other core. So IT IS in fact switching the game between different cores. I just was able to see it this time around because it wasn't switching so frequently. So this explains the crazy cpu usage in the screen shot I posted.

So now the question is how do I fix this.
edit: I'll try setting the affinity and see how that goes.
Alan Phipps
Moderator (English)
Moderator (English)
Posts: 31812
Joined: Fri, 16. Apr 04, 19:21
x4

Post by Alan Phipps »

So the advice that I had been given before on muticore cpus and their OS/BIOS management wasn't completely barking - well that is good to know. I would be very interested if you find out whether it is the OS or the BIOS that controls that aspect.

That leads me to one point, could it be that the OS/BIOS is switching core so frequently in your case because it senses some sort of core stress (heat or power) in-game from X3 whereas not from Black Mesa? In that case setting core affinity may not be such a good idea at all.

Have you ever tried a multicore stress testing program?
A dog has a master; a cat has domestic staff.
cakes
Posts: 269
Joined: Sat, 7. Feb 04, 19:55
x4

Post by cakes »

@Alan Phipps - Yes mate, it was reasonable advice and in the norm, Win7 is fairly competent at handling it.

@djnoob - Ok...monitor core zero only. Then when you notice the issue look at whatever is the high cpu processes on core zero. It might tell you what is causing the X3 process to defer and jump cores. In addition, if you have turbo mode for that model of CPU, try turning it off. As Alan suggested you might be hitting a thermal barrier, which may be caused by turbo mode messing about with core frequencies and clocks on a particular CPU.
User avatar
Sam L.R. Griffiths
Posts: 10522
Joined: Fri, 12. Mar 04, 19:47
x4

Post by Sam L.R. Griffiths »

Based on these specs from Intel for the specified CPU we can say the following:-
  • It has Hyperthreading capability - user has it turned off
  • It has Turbo boost capability
  • It does not have Intel's own demand based switching
  • It does not have thermal monitoring
Lenna (aka [SRK] The_Rabbit)

"Understanding is a three edged sword... your side, their side... and the Truth!" - J.J. Sheriden, Babylon 5 S4E6 T28:55

"May god stand between you and harm in all the dark places you must walk." - Ancient Egyption Proverb

"When eating an elephant take one bite at a time" - Creighton Abrams
djnoob
Posts: 30
Joined: Sat, 22. Dec 12, 09:32
x4

Post by djnoob »

cakes wrote:@Alan Phipps - Yes mate, it was reasonable advice and in the norm, Win7 is fairly competent at handling it.

@djnoob - Ok...monitor core zero only. Then when you notice the issue look at whatever is the high cpu processes on core zero. It might tell you what is causing the X3 process to defer and jump cores. In addition, if you have turbo mode for that model of CPU, try turning it off. As Alan suggested you might be hitting a thermal barrier, which may be caused by turbo mode messing about with core frequencies and clocks on a particular CPU.
There is no way to know what process is running on core 0. Like I said earlier, resource monitor doesn't list processes by what core they are on.

So I tested with setting the affinity to a single core. There really wasn't any difference with respect to performance. I still see a 35% drop in framerate from scrolling through a menu. I still get the hitching although it seemed to happen less when running a single core but that could just be random chance as I can't find anything to correlate that hitching to.

I don't know what would cause the process to switch cores. It's not thermal or usage as black mesa runs at 100% without switching cores. Regardless, performance doesn't seem to change whether the game is running on a single core or switching around like crazy.
half0
Posts: 187
Joined: Sun, 5. Mar 06, 03:31
x3tc

Post by half0 »

Lol did you try to disconnect your second monitor?
Those who are afraid of the dark has never seen what the light can do
djnoob
Posts: 30
Joined: Sat, 22. Dec 12, 09:32
x4

Post by djnoob »

half0 wrote:Lol did you try to disconnect your second monitor?
Yes. Nothing different performance wise.
cakes
Posts: 269
Joined: Sat, 7. Feb 04, 19:55
x4

Post by cakes »

djnoob wrote:
cakes wrote:@Alan Phipps - Yes mate, it was reasonable advice and in the norm, Win7 is fairly competent at handling it.

@djnoob - Ok...monitor core zero only. Then when you notice the issue look at whatever is the high cpu processes on core zero. It might tell you what is causing the X3 process to defer and jump cores. In addition, if you have turbo mode for that model of CPU, try turning it off. As Alan suggested you might be hitting a thermal barrier, which may be caused by turbo mode messing about with core frequencies and clocks on a particular CPU.
There is no way to know what process is running on core 0. Like I said earlier, resource monitor doesn't list processes by what core they are on.
OK...as I said earlier, set the monitoring in ResMon to a certain core. To do this, go into the monitoring menu and tell it which core to monitor. :)

Don't assume something is invalid simply because another application doesn't exhibit the same issue. It's good to use something as a yardstick, but your issue is with X3, so any comparisons are fairly moot.
Last edited by cakes on Wed, 9. Jan 13, 18:02, edited 1 time in total.
djnoob
Posts: 30
Joined: Sat, 22. Dec 12, 09:32
x4

Post by djnoob »

cakes wrote:
djnoob wrote:
cakes wrote:@Alan Phipps - Yes mate, it was reasonable advice and in the norm, Win7 is fairly competent at handling it.

@djnoob - Ok...monitor core zero only. Then when you notice the issue look at whatever is the high cpu processes on core zero. It might tell you what is causing the X3 process to defer and jump cores. In addition, if you have turbo mode for that model of CPU, try turning it off. As Alan suggested you might be hitting a thermal barrier, which may be caused by turbo mode messing about with core frequencies and clocks on a particular CPU.
There is no way to know what process is running on core 0. Like I said earlier, resource monitor doesn't list processes by what core they are on.
OK...as I said earlier, set the monitoring in ResMon to a certain core. To do this, go into the monitoring menu and tell it which core to monitor. :)
Changing the cores monitored doesn't change what's in the list, only what is shown on the sidebar.
cakes
Posts: 269
Joined: Sat, 7. Feb 04, 19:55
x4

Post by cakes »

Fair enough...did you try turning Turbo Mode off? Or AI overclocking or whatever your BIOS calls it.

On something Roger noted, did you specifically turn HyperThreading off for some reason.
djnoob
Posts: 30
Joined: Sat, 22. Dec 12, 09:32
x4

Post by djnoob »

cakes wrote:Fair enough...did you try turning Turbo Mode off? Or AI overclocking or whatever your BIOS calls it.

On something Roger noted, did you specifically turn HyperThreading off for some reason.
Turbo mode has always been off.

I've tried running with both hyperthreading on and off. Same results.

I'm about ready to throw in the towel on this one. I swear if there was ever a game that begged to be able to use multithread/cores, this game is it.

I'm just not sure what else to do at this point.

Return to “X³: Terran Conflict / Albion Prelude / Farnham's Legacy - Technical Support”