X3:TC Performance Issues
Moderators: timon37, Moderators for English X Forum
-
- Posts: 269
- Joined: Sat, 7. Feb 04, 19:55
-
- Posts: 30
- Joined: Sat, 22. Dec 12, 09:32
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.
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.
-
- Moderator (English)
- Posts: 31812
- Joined: Fri, 16. Apr 04, 19:21
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.
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.
-
- Posts: 30
- Joined: Sat, 22. Dec 12, 09:32
-
- Posts: 30
- Joined: Sat, 22. Dec 12, 09:32
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.
[ 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.
-
- Posts: 187
- Joined: Sun, 5. Mar 06, 03:31
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.
@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
-
- Posts: 269
- Joined: Sat, 7. Feb 04, 19:55
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.
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.
Certainly give this a bash, for the reasons suggested.half0 wrote:One thing I would try is to either disconnect the second monitor or run both of them at the same resolution.
-
- Posts: 30
- Joined: Sat, 22. Dec 12, 09:32
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.
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.
-
- Posts: 269
- Joined: Sat, 7. Feb 04, 19:55
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.
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.
-
- Posts: 30
- Joined: Sat, 22. Dec 12, 09:32
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.
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.
-
- Moderator (English)
- Posts: 31812
- Joined: Fri, 16. Apr 04, 19:21
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?
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.
-
- Posts: 269
- Joined: Sat, 7. Feb 04, 19:55
@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.
@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.
-
- Posts: 10522
- Joined: Fri, 12. Mar 04, 19:47
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
"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
-
- Posts: 30
- Joined: Sat, 22. Dec 12, 09:32
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.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.
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.
-
- Posts: 187
- Joined: Sun, 5. Mar 06, 03:31
-
- Posts: 30
- Joined: Sat, 22. Dec 12, 09:32
-
- Posts: 269
- Joined: Sat, 7. Feb 04, 19:55
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.djnoob wrote: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.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.

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.
-
- Posts: 30
- Joined: Sat, 22. Dec 12, 09:32
Changing the cores monitored doesn't change what's in the list, only what is shown on the sidebar.cakes wrote: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.djnoob wrote: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.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.
-
- Posts: 269
- Joined: Sat, 7. Feb 04, 19:55
-
- Posts: 30
- Joined: Sat, 22. Dec 12, 09:32
Turbo mode has always been off.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.
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.