Jump to content

What's My Bottleneck?


MillionsKNives

Recommended Posts

I'm a bit confused and hoping that some of you more knowledgeable than I am can help explain. I was running NiM Brontes last night and noticed that my framerate was sitting at around only 45fps. I checked my usage and Asus GPU tweaker said that my card was only at 40% usage. The Windows performance monitor also showed that my CPU was only at 60%, for all four cores, without really any spikes in the usage graph. Which is kind of interesting since I don't remember SWTOR using all cores evenly before, and if it's CPU bound why is the graph so steady? Its temperature was pretty steady at 50C. The swtor fps monitor shows red, indicating that it should be CPU bound.

 

I'm running a 4690k (stock), with a GTX980, 2x8GB of RAM at 1866MHz, and running off of an SSD. What could my bottleneck be? Is the monitor lying? Is the CPU being throttled for some reason?

Edited by MillionsKNives
Link to comment
Share on other sites

who says there has to be a bottleneck?

 

Game uses both the GPU and the CPU but neither may be used 100% of the time at the same time. SSD helps with loading and zoning wont affect much of your game play beyond that. Memory and memory speed have an effect but that is typically in making transitions smoother and having things render faster.

 

I don't really see a bottle neck, game is probably not utilizing multiple cores (not many games really do) really it just allows the OS to do background stuff while the foreground is being used. 60% just means not much else running in the background.

 

There is not much that required to be rendered not a lot of effects that would cause spikes or lots of detail (grass for instance). Few players and nobody zoning in/out reduces that number so not a huge load on the GPU either.

 

its probably a mix of not taking full advantage of a multi-core processor and context switching between GPU/CPU making one have to wait for the other at times (color of the FPS meter tells you if GPU or CPU usage). Toss in a network latency where the PC is waiting on player position information or other details from the server and it does not have all the information to draw multiple frames.

 

FPS isn't just the pretty picture on the screen. FPS also include all the underneath calculations for hits, misses, damage, position, etc. Coincidentally that is how they come up with minimum specks, figure out how much code needs to execute per frame * the minimum frame per second rate desired will result in the frequency at which the code needs to execute, hence minimum performance spec. This is also why some older games bad on modern machines, they can execute so quickly that internal timing is off and game can not handle executing at 100+ fps which is why they are sometimes capped at a maximum performance.

Link to comment
Share on other sites

If you have 1080p resolution and not 4K then ignore "the mighty" DOHboy and seek for the truth (and try my weak "solution"). Maybe the drivers! Try older/newer versions for your 980-monster . :)

 

Also try to disable v-sync or enable adaptive v-sync in nvidia panel.

Edited by Glower
Link to comment
Share on other sites

Not sure, try borderless windowed mode for the game and "run as admin" in game shortcut properties (compatibility tab)

 

btw this is a wrong sub-forum... :)

 

It's already in borderless windowed mode, though I can try running as admin and see if that helps.

 

I thought this was a bit more general than a real CS type of issue.

 

who says there has to be a bottleneck?

 

Well something is keeping my framerate down isn't it.

 

Game uses both the GPU and the CPU but neither may be used 100% of the time at the same time. SSD helps with loading and zoning wont affect much of your game play beyond that. Memory and memory speed have an effect but that is typically in making transitions smoother and having things render faster.

 

I'm aware of what the benefits for each of the components are, but I'm at a loss as to what could possibly be holding back my performance. From any indication it should be the CPU, but it's not even being fully utilized.

 

I don't really see a bottle neck, game is probably not utilizing multiple cores (not many games really do) really it just allows the OS to do background stuff while the foreground is being used. 60% just means not much else running in the background.

 

I honestly wasn't expecting the cores to be so even. Each core was sitting at only around 60%, not just the overall usage. I was expecting one core to be sitting at a much higher usage than the rest, around 100%.

 

There is not much that required to be rendered not a lot of effects that would cause spikes or lots of detail (grass for instance). Few players and nobody zoning in/out reduces that number so not a huge load on the GPU either.

 

For a fight like that there can be a lot of effects going on, but I agree that I don't think it was the GPU. The in-game FPS monitor also indicates otherwise as well.

 

its probably a mix of not taking full advantage of a multi-core processor and context switching between GPU/CPU making one have to wait for the other at times (color of the FPS meter tells you if GPU or CPU usage). Toss in a network latency where the PC is waiting on player position information or other details from the server and it does not have all the information to draw multiple frames.

 

The meter gives a flat red, it's not waiting on the graphics card. The game also doesn't wait for the network in order to draw new frames. It draws with the information it has. Otherwise, any time you had a disconnect or a network slowdown the game would grind to a halt for framerate.

 

FPS isn't just the pretty picture on the screen. FPS also include all the underneath calculations for hits, misses, damage, position, etc. Coincidentally that is how they come up with minimum specks, figure out how much code needs to execute per frame * the minimum frame per second rate desired will result in the frequency at which the code needs to execute, hence minimum performance spec. This is also why some older games bad on modern machines, they can execute so quickly that internal timing is off and game can not handle executing at 100+ fps which is why they are sometimes capped at a maximum performance.

 

Yes, that would be taken care of by the CPU, which isn't even capped on a single core. This game is not old enough to not be able to handle the speed of a single core on a 3.5GHz CPU.

 

If you have 1080p resolution and not 4K then ignore "the mighty" DOHboy and seek for the truth (and try my weak "solution"). Maybe the drivers! Try older/newer versions for your 980-monster . :)

 

Also try to disable v-sync or enable adaptive v-sync in nvidia panel.

 

Yeah, I'm running at 1080p. I've got the latest drivers (as far as the Geforce Experience is telling me). I don't think v-sync can be enabled in windowed (fullscreen), but I doubt it is seeing as I was getting around 100fps outside of combat.

Link to comment
Share on other sites

Is 45fps making your experience of the game noticeably worse?

 

I'd expect some drop in frame rate during combat, especially in 8 man or greater content. There's simply a great deal more going on in the graphics department than when you're just standing around.

 

Yes, I'd say that anything less than 60fps is less than my ideal playing experience. I wouldn't care if this game was actually pushing my hardware to the limit and couldn't handle the graphics being thrown at it, but it's not. Less than half of my graphics power is being used, and only a little bit more than half of my CPU.

Link to comment
Share on other sites

If you have 1080p resolution and not 4K then ignore "the mighty" DOHboy and seek for the truth (and try my weak "solution"). Maybe the drivers! Try older/newer versions for your 980-monster . :)

 

Also try to disable v-sync or enable adaptive v-sync in nvidia panel.

 

you missed the point.

 

There is a lot more going on under the hood than just drawing the pictures. The FPS is not simply the frequency of updates pretty animations/drawings. It also includes all the calculations performed for everything. Think of it this way, an entire pass through the code is considered one frame. This includes every possible calculation that would need to be made on that pass (GCD timer checks, crew skills, damage calculations, etc). The number of frames drawn per second is updated periodically to indicate a measure of performance.

 

so when a thread/function takes longer to calculate (more calculations or takes longer) the frame rate can drop even with simple or no animations being drawn at all. This can be seen when loading/zoneing and there are zero things being drawn (static image) yet FPS drop extremely low., the contrary is also true when very little is happening on screen frame rates can jump into the 100's very quickly.

Link to comment
Share on other sites

Hero engine is your bottleneck. I have a mighty spec, too, and swtor's performance is far from expected while I can run packed warzones and areas in World of Warcraft, all maxed out with even v-sync on.

 

WoW has quests with like 100s of NPCs in the area. You can't have that in TOR. Gravity Hook Seven and its fps...lol

Edited by Alec_Fortescue
Link to comment
Share on other sites

you missed the point.

 

There is a lot more going on under the hood than just drawing the pictures. The FPS is not simply the frequency of updates pretty animations/drawings. It also includes all the calculations performed for everything. Think of it this way, an entire pass through the code is considered one frame. This includes every possible calculation that would need to be made on that pass (GCD timer checks, crew skills, damage calculations, etc). The number of frames drawn per second is updated periodically to indicate a measure of performance.

 

so when a thread/function takes longer to calculate (more calculations or takes longer) the frame rate can drop even with simple or no animations being drawn at all. This can be seen when loading/zoneing and there are zero things being drawn (static image) yet FPS drop extremely low., the contrary is also true when very little is happening on screen frame rates can jump into the 100's very quickly.

 

Right, but if it's being slowed down because of how much it needs to calculate then it should be at least saturating one of the CPU cores, but it's not. I've still got plenty of headroom that's not being used.

Link to comment
Share on other sites

Right, but if it's being slowed down because of how much it needs to calculate then it should be at least saturating one of the CPU cores, but it's not. I've still got plenty of headroom that's not being used.

EDIT: Forget what I said.

Edited by teclado
Link to comment
Share on other sites

Right, but if it's being slowed down because of how much it needs to calculate then it should be at least saturating one of the CPU cores, but it's not. I've still got plenty of headroom that's not being used.

 

I think you are expecting it to be just a single issue, its not. Its a small combination of things here and there that add up over time.

 

50fps is 20ms per frame. If a thread requests a 5ms wait for some reason (timer not completed, delay in some type of communication etc) or a thread is not quite completed and thus has to delay a cycle that might be enough to drop you down to 45 fps for that second since that particular frame may not have completed. The processor may not actually be DOING anything since it is waiting for another thread/process or some arbitrary clock to tick so it can perform its application. There are lots of things that go into this game that may be synchronous that before it can do something it much have some detail from the server. A dropped packet, delay in packets, lag, etc can cause this processing to take longer. And thus drop performance.

 

That is the major difference between a solo game and an online game. Which is why solo games can be so much higher detail and still run at 100FPS on high end systems, and why online games even on low detail can still have low FPS even on the same system. There is so much additional information being processed that they software needs that it can not quickly calculate it, even though there is still plenty of processing available. It can only do what i can with what it has. If they server and other systems are unable to keep it adequately fed, the system in general will underperform.

 

This is why the minimum specs for this game are fairly simple, the graphics and overall processing are only a small portion of the game. that even low end systems can handle it, and you do not necessarily benefit from having a powerhouse system.

Link to comment
Share on other sites

What color is the FPS indicator in the game?

 

The game uses different colors for GPU-bound versus CPU-bound.

I think red means GPU bound but you might want to research that.

 

I think I mentioned somewhere earlier that it was red. Either that or I meant to include it.

 

I always remembered GPU bound being green. I just googled it for a bit and got very mixed results of people saying red is CPU and others saying red is GPU. I did manage to find one CS rep back in 2012 saying that red is GPU.

 

Greetings All,

 

So the actual explanation of the FPS display colors:

 

Red = Rendering bound/Video Card

Green = Simulation bound/CPU

Yellow = Mix of both

Current FPS (Lowest FPS over the last 10 seconds or so)

 

@nrazen_nl: some things just don't get into the patchnotes.

 

Thank you for playing Star Wars: The Old Republic

 

Well if that's still the case then I had it completely backwards and CPU should not be an issue at all based on the FPS meter, but instead the GPU, or more likely something else related to rendering. I think when I get home I'll do some more tests to see if I can narrow it down more.

Link to comment
Share on other sites

I think I mentioned somewhere earlier that it was red. Either that or I meant to include it.

... I did manage to find one CS rep back in 2012 saying that red is GPU.

 

If it is GPU bound you may want to try running a GPU benchmark, such as 3Dmark from http://www.futuremark.com, and comparing it against published results for your card to ensure that your card is operating properly.

 

And if you have NVidia's game-optimization utility running, you might want to look at what settings it is applying. I know the new NVidia cards have a mode that runs games at 4K resolution and then downsamples for the lower-res display, and while it is supposed to look great it is a major performance hit. Make sure that mode is off.

And you might also want to turn off the NVidia video capture utility if it is on, see if that helps.

Edited by BuriDogshin
Link to comment
Share on other sites

If it is GPU bound you may want to try running a GPU benchmark, such as 3Dmark from http://www.futuremark.com, and comparing it against published results for your card to ensure that your card is operating properly.

 

And if you have NVidia's game-optimization utility running, you might want to look at what settings it is applying. I know the new NVidia cards have a mode that runs games at 4K resolution and then downsamples for the lower-res display, and while it is supposed to look great it is a major performance hit. Make sure that mode is off.

And you might also want to turn off the NVidia video capture utility if it is on, see if that helps.

 

A few things to note is that there are areas of the game where I can tell that it's taxing my GPU, where I'll see the usage spike to 100%, or thereabouts. I can also run BF4 on ultra at a steady 110 fps. So, I don't think it's my card's overall performance. For this fight it was sitting at about 40% usage.

Link to comment
Share on other sites

A few things to note is that there are areas of the game where I can tell that it's taxing my GPU, where I'll see the usage spike to 100%, or thereabouts. I can also run BF4 on ultra at a steady 110 fps. So, I don't think it's my card's overall performance. For this fight it was sitting at about 40% usage.

 

That's one reason I mentioned the NVidia game-by-game optimization utility as something to investigate: it applies different settings to different games, without your input on the matter.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.