- Jul 7, 2008
- 5,558
- 25
- 91
Tonight I booted up Assassin's Creed III, and loaded the first big level of the game (Boston) to see how it would fare on my FX-8350 CPU. I know that AC3 (among other Ubisoft titles) is notorious for being poorly-optimized on PC, and I'm also aware that in CPU benchmarks, the FX-8350 ranks rather low in this game.
But, I was curious. I wanted to see it for myself. I wanted to experience the so-called "Boston FPS Drop" on my own setup.
At first, I was pleasantly surprised. Standing on an in-game rooftop and monitoring my CPU usage, AC3 appeared to be distributing its load fairly evenly across all 8 cores, without totally pegging any single core (although a couple of cores came close at about 90% usage). My thought process was: "Wow! Perhaps my CPU can handle this game after all, if it's not being maxed out. That must mean I am GPU-bottlenecked instead."
So then I fired up GPU-Z to monitor my graphics load, and... nope. My graphics card is not being fully-utilized. Not even close. On average, while running around the city, GPU usage averaged at a measly 40%-50%.
Which brings me to my main question, I guess: What is the real bottleneck here? Is it the game's fault? Poor programming?
Ideally, shouldn't I be seeing either my GPU usage or CPU usage being maxed out? But, in the case of Assassin's Creed III, neither are being used fully. I would understand if it was a single-threaded game, but from what I can see, the game appears to be using all cores (with not a single core being completely maxed out). How effectively, I don't know; but it does seem to be utilizing all of them.
So does this mean the game is poorly-optimized? Is my logic correct here, or am I over-simplifying things? If I'm wrong, please explain why my reasoning is poor. Serious, legitimate question. I'm really not sure how this stuff works.
For proof, here's an overly-obtuse screenshot of the three different monitoring utilities I was using while playing the game. Standing at a high point in the level and rendering lots of scenery. Notice how the GPU usage is sitting only at 42%, and how my CPU usage isn't terribly high either. (Also keep in mind that I am NOT running any CPU-intensive background processes to skew this.)
But, I was curious. I wanted to see it for myself. I wanted to experience the so-called "Boston FPS Drop" on my own setup.
At first, I was pleasantly surprised. Standing on an in-game rooftop and monitoring my CPU usage, AC3 appeared to be distributing its load fairly evenly across all 8 cores, without totally pegging any single core (although a couple of cores came close at about 90% usage). My thought process was: "Wow! Perhaps my CPU can handle this game after all, if it's not being maxed out. That must mean I am GPU-bottlenecked instead."
So then I fired up GPU-Z to monitor my graphics load, and... nope. My graphics card is not being fully-utilized. Not even close. On average, while running around the city, GPU usage averaged at a measly 40%-50%.
Which brings me to my main question, I guess: What is the real bottleneck here? Is it the game's fault? Poor programming?
Ideally, shouldn't I be seeing either my GPU usage or CPU usage being maxed out? But, in the case of Assassin's Creed III, neither are being used fully. I would understand if it was a single-threaded game, but from what I can see, the game appears to be using all cores (with not a single core being completely maxed out). How effectively, I don't know; but it does seem to be utilizing all of them.
So does this mean the game is poorly-optimized? Is my logic correct here, or am I over-simplifying things? If I'm wrong, please explain why my reasoning is poor. Serious, legitimate question. I'm really not sure how this stuff works.
For proof, here's an overly-obtuse screenshot of the three different monitoring utilities I was using while playing the game. Standing at a high point in the level and rendering lots of scenery. Notice how the GPU usage is sitting only at 42%, and how my CPU usage isn't terribly high either. (Also keep in mind that I am NOT running any CPU-intensive background processes to skew this.)
