Questions regarding expected video card performance in Ultra Mode


Back_Blast

 

Posted

Issue 17 is live and Ultra Mode is lovely, but I have a couple questions regarding performance we should be expecting, and whether there's something wrong with my setup or with the game. Prior to I17 launching, and prior to enabling Ultra Mode after launch, my FPS was generally pegged to VSync with some dips depending on the zone, but generally never below 50FPS.

To start, the pertinent system information:
CPU: Intel Core i7-860, 2.8GHz, Turbo mode Enabled.
Motherboard: ASUS P7P55D
Chipset: Intel P55
RAM: G.Skill DDR3-1600 @ 1600MHz, 9-9-9-24 timings, 8GB
PSU: Corsair, 750W
Video: BFG GeForce GTX275 OC, 896MB RAM, running at PCI-E 2.0x16
Video clocks: Core - 648 MHz, Memory - 1152 MHz, Shader - 1440 MHz
Video driver version: Nvidia Forceware 197.44, OpenGL 3.3.
OS: Windows 7 Professional x64

And the pertinent City of Heroes client graphics settings:
Graphics:
Screen/UI Resolution - Windowed
3D Resolution Scaling - 1440x900
Gamma - 100%
FSAA - 4x
Advanced Graphics Settings - Enabled
Graphics Quality - Customized

Ultra Mode Options:
Shadow Mode - Shadow Maps
Shadow Map Shader - High Quality
Environmental Reflections - High Quality
Water Effects - Ultra Quality
Advanced Occlusion Settings - Enabled
Ambient Occlusion - Customized

Advanced Ambient Occlusion Settings
Occlusion Strength - Medium
Ambient Resolution - Performance
Blur - Bilateral

Advanced Graphics Settings:
Suppress FX When Close - Disabled
AGEIA(TM) PhysX(TM) support - N/A
Particle Physics Quality - Medium
World Texture Quality - Very High
Character Texture Quality - Very High
World Detail - 100%
Character Detail - 100%
Max Particle Count - 50000
Vertical Sync - Enabled
Mouse Cursors - Color
Use Geometry Buffers - Enabled
Anisotropic Filtering - 4x
Texture Crispness - Smooth
Shader Quality - High
Depth of Field Effects - Enabled
Bloom Effects - Regular
Bloom Amount - 100%
Desaturation Effects - Enabled

I am using TechPowerUp's GPU-Z, version 0.4.2, to monitor the specs on my card as the game is running. What I am noticing, standing in the spot shown in the screenshot below, is this.

Not moving, just looking forward, my framerate according to /showfps is approximately 30-32 FPS, with peaks up to 35 or so. According to GPU-Z, my GPU load is only 66-70%, Memory Controller load is only 7%, and Memory Used is somewhere around 530-540MB. If I change Particle Physics Quality to High, for some magical reason I _gain_ 10-15FPS, GPU load goes up to ~80%, Memory used to ~590MB, Memory Controller load to ~15%.

Of note, there is no apparent difference in performance between 197.44 and 197.45, FPS-wise, though I did not check Particle Physics Quality prior to changing driver versions. I was surprised when I logged onto Test for the 6 Year Anniversary celebration to find my FPS so low there, I remembered higher FPS earlier in the beta for I17.

My questions, based on this information, are thus:

1) What performance SHOULD I be expecting with the settings I have, on the system I have?
2) Why is the client _not_ utilizing my graphics card to its full extent? Shouldn't the GPU load be pegged if my FPS is this low?
3) Am I looking at an issue with the game client itself (optimization issues, whatever), with my driver, or with my actual hardware?

Your thoughts on the matter are appreciated.

The screenshot:


This is taken in Atlas Park, directly in front of the base portal, facing towards Steel Canyon.


"Yes, yes this is a fertile land and we will thrive. And we shall rule over this land, and call it... ... This Land."

Virtue:
Main: Mikuruneko (50, Katana/Regen Scrapper)
Alts: Many

 

Posted

With vsync enabled, the GPU will wait for the end of the vertical sync to swap buffers (so you don't get tearing) and this can caus the GPU to go idle.

Also, if the CPU is not feeding the GPU data fast enough (or feeding it too much data which is taking too long to get to the GPU), then the GPU could be idle while waiting for more data to process.

You did not mention what resolution you were running at which makes a huge difference.

Also, other applications running on your machine can compete for resources (CPU/memory/disk access/network access/GPU) which can cause the game to not run optimally.

I think you should get some benchmarking tools and compare them to other people's results which similar hardware. Remember that CoX is an OpenGL based game. So doing DirectX benchmarks may not necessarily translate to OpenGL performance.


 

Posted

I'm getting comparable FPS to you with a similar system (differences: Core 2 Duo @ 3.6Ghz, 4Gb RAM). There's just something screwy with shadow maps. Changing the shadow shader quality does nothing to the FPS on my system. There are a ton of odd FPS black holes Redside (looking straight down at the ground, looking close up at walls). Lowering the world detail helps this (to below 100%), which leads me to believe that the game is rendering non-visible shadows when it shouldn't be.


Branching Paragon Police Department Epic Archetype, please!

 

Posted

Quote:
Originally Posted by Mikuruneko View Post

And the pertinent City of Heroes client graphics settings:
Graphics:
Screen/UI Resolution - Windowed
3D Resolution Scaling - 1440x900
Gamma - 100%
FSAA - 4x
Advanced Graphics Settings - Enabled
Graphics Quality - Customized

Ultra Mode Options:
Shadow Mode - Shadow Maps
Shadow Map Shader - High Quality
Environmental Reflections - High Quality
Water Effects - Ultra Quality
Advanced Occlusion Settings - Enabled
Ambient Occlusion - Customized

Advanced Ambient Occlusion Settings
Occlusion Strength - Medium
Ambient Resolution - Performance
Blur - Bilateral

Advanced Graphics Settings:
Suppress FX When Close - Disabled
AGEIA(TM) PhysX(TM) support - N/A
Particle Physics Quality - Medium
World Texture Quality - Very High
Character Texture Quality - Very High
World Detail - 100%
Character Detail - 100%
Max Particle Count - 50000
Vertical Sync - Enabled
Mouse Cursors - Color
Use Geometry Buffers - Enabled
Anisotropic Filtering - 4x
Texture Crispness - Smooth
Shader Quality - High
Depth of Field Effects - Enabled
Bloom Effects - Regular
Bloom Amount - 100%
Desaturation Effects - Enabled
Bolded the resolution for Tex to see easier.

I'd recommend turning off either Ambient Occlusion or FSAA.

At least, I think those are the two settings that don't seem to play nicely together.

But I'm old and forgetful.


If the game spit out 20 dollar bills people would complain that they weren't sequentially numbered. If they were sequentially numbered people would complain that they weren't random enough.

Black Pebble is my new hero.

 

Posted

Quote:
Originally Posted by Tex View Post
With vsync enabled, the GPU will wait for the end of the vertical sync to swap buffers (so you don't get tearing) and this can caus the GPU to go idle.

Also, if the CPU is not feeding the GPU data fast enough (or feeding it too much data which is taking too long to get to the GPU), then the GPU could be idle while waiting for more data to process.

You did not mention what resolution you were running at which makes a huge difference.

Also, other applications running on your machine can compete for resources (CPU/memory/disk access/network access/GPU) which can cause the game to not run optimally.

I think you should get some benchmarking tools and compare them to other people's results which similar hardware. Remember that CoX is an OpenGL based game. So doing DirectX benchmarks may not necessarily translate to OpenGL performance.
I'll try turning off VSync and see if that changes things. As Texas Justice pointed out helpfully for me, I am running in Windowed mode at 1440x900. I will also do a test from a clean boot without starting up most of my other applications I usually run and see if that makes a difference. Should Windowed versus Fullscreen mode affect FPS any?


Regarding CPU usage: I don't think Process Explorer shows affinity for threads, but City of Heroes typically is using about 17% CPU time, and my usual total CPU utilization sits around 24%, which was the case when I took these readings.

I'll try to find some good OpenGL benchmark software to get a comparison.

UPDATE 1: Standing in Pocket D on Live, with VSync turned on: ~31fps. With VSync turned _off_: ~40-45fps, fluctuating and going lower as more people show up in my field of view. HUH. However, it's still not pushing my GPU to its max.

UPDATE 2: The only pure OpenGL benchmarker I could find after a reasonable Google search was FurMark, so I did some testing with that using the latest version, 1.8.2.

I ran it in Benchmark Mode, Windowed at a resolution of 1440x900, with Displacement Mapping, Post FX, and 16X MSAA turned on, for a duration of 1 minute. This resulted in a max GPU load of 88%, a max Memory Controller load of 59%, and a FurMark score of 3462, with a minimum FPS of 53, and a maximum of 65, 58fps average.

When ran with the FurMark standard benchmark settings of Fullscreen, 1280x1024, no MSAA, no Displacement Mapping, no Post FX, for 1 minute, the FurMark score I received was 5182, which based on their comparison table on the FurMark website, puts my card's performance somewhere between a Radeon HD 4870 and 2 overclocked 8800GTX cards in SLI.

This is all with stock Nvidia Control Panel settings. Benchmarking for this update was performed running the typical application spread I run on my system. I'll provide additonal information if a fresh reboot without usual additional applications yields any significant difference.

I'm curious to see what other people are able to get running the same benchmark.


"Yes, yes this is a fertile land and we will thrive. And we shall rule over this land, and call it... ... This Land."

Virtue:
Main: Mikuruneko (50, Katana/Regen Scrapper)
Alts: Many

 

Posted

Something I've also seen elsewhere is that with the faster GPUs you can in fact bottleneck at the CPU. Meaning that if the CPU can't feed data to the GPU at or faster than the GPU can process it, the GPU can tend to idle while it waits for the CPU to catch up. That may be some of the issue. If you look at the review sites when they review a new video card, you'll see they almost always are running some absurdly overclocked to the bleeding-edge system for their testing. The reason is quite simple. They're trying to make sure that their testing rig doesn't have any bottlenecks that will slow down the card's performance. They want the card to be the bottleneck, not some other component of the rig so they can fairly evaluate what it can do. This may be at least some of your issue with the low GPU utilization you're seeing. Your CPU may not be fast enough to fully keep up with the GPU.

But also consider you are somewhat comparing apples and oranges here. I17 brings in UM which does have it's own hardware toll to take. So some FPS loss when you turn it on is perhaps not totally out of the question.


It is known that there are an infinite number of worlds, simply because there is an infinite amount of space for them to be in. However, not every one of them is inhabited. Therefore, there must be a finite number of inhabited worlds. Any finite number divided by infinity is as near to nothing as makes no odds, so the average population of all the planets in the Universe can be said to be zero. From this it follows that the population of the whole Universe is also zero, and that any people you may meet from time to time are merely the products of a deranged imagination.

 

Posted

Quote:
Originally Posted by Back_Blast View Post
But also consider you are somewhat comparing apples and oranges here. I17 brings in UM which does have it's own hardware toll to take. So some FPS loss when you turn it on is perhaps not totally out of the question.
True, but there are some major oddities that seem to point to issues with the UM code.


Branching Paragon Police Department Epic Archetype, please!