Before diving in to the next set of benchmarks, it’s worth making a note about how Windows 10 handles 4k. The TL;DR is “not so great”. Some things look great with Mac OS style scaling. The desktop itself doesn’t really give any hint that you’re running at the massive pixel density of 3840 x 2160 on a 15″ panel. But then certain apps, likely utilizing older raster APIs, require a magnifying glass. And still other apps, utilizing probably yet again different APIs, actually render blurry. I’ve tried to capture some of this in the images below:



To be fair Windows drags along legacy code support dating back to moldy APIs like GDI and, when it comes to rendering, is a mixed bag of lots of standards over time. Plus vector rendering has always been a “sure, why not!” rather than an enforced standard. OSX, benefiting from the Apple “nuclear option” approach, has done a better job with adapting their Aqua and Cocoa to ultra high res, but of course they also force developers forward and will drop legacy support. It’s a tradeoff and hopefully the Windows situation will improve over time as apps modernize. I can’t help but think though, with Microsoft having created all new UX paradigm confusion through Windows 7 to 8 to 10 that we may be dealing with a mixed bag for a while. Anyhow, on to the benchmarks!
BioShock Infinite
BioShock Infinite is continues to be the diametric opposite of Metro. Where Metro leaves you crying and broken, BioShock leaves you with with your head held high! Settings were basically 3840 x 2160 at “ultra max”. Settings detail is included below. The results were actually quite excellent with the 980Ti able to maintain a solid 68fps across the benchmark. Not only playable, but above the magic 60 mark!
I captured a video of this one as well using the XBox App DVR. Note that the video has about a 10fps hit on perf at 4k, so the video is reflecting a final result of 57fps. Still gives a great idea of how beautiful the game looks in 4k though!
Per Scene Stats:
Scene Duration (seconds) | Average FPS | Min FPS | Max FPS | Scene Name |
32.52 | 62.76 | 12.86 | 144.90 | Welcome Center |
7.09 | 66.71 | 37.59 | 84.01 | Scene Change: Disregard Performance In This Section |
21.81 | 66.88 | 33.24 | 116.12 | Town Center |
8.13 | 68.52 | 44.26 | 100.31 | Raffle |
9.09 | 84.40 | 33.62 | 137.05 | Monument Island |
3.02 | 89.74 | 48.42 | 116.72 | Benchmark Finished: Disregard Performance In This Section |
81.66 | 68.20 | 12.86 | 144.90 | Overall |
Settings Used:
StaticDecals | true |
DynamicDecals | true |
UnbatchedDecals | true |
DynamicShadows | true |
DirectionalLightmaps | true |
DepthOfField | true |
DiffusionDepthOfField | false |
Bloom | true |
Distortion | true |
FilteredDistortion | true |
DropParticleDistortion | false |
bAllowDownsampledTranslucency | true |
bUseMaxQualityMode | false |
OnlyStreamInTextures | false |
LensFlares | true |
OneFrameThreadLag | true |
UseVsync | false |
VsyncTo60WhenUnder30 | false |
UpscaleScreenPercentage | true |
AllowD3D10 | true |
AllowD3D11 | true |
AllowRadialBlur | true |
EnableSoftwareOcclusion | false |
EnableGPUOcclusionQueries | true |
EnableDepthPrePass | false |
bAllowWholeSceneDominantShadows | true |
bForceCPUAccessToGPUSkinVerts | false |
bDisableSkeletalInstanceWeights | false |
EnableScreenSpaceAmbientShadows | true |
EnableSPUScreenSpaceAmbientShadows | true |
UseHighQualityLightShaftRendering | true |
EnableSM5ShadowSystem | true |
EnableSM5ShadowBlur | true |
EnableLightShafts | true |
EnableFXAA | true |
EnableSM5FXAA | false |
EnableHDAO | true |
HDAOHighQuality | true |
DisableAOFiltering | false |
UseLowPrecisionColorBuffer | false |
UseHalfResAmbientShadows | false |
UseComputeShaderAmbientShadows | true |
bInitializeShadersOnDemand | false |
bEnableParallelApexClothingFetch | false |
SkeletalMeshLODBias | 0 |
ParticleLODBias | 0 |
DetailMode | 2 |
ShadowFilterQualityBias | 3 |
MaxAnisotropy | 16 |
MinShadowResolution | 64 |
MaxShadowResolution | 2048 |
MaxPerObjectShadowResolution | 2048 |
CullCastersSmallerThanTexels | 0 |
ResX | 3840 |
ResY | 2160 |
UnbuiltNumWholeSceneDynamicShadowCascades | 3 |
ShadowFadeResolution | 128 |
LightFadeResolution | 0 |
LightMinResolution | 0 |
GraphicsQualityLevel | 5 |
DisplayMode | 1 |
MaxPrecachePrimitivesPerFrame | 50 |
ApexDestructionMaxChunkIslandCount | 2147483647 |
ApexDestructionMaxShapeCount | 2147483647 |
ApexClothingAvgSimFrequencyWindow | 60 |
ScreenPercentage | 100.000 |
SceneCaptureStreamingMultiplier | 1.000 |
ShadowTexelsPerPixel | 1.273 |
ShadowDepthBias | 0.012 |
ShadowDepthBiasWorstCase | 0.003 |
CSMSplitSoftTransitionDistanceScale | 4.000 |
CSMSplitDepthBiasScale | 0.500 |
UnbuiltWholeSceneDynamicShadowRadius | 20000.000 |
ShadowFadeExponent | 0.700 |
LightFadeExponent | 1.000 |
DecalCullDistanceScale | 1.000 |
SM5ShadowSunWidth | 0.100 |
SM5ShadowSunWidthWorstCase | 50.000 |
NewShadowPenumbra | 8.000 |
NewShadowSplitPenumbraScale | 0.500 |
NewShadowFilterWidth | 2.000 |
ShadowCascadeScale | 1.000 |
NewCSMSoftTransitionDistance | 600.000 |
NewNonCSMSoftTransitionDistance | 60.000 |
MassiveLODDistanceBias | 0.100 |
CullDistanceBias | 0.100 |
StaticMeshLODDistanceBias | 0.100 |
SkeletalMeshLODDistanceBias | 0.100 |
ParticleSystemLODDistanceBias | 0.100 |
DistortionFadeResolution | 1.000 |
DistortionMinResolution | 0.000 |
SM5DiffusionNearBlurScale | 0.600 |
SM5DiffusionFarBlurScale | 0.350 |
OverallTextureStreamingBias | 1.500 |
ParticleCountHardLimitScaleFactor | 10.000 |
MaxDistanceToApplyOcclusionRotationalScaling | 5000.000 |
ApexLODResourceBudget | 1000000020040877300000.000 |
ApexDestructionMaxChunkSeparationLOD | 1.000 |
GTA V
GTA V provides a preposterous amount of customization including ATI and NVidia specific coding. It’s enough to be really daunting but the funny part is, most of the settings don’t seem to have massive visible impact (to my eye at least). This test, like the BioShock test, was “ultra max”. Or at least as close as I was able to get. The full settings detail is included below again, but all settings were basically pushed to max except where applicable, with resolution at 3840 x 2160. Total video RAM consumed was 4190GB, so this pushed above the 4GB mark. Results were also actually surprisingly good with all but two of the passes averaging 50 or higher and the worst result at just a tick below 40. More importantly minimums only dipped to a minimum of 13 and generally held above 25fps. This is actually quite playable, but could be pushed significantly higher without impacting the visuals much (if at all).
Per Scene Stats:
Frames Per Second (Higher is better) | Min | Max | Avg |
Pass 0 | 13.646277 | 75.104530 | 50.821064 |
Pass 1 | 26.738440 | 80.633537 | 39.429516 |
Pass 2 | 28.072886 | 90.179489 | 53.573467 |
Pass 3 | 39.807632 | 81.359215 | 57.577740 |
Pass 4 | 21.597679 | 109.402603 | 48.290871 |
Time in milliseconds(ms). (Lower is better). | Min | Max | Avg |
Pass 0 | 13.314776 | 73.280060 | 19.676880 |
Pass 1 | 12.401788 | 37.399342 | 25.361712 |
Pass 2 | 11.088996 | 35.621559 | 18.665956 |
Pass 3 | 12.291171 | 25.120811 | 17.367823 |
Pass 4 | 9.140551 | 46.301270 | 20.707848 |
Frames under 16ms (for 60fps) | |
Pass 0 | 4/474 frames (0.84%) |
Pass 1 | 1/367 frames (0.27%) |
Pass 2 | 91/492 frames (18.50%) |
Pass 3 | 133/536 frames (24.81%) |
Pass 4 | 345/5474 frames (6.30%) |
Frames under 33ms (for 30fps) | |
Pass 0 | 471/474 frames (99.37%) |
Pass 1 | 359/367 frames (97.82%) |
Pass 2 | 491/492 frames (99.80%) |
Pass 3 | 536/536 frames (100.00%) |
Pass 4 | 5462/5474 frames (99.78%) |
Percentiles in ms for pass 0
50% | 19.00 |
75% | 21.00 |
80% | 21.00 |
85% | 21.00 |
90% | 22.00 |
91% | 22.00 |
92% | 23.00 |
93% | 23.00 |
94% | 23.00 |
95% | 23.00 |
96% | 24.00 |
97% | 24.00 |
98% | 25.00 |
99% | 28.00 |
Percentiles in ms for pass 1
50% | 25.00 |
75% | 27.00 |
80% | 28.00 |
85% | 29.00 |
90% | 29.00 |
91% | 30.00 |
92% | 30.00 |
93% | 30.00 |
94% | 30.00 |
95% | 31.00 |
96% | 31.00 |
97% | 31.00 |
98% | 32.00 |
99% | 35.00 |
Percentiles in ms for pass 2
50% | 18.00 |
75% | 21.00 |
80% | 22.00 |
85% | 23.00 |
90% | 23.00 |
91% | 23.00 |
92% | 24.00 |
93% | 24.00 |
94% | 24.00 |
95% | 25.00 |
96% | 25.00 |
97% | 26.00 |
98% | 26.00 |
99% | 28.00 |
Percentiles in ms for pass 3
50% | 17.00 |
75% | 19.00 |
80% | 19.00 |
85% | 20.00 |
90% | 20.00 |
91% | 20.00 |
92% | 21.00 |
93% | 21.00 |
94% | 21.00 |
95% | 22.00 |
96% | 22.00 |
97% | 22.00 |
98% | 23.00 |
99% | 24.00 |
Percentiles in ms for pass 4
50% | 21.00 |
75% | 23.00 |
80% | 24.00 |
85% | 24.00 |
90% | 25.00 |
91% | 26.00 |
92% | 26.00 |
93% | 26.00 |
94% | 27.00 |
95% | 27.00 |
96% | 27.00 |
97% | 28.00 |
98% | 29.00 |
99% | 30.00 |
=== SYSTEM ===
Windows 10 Home 64-bit (6.2, Build 9200)
DX Feature Level: 11.0
Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (8 CPUs), ~2.6GHz
16384MB RAM
NVIDIA GeForce GTX 980 Ti, 6342MB, Driver Version 353.84
Graphics Card Vendor Id 0x10de with Device ID 0x17c8
=== SETTINGS ===
Display | 3840×2160 (FullScreen) @ 59Hz VSync OFF |
Tessellation | 3 |
LodScale | 1.000000 |
PedLodBias | 0.200000 |
VehicleLodBias | 0.000000 |
ShadowQuality | 3 |
ReflectionQuality | 3 |
ReflectionMSAA | 8 |
SSAO | 2 |
AnisotropicFiltering | 16 |
MSAA | 0 |
MSAAFragments | 0 |
MSAAQuality | 0 |
SamplingMode | 1 |
TextureQuality | 2 |
ParticleQuality | 2 |
WaterQuality | 2 |
GrassQuality | 3 |
ShaderQuality | 2 |
Shadow_SoftShadows | 5 |
UltraShadows_Enabled | true |
Shadow_ParticleShadows | true |
Shadow_Distance | 2.000000 |
Shadow_LongShadows | true |
Shadow_SplitZStart | 0.930000 |
Shadow_SplitZEnd | 0.890000 |
Shadow_aircraftExpWeight | 0.990000 |
Shadow_DisableScreenSizeCheck | false |
Reflection_MipBlur | true |
FXAA_Enabled | true |
TXAA_Enabled | false |
Lighting_FogVolumes | true |
Shader_SSA | true |
DX_Version | 2 |
CityDensity | 1.000000 |
PedVarietyMultiplier | 1.000000 |
VehicleVarietyMultiplier | 1.000000 |
PostFX | 3 |
DoF | true |
HdStreamingInFlight | true |
MaxLodScale | 1.000000 |
MotionBlurStrength | 0.000000 |