Microsoft has released its highly anticipated PC version of Fable 3 a few days ago and it’s largely good as far as action RPGs go, though not without problems.  PC gamers are notoriously critical of console ports for good reason: more often than not they are simply quick cash-ins as opposed to full featured PC experiences.  There is probably no worse an indicator of this than poor performance due to a lack of optimization and polish.  The good news for Fable fans is that the game can perform decently on most computers, the bad news is that unless you own a fairly recently built rig you probably need to do some tweaking to get this game to run fairly well while looking  good.

The in-game graphical tweaks are fairly robust though not as much as most PC gamers would like; various detail sliders control the effects quality, texture quality, anisotropic filtering, model detail, terrain detail, shadow detail, and view distance.  The problem with these sliders is that they don’t really let you know what graphical effects are being changed at the different slider levels.

A quick look at the VideoOptionsConfig file in the game’s main directory with Wordpad reveals the different details and the slider level needed to switch on the effect or change the value. Setting any value above 5 in the effects section of the config will disable the effect completely.

Most of the game’s effects do not have a large impact on performance if using a graphics card made in the past 3 years.  The two exceptions being draw distance, which is largely limited by your processor, and shadow quality, which even in its most basic form cuts the framerate nearly in half.

For a low end configuration such as a laptop or one with an older video card (Geforce 8800gts, radeon 3850..etc) the following values for the VideoOptionsConfig file should make the game look like its Xbox 360 counterpart but with higher resolution shadows.  All effects are included with the exception of depth of field and temporal anti-aliasing, both of which make the game look like a horrid and blurry mess from the bygone era of awful ghosting on early LCD screens.

If any of these visual effects settings in the beginning of the config file (motion blur, bloom, SSAA, etc) are desired, they can be enabled simply by lowering their respective values in the config file to bellow 5.  Any value above 5 will disable them.

The shadow and view distance has been tweaked to give a good balance between viability and playable frame rates. This config, coupled with a reasonable resolution and hardware should allow the game to run at 30+ fps.

1) Copy these values to the VideoOptionsConfig file in the Fable 3 Directory:

<?xml version=”1.0″ encoding=”utf-8″?>
<ConfigSettings>
<IntSettings>
<BloomMinimumEffectsDetail>2</BloomMinimumEffectsDetail>
<RadialBlurMinimumEffectsDetail>2</RadialBlurMinimumEffectsDetail>
<DepthOfFieldMinimumEffectsDetail>5</DepthOfFieldMinimumEffectsDetail>
<MotionBlurMinimumEffectsDetail>2</MotionBlurMinimumEffectsDetail>
<TemporalAAMinimumEffectsDetail>5</TemporalAAMinimumEffectsDetail>
<TemporalAAMinimumEffectsDetailMGPU>99</TemporalAAMinimumEffectsDetailMGPU>
<SSAAMinimumEffectDetail>5</SSAAMinimumEffectDetail>
<SaturationMaskMinimumEffectsDetail>2</SaturationMaskMinimumEffectsDetail>
<SpecularMinimumShaderDetail>1</SpecularMinimumShaderDetail>
<EnvMappingMinimumShaderDetail>5</EnvMappingMinimumShaderDetail>
<RainAndSnowMinimumEffectDetail>1</RainAndSnowMinimumEffectDetail>
<FresnelMinimumShaderDetail>2</FresnelMinimumShaderDetail>
<TieredOcclusionMaximumModelDetail>4</TieredOcclusionMaximumModelDetail>
</IntSettings>

<FloatSettings>
</FloatSettings>

<DetailSettings>
<!– Shadow detail –>
<DirectionalShadowBufferSize>256,512,1024,2048,4096</DirectionalShadowBufferSize>
<SpotLightShadowBufferSize>256,512,1024,2048,4096</SpotLightShadowBufferSize>
<InnerShadowRangeMultiplier>0.6, 0.6, 0.6, 1.4, 1.6</InnerShadowRangeMultiplier>
<OuterShadowRangeMultiplier>0.6, 0.6, 0.6, 2.0, 2.5</OuterShadowRangeMultiplier>

<!– Water detail –>
<ReflectionTextureResolution>0,256,512,1024,2048</ReflectionTextureResolution>
<ReflectionOceanWaterResolution>0, 0, 0, 64, 256</ReflectionOceanWaterResolution>
<ReflectionPatchBoundsClip>1, 1, 1, 1, 0</ReflectionPatchBoundsClip>
<ReflectionTreesFlag>0, 0, 0, 1, 1</ReflectionTreesFlag>

<!– Tree detail –>
<TreeLODDistanceMultiplier>0.6, 1.0, 1.3, 1.6, 2.0</TreeLODDistanceMultiplier>
<TreeAnimationDetailLevel>0,1,2,2,2</TreeAnimationDetailLevel>
<TreeDrawDistanceMultiplier>0.9, 1.0, 1.2, 1.4, 1.6</TreeDrawDistanceMultiplier>

<!– HeightField detail –>
<HeightFieldLodFactor>0.5, 0.5, 0.7, 1.3, 1.5</HeightFieldLodFactor>
<HeightFieldFadeFactor>0.5, 0.7, 1.5, 3.0, 4.0</HeightFieldFadeFactor>

<!– Draw distance –>
<StaticEntityDrawDistanceMultiplier>1.0, 1.5, 3.0, 4.0, 6.0</StaticEntityDrawDistanceMultiplier>
<AnimatedEntityDrawDistanceMultiplier>1.0, 1.2, 3.0, 4.0, 6.0</AnimatedEntityDrawDistanceMultiplier>
<VillagerDrawDistanceMultiplier>1.0, 1.0, 2.0, 3.0, 4.0</VillagerDrawDistanceMultiplier>
<CreatureDrawDistanceMultiplier>1.0, 1.0, 2.0, 3.0, 4.0</CreatureDrawDistanceMultiplier>
<StaticMultipleMeshDrawDistanceMultiplier>1.0, 1.0, 2.0, 2.5, 3.0</StaticMultipleMeshDrawDistanceMultiplier>
<RepeatedMeshDrawDistanceMultiplier>0.0, 1.0, 2.0, 3.0, 4.0</RepeatedMeshDrawDistanceMultiplier>

<!– Model detail –>
<LodScreenFractionMultiplier>1.0, 2.0, 3.0, 4.0, 5.0</LodScreenFractionMultiplier>
<BoneLODDistanceMultiplier>2.0, 2.0, 2.0, 3.0, 3.0</BoneLODDistanceMultiplier>

<!–Texture anisotropy –>
<MeshTextureAnisotropy>2, 2, 4, 8, 16</MeshTextureAnisotropy>
<GroundTextureAnisotropy>2, 2, 4, 8, 16</GroundTextureAnisotropy>
<GroundNormalAnisotropy>2, 2, 4, 8, 16</GroundNormalAnisotropy>

<!– Texture pool sizes –>
<TexturePool0>1024</TexturePool0>
<TexturePool1>1024</TexturePool1>
<TexturePool2>64,  96, 128</TexturePool2>
<TexturePool3>64,  96, 128</TexturePool3>
<TexturePool4>96, 160, 256</TexturePool4>
<TexturePool5>32,  80, 128</TexturePool5>
<TexturePool6>16,  96, 192</TexturePool6>
<TexturePool7>12,  48,  64</TexturePool7>
<TexturePool8> 6,  32,  96</TexturePool8>
<TexturePool9> 4,  24,  32</TexturePool9>

<!– Benchmark scores for auto-calibration–>
<ModelDetailDefaultBenchmarkScoreCPU>0,2,3,4,5</ModelDetailDefaultBenchmarkScoreCPU>
<WaterDetailDefaultBenchmarkScoreCPU>0,3,4,6,10</WaterDetailDefaultBenchmarkScoreCPU>
<ShadowDetailDefaultBenchmarkScoreCPU>0,3,4,6,10</ShadowDetailDefaultBenchmarkScoreCPU>
<DrawDistanceDefaultBenchmarkScoreCPU>0,3,4,6,9</DrawDistanceDefaultBenchmarkScoreCPU>

<TextureDetailDefaultBenchmarkScoreGPU>0,2.5,3,4,6</TextureDetailDefaultBenchmarkScoreGPU>
<ModelDetailDefaultBenchmarkScoreGPU>0,2,3,4,6</ModelDetailDefaultBenchmarkScoreGPU>
<WaterDetailDefaultBenchmarkScoreGPU>0,3,5,8,14</WaterDetailDefaultBenchmarkScoreGPU>
<ShadowDetailDefaultBenchmarkScoreGPU>0,4,8,12,16</ShadowDetailDefaultBenchmarkScoreGPU>
<EffectsDetailDefaultBenchmarkScoreGPU>0,2,3,4,4</EffectsDetailDefaultBenchmarkScoreGPU>
<EnvironmentDetailDefaultBenchmarkScoreGPU>0,2,4,6,8</EnvironmentDetailDefaultBenchmarkScoreGPU>
<TreeDetailDefaultBenchmarkScoreGPU>0,2.5,4,6,8</TreeDetailDefaultBenchmarkScoreGPU>
<DrawDistanceDefaultBenchmarkScoreGPU>0,3,6,10,14</DrawDistanceDefaultBenchmarkScoreGPU>

</DetailSettings>

</ConfigSettings>

2) Set the Graphics to the following options (Set textures at high if your video card has less than 1GB of VRAM)

3) The game should look like this: 

This config was tested on an Acer 3820TG notebook with a Radeon 6650m and an Intel core i5 CPU and a desktop with a Radeon 4850 and a Phenom II x4 Processor.   V-sync was enabled on both machines and limits the framerate to 30fps.  If your computer is equipped with a more modern card like a Geforce 480GTX or a Radeon 5870 then it may be worth using D3DOverider to force the V-sync to render the game at a locked 60fps, though I found 30fps to be adequate for this type of action RPG.

A full review of the PC version of Fable 3 will be posted soon.

If you have any further tweaks for Fable 3 or suggestions for future tweak guides, post them in the comments section.