DX10 Scenery Fixer) Offers A Low-Cost Alternative - With

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

Rev: 1.

05 - 04 July 2014
1
Introduction
For those people not quite ready to make the Prepar3d jump,
running FSX in DX10 preview mode (along with Steves
DX10 Scenery Fixer) offers a low-cost alternative - with
many visual or stability improvements, whilst preserving
many aircraft or scenery add-ons that may not yet be fully
P3D compatible.
Note: Prepar3d is fully DX10/DX11 compatible, so has no need
of a DX10 Fixer.
DX10 Preview Mode: what it is - and what it isnt
The DX10 Preview mode in FSX is exactly that: a preview - and not to be confused with the full
version of DirectX 10 as used in games or simulators much later. Much of the FSX DX10 shaders code
for scenery objects or aircraft is incomplete, buggy, or simply missing.
Steves DX10 Scenery Fixer is an attempt to correct these shortfalls and allow FSX users to run in
DX10 Preview Mode with as few issues as possible. As such, the Fixer should be seen as a series of
patches to FSX, rather than a separate application or add-on in its own right.
The Fixer: what it does - and what it doesnt
Steves Fixer basically allows FSX make use of some DX10 features - and that is all. It is not a magic
bullet and will not, in itself, vastly improve performance or fx an ailing FSX install.
The main beneft of using DX10 Preview Mode in FSX is the shift in memory/CPU usage from the
system CPU to the graphics card (GPU), thus freeing precious resources for general FSX use - helping
to prevent Out of Memory (OOM) errors and improving overall stability. New DX10 routines are
used for shading - notably for water, improved cockpit shadows and general lighting/bloom effects.
Many users have reported massive performance gains by using the Fixer - but these will usually be due
to the cleaning up and/or optimisation of FSX (via a correctly set up fsx.cfg) or setting up the graphics
card correctly (via NVidia Inspector etc.). The Fixer offers no performance enhancements of its own -
but will usually allow much higher FSX display/slider options to be used.
The purpose of this guide
Setting up FSX with Steves Fixer can be a fairly complex business - involving making changes to the
system, graphics and FSX settings, along with setting up the corresponding Fixer options.
The guide aims to take the user, step-by-step, from DX9 to a fully working DX10+Fixer setup. It is
absolutely not a replacement for Steves offcial Fixer User Manual - simply a procedure for setting
things up - best followed hand-in-hand with the manual. By the same token, this guide doesnt concern
itself with the actual usage of the Fixer.
The guide is quite comprehensive, so there should be no need to trawl the Internet for additional
information - particularly as much of whats out there is contradictory, confusing, or simply out of date.
Contents
1: Before you start ......................... 2
2: Installation/setup ....................... 3
3: Setting up NVidia Inspector ...... 4
4: Setting up CCC.......................... 8
5: FSX Settings ............................ 10
6: Setting up fsx.cfg ..................... 11
7: Extras ....................................... 15
8: Multiple Monitor Setup ........... 18
9: Links/late additions .................. 21
Rev: 1.05 - 04 July 2014
2
1: Before you start
Back up your current FSX/DX9 user fles
This is very important. If things go wrong at any stage, youll need to return your FSX to its previous,
working (!) DX9 condition before you can start again. For safetys sake, its also a good idea to keep
additional fsx.cfg backups (in a separate location) as you progress through the DX10+Fixer procedure.
1) Go to the folder:
C:\Users\{your_username_here}\AppData\Roaming\Microsoft\FSX
2) Create a new folder:
C:\Users\{your_username_here}\AppData\Roaming\Microsoft\FSX\dx9_backup
3) Back up the following fles (fsx.cfg being the most critical):
dll.xml
exe.xml
fsx.cfg
scenery.cfg
4) If you have an existing NVIDIA Inspector setup, export your current MS Flight Simulator X profle to
the dx9_backup folder (as defned in [2]) - saved as dx9_backup.nip (or similar). See NVI section.
Pre-install check
Check that you have the latest (known good)
NVIDIA/AMD drivers. If not, make a note
of your current (old) drivers then download/
install the latest and check that FSX still
works properly. If things go wrong, de-install
the problematical driver and reinstate the
old ones. If using driver cleaner utilities,
only use the ones available from NVIDIA or
AMD/ATI sites, as there are many dubious
cleaner type sites or utilities that install
spyware (or worse).
Firstly, youll need to ensure that your current
DX9 FSX setup will work in stably and
reliably DX10 preview mode. Usually, all
that is required is to enable DX10 preview in
FSX Display Options/Graphics. This will amend your fsx.cfg fle (adding D3D10=1 to [GRAPHICS]), so
youll need to restart FSX to see the change.
If you have problems, check to see if you have any duplicated [DISPLAY.Device.xxxx] entries. If
things are still looking pear-shaped at this stage, delete (or rename) your fsx.cfg fle and restart FSX
(remembering to tick the DX10 preview box before restarting FSX a 2nd time). This should generate a
new, totally clean fsx.cfg fle.
If you like, copy the complete [Trusted] section over from your backup (to save having to OK all
your add-ons).
For the Fixer installation procedure itself, please refer to the offcial DX10 Fixer User Manual - it is not
described in any detail in this guide.
Rev: 1.05 - 04 July 2014
2:3
2: Installation/setup
If the Libraries option is greyed out during the DX10 Fixer install (thus preventing you going any
further) you may need to re-install the stock FSX shaders folder (ShadersHLSL), located in the FSX
root folder. A zip archive containing the original shaders is at:
http://www.nzfsim.org/index.php?dload&fname=StockShadersHLSL.zip.
1) Backup then delete your existing ShadersHLSL folder.
2) Unzip to a temporary location, then copy the new ShadersHLSL folder into your root FSX folder.
3) Go to C:\Users\{your_username_here}\AppData\Local\Microsoft\FSX and delete the
Shaders10 folder. This is the DX10 shaders cache folder and needs to be deleted after any
changes in the FSX ShadersHLSL folder.
Fixer setup and tweaking procedure
The two most important things to remember while setting up or in subsequent tweaking - be it in the
system, FSX or the Fixer are:
1) Only make one change at a time
This may appear to make the process unnecessarily long, with frequent system of FSX restarts - but
it is the only sure-fre way of isolating a problematic tweak or spotting any changes.
2) Back up any relevant fles
These fles may be fsx.cfg or NVI/CCC graphics driver profles. Rename them in a way that refects
the changes made, or number them sequentially, keeping a separate note of the changes made.
A clear, logical, step-by-step approach saves time in the long run.
The Fixer and basic GFX (system) settings
Antialiasing in FSX is set automatically by the Fixer via two new entries in the [Graphics] section of
the fsx.cfg - determined by your selection in the DX10 Anti-Aliasing drop-down. Changes to fsx.cfg
are made instantly - which is one of the reasons why FSX needs to be closed before running the Fixer.
Of the two, it is the MultiSamplesPerPixel value that must be set properly in NVI or CCC - and needs
to be read manually from fsx.cfg (more information in 3: Setting up NVI or 4: Setting up CCC).
MultiSamplesPerPixel=XX << This number being the amount of MSAA
MultiSampleQuality=XX << This number being the quality of the enhancement
Check you have the latest video drivers (see pre-install check). If you do update them, check that FSX
runs normally before changing any settings via NVI.
Note: both NVIDIA/NVI and ATI/CCC utilities write directly to the Windows registry. If, for any
reason, you go to the basic Windows/NVidia or AMD Control Panel/Display Options it will instantly
overwrite any changes made by NVI/CCC (as they also write directly to the same registry entries) - in
which case youll need to re-apply your NVI/CCC profle.
Also, note that in DX10 preview mode the anti-aliasing options in the main NVidia or AMD Control
Panels do not work. These options are controlled only by NVI or CCC.
Important: For DX10 to work properly, your NVIDIA/NVI or ATI/CCC GFX antialiasing settings
have to refect the DX10 Anti-Aliasing setting (drop-down) in the Fixer.
Rev: 1.05 - 04 July 2014
4
3: Setting up Nvidia Inspector
Check that you have the latest version of NVIDIA Inspector (currently 1.9.7.2) - available from:
http://www.guru3d.com/fles_details/nvidia_inspector_download.html
NVI can be run from any location on your system (it doesnt
store or install any fles outside its own folder).
1) Install NVI in a convenient location.
2) Very important: make sure that Inspector.exe and
CustomSettingNames_en-EN.xml are both in the same
folder - or NVI will not work.
3) At the opening screen, click on the toolbox button to the
right of the Driver Version information panel.
4) In the Profles feld of the profles screen, select the MS
Flight Simulator X profle. You can clear any text in that
feld and type MS then select from the profle names
displayed.
WARNING: Be careful not to use the wheel on your mouse to scroll the
profle window, as you may inadvertently just scroll through the profles list.
5) Toggle the funnel icon to display ALL the settings for that profle.
Any options that are greyed out in the profle are editable - it just means they happen to be the same
value as your default/system profle.
Many options in the NVI MS Flight Simulator X profle can be left alone, but here are the values (from
top to bottom) that you need to change:
Compatibility [section]
6) Ambient Occlusion Compatibility: 0x00000000 (Dragon Age 2)
7) Antialiasing Compatibility (DX1x): 0x00000000 or
0x80000F71 (BioShock, BioShock 2)
(may help with ground shadow quality)
Antialiasing [section]
8) Antialiasing Behaviour Flags: None
9) Gamma Correction: Off
10) Antialiasing Mode: Application-controlled
11) Antialiasing Setting: Application-controlled / Off
Rev: 1.05 - 04 July 2014
5
3: Setting up Nvidia Inspector (contd)
12) Antialiasing Transparency Supersampling: [take MultiSamplesPerPixel value from fsx.cfg]
This NVI value is determined by the MultiSamplesPerPixel value written by the Fixer and equates
to the following settings (in order of quality):
Fixer Setting MultiSamplesPerPixel MultiSampleQuality NVI
1 No AA --- --- Off / Multisampling
2 2x 2 0 2x Sparse Grid Supersampling
3 4x 4 0 4x Sparse Grid Supersampling
4 8x CSAA 4 8 4x Sparse Grid Supersampling
5 8x 8 8 8x Sparse Grid Supersampling
6 16x CSAA 4 16 4x Sparse Grid Supersampling
7 16xQ CSAA 8 16 8x Sparse Grid Supersampling
8 32x 8 24 8x Sparse Grid Supersampling

Typical fsx.cfg values for DX10 Anti-Aliasing:
Low-end system (eg. 2) : 2x in the Fixer
MultiSamplesPerPixel=2
MultiSampleQuality=0
Mid-range system (eg. 4) : 8x CSAA in the Fixer
MultiSamplesPerPixel=4
MultiSampleQuality=8
Top-end system (eg. 8) : 32 in the Fixer
MultiSamplesPerPixel=8
MultiSampleQuality=24
The last three parameters (FXAA) in the antialiasing section can be used with little performance loss:
they will remove the jaggies from the spinning aircraft selection screen and will generally soften FSX
graphics.
13) NVIDIA Predefned FXAA Usage: Allowed
14) Toggle FXAA Indicator on or off: On (for the rotating aircraft selection screen)
15) Toggle FXAA on or off: On
Texture Filtering [section]
Anisotropic fltering determines how sharp the scenery appears as the viewpoint moves away.
16) Anisotropic fltering mode: Application-controlled
17) Anisotropic fltering setting: 16x
18) Texture fltering - Anisotropic flter optimization: On
19) Texture fltering - Anisotropic sample optimization: On
Rev: 1.05 - 04 July 2014
6
3: Setting up Nvidia Inspector (contd)
Preventing SGSS Blurring
The following three options (steps 20-22) in the Texture Filtering section are linked to the Antialiasing
Transparency Supersampling option in the Antialiasing section (step 12). They serve to correct some of
the blurring intoduced by Sparse Grid SuperSampling and any post-processing shaders used by FSX.
They have nothing to do with the texture mapping process.
The Level of Detail Bias (LOD Bias) controls the distance from the viewer at which the switch to lower
resolution mip-maps takes place. The standard value of the LOD Bias is 0.0. If you lower the LOD
BIAS below 0.000 (the default), the mipmap levels are moved farther away, resulting in seemingly
sharper textures - though if the scene is moving, the textures may start to shimmer.
Because of the possible introduction of shimmering, its generally not a good idea to use a very low
LOD BIAS to improve the sharpness of the image. Its better to use an Anisotropic Filter instead (which
is why we always set it to the max of 16x and application-controlled/on in FSX).
If you have texture shimmering in FSX which you cant get rid of with any of the other options, you
can increase the LOD BIAS slightly, but note that this will also cause textures to lose detail at shorter
distances from the viewpoint.
So ... if you want detailed textures and dont mind a degree of texture shimmering, you can reduce the
LOD BIAS to a negative number using the fgures below:
Fixer Setting MultiSamplesPerPixel/
MultiSampleQuality
NVI - Anti-aliasing
Transparency Supersampling
Texture
fltering -
Driver
controlled
LOD Bias
Texture
fltering -
LOD Bias
(DX)
Texture
fltering -
Negative
LOD Bias
1 No AA --- Off / Multisampling On -1.000 Allow
2 2x 2/0 2x Sparse Grid Supersampling On -0.500 Allow
3 4x 4/0 4x Sparse Grid Supersampling On -1.000 Allow
4 8x CSAA 4/8 4x Sparse Grid Supersampling On -1.000 Allow
5 8x 8/8 8x Sparse Grid Supersampling On -1.500 Allow
6 16x CSAA 4/16 4x Sparse Grid Supersampling On -1.000 Allow
7 16xQ CSAA 8/16 8x Sparse Grid Supersampling On -1.500 Allow
8 32x 8/24 8x Sparse Grid Supersampling On -1.500 Allow
20) Texture fltering - Driver controlled LOD Bias: On
21) Texture fltering - LOD Bias (DX): [value derived from the table above]
22) Texture fltering - Negative LOD Bias: Allow
23) Texture fltering - Quality: Performance or High performance
24) Texture fltering - Trilinear optimization: Off
Common [section]
Some FSX users fnd that unlimited FPS works best for them - it does appear to vary from system to
system. It is worth trying to set the FSX limiter and corresponding values set in the in-built NVI frame
rate limiter. If it doesnt work for you, go back to the FSX unlimited option.
Note: The setting in FSX is not a true frame rate limiter. It is simply a target frame rate that FSX will try to achieve -
optimising/cutting corners in many display-specifc functions along the way.
Rev: 1.05 - 04 July 2014
7
3: Setting up Nvidia Inspector (contd)
The general principle is to set the NVI rate to 1/2 or 1/3 of the screen refresh rate, then set FSX to a
value of that, plus one. Eg. for a typical LCD refresh rate of 60:
Refresh rate NVI Setting FSX Setting
1/3 PS_FRAMERATE_LIMITER_FPS_20 21
1/2 30 31
1/1 60 61
22) Frame Rate Limiter: [from table above]
23) Maximum pre-rendered frames: 3
24) Multi-display/mixed-GPU acceleration: Single display performance mode*
25) Power management mode: Prefer maximium performance
26) Threaded Optimization: On
27) Vertical sync tear control: Standard
28) Vertical sync: [set to same as NVI frame limiter]
* Or Multi display performance mode for multiple monitor setups
Screen tearing
If youre still experiencing screen tearing, try this setting in the [Main] section of fsx.cfg:
DisablePreLoad=1
This works very well for full screen vsync - but only in Full screen mode.
Vsync in Windowed mode needs ForceWindowedVsync=1 to be set in [Graphics] and/or Windows
Aero to be running.
Dont use ForceFullScreenVsync=1. It will cost frames and you will probably lose the NVI vsync.
Multiple monitor setups - please refer to the section 8: Multiple Monitor Setup.
Conclusion
Important: Now make a backup of your NVI profle by using the Export current profle option
from the Export user defned profles menu button:
Rev: 1.05 - 04 July 2014
8
4: Setting up CCC
AMD/ATI Catalyst Control Center & RadeonPro
The following AMD/ATI advice is by beta tester Charles Earl, with his permission.
As with Nvidias Inspector - no matter what you do, you will NOT have AA in DX10 unless it is
frst enabled in FSX when running DX10. CCC alone has little or no effect.
RadeonPro is necessary for good AA and Vsync control in DX10. Download from here.
As with Inspector - Vsync only works in fullscreen. It does not work at all using either CCC or
forcing it from within the fsx.cfg. It can only be forced per the 3rd section, below, top-right, within
RadeonPro.
Download CCC - this version only - v12.8 - 12.11. Get it from here, for the Win7/ v64-bit, or here
for the v32-bit. Do not use newer versions because of uncontrolled spiking.
Set CCC to its default settings, and then set up RadeonPro per this pic below (and also go and read
some extra information from this series of posts here.)
1) Create an FSX profle
- Click the Add New Profle button at the top of the screen.
- Browse to and select your FSX.EXE in the FSX Program folder on your computer.
2) Highlight the new profle and start making changes
- Antialiasing to Use Application Settings
- Antialiasing Filter to Multisampling (BOX)
- Antialiasing Mode to Supersample
- Anisotropic Filtering to 16x
- Under Advanced set Texture Filtering and Mipmap both to High Quality
- Under Tweaks set Vsync Control to Always on
- Enable Dynamic Framerate Control and Keep up to 30 FPS
- OSD Tab Enable OSD settings (optional) Position Top. Enable some.
- If you are using FSDTs Couatl - go to the Advanced tab and mark Disable API monitoring for
programs not listed in my profles list
NOTE: RadeonPro must be running (minimized to Tray) when FSX is run for these to take effect.
NOTE: Setting 4x AA in the DX10 Controller instead of 8xAA will help those cloudy days to maintain
that magic 30fps as 8x SSAA and heavy clouds might (or will) cause stutters on many machines.
Enabling FXAA using RadeonPro
While in-game with RadeonPro, you can hit CTRL-O to open RadeonPros OSD and then use CTRL+F
to turn FXAA on and off. FXAA (Fast Approximate Anti-Aliasing) can (for free) provide a slight
additional smoothing to edges as it will combine with SSAA.
The above settings were tested on 6950, 7950 and 7970, but should also work with the 5xxx. At this
time - any Catalyst driver newer than 12.11 causes spiking for which no cure has been found other than
use the older driver.
Rev: 1.05 - 04 July 2014
9
4: Setting up CCC (contd)
What RadeonPro adds beyond just CCC
Multiple types of Vsync and DFC: Dynamic Framerate Control combined with Always On
Vsync: similar to Inspectors Tear Control and 1/2 Refresh Rate method, DFC attempts to keep a
constant frame rate by matching the refresh rate to a fgure set in RP, rather than in FSX. One may
see an increase in frame rate using this method.
Optionally the ability to combine FXAA with standard MSAA or SSAA if you wish.
A switchable on-screen display showing GPU temperature, % of GPU Utilization, VRAM in use,
fps and so on.
Rev: 1.05 - 04 July 2014
10
5: FSX Settings
Although you can begin with your old cfg fle, its probably best to err on the side of good practice and
delete the old one - start FSX, let it build a new one, then fx it. You can set your common settings for
sound, realism later - once all the DX10-related options are in place (and working correctly!).
Settings not mentioned here are not specifcally DX10-related and can be set as desired. In general
terms, DX10 preview mode appears to allow sliders to be set a notch or two higher than in DX9.
Youll need to set up a level playing feld fight for all your testing that should have the following
options set:
a) Aircraft: default C172 (or your favourite, but preferably not a CPU/GFX-heavy one (PMDG etc.).
b) Time of day: any time, but needs to be set so lighting doesnt change from test to test.
c) Weather: set to static, but a theme that includes clouds.
d) Location: an average semi-complex airport.
Save your test fight, then load that one for all tests. You may also want to pre-record a fight with
FSrecorder and use that.
Settings ->Customize ->Graphics
1) Target frame rate: 21, 31, 61 (the value determined in NVI/ATI setup) or unlimited
2) Anti-aliasing: Must be ticked
3) Filtering: Anisotropic*
*NOTE: Sometimes when switching between DX9 and DX10, this setting seems to turn itself off.
4) Global Texture Resolution: Very High
5) Preview DirectX 10: Must be ticked
6) Lens fare/Light bloom: User preference
7) Advanced Animation: Ticked
Settings ->Customize ->Aircraft
8) Aircraft shadows/lights: All ticked
Settings ->Customize ->Scenery
9) Mesh Resolution: 2M or higher
10) Texture Resolution: 7cm or as high as you can
11) Water Effects: High 2.x
Note: Low and Med look pretty good and dont cause any shimmering. High 2.x displays land/cloud refections and
may introduce shimmering on some systems (which may need SGSS/LOD BIAS to control).
13) Land Detail Textures: Ticked
14) Ground Scenery Shadows: Un-ticked (unless you particularly like them and can stand the frame rate hit)
Settings ->Customize ->Weather
15) Cloud Draw Distance: 60 Miles/96km (suggested minimum)
16) Detailed Clouds: Ticked
17) Cloud Coverage Density: Maximum
Settings ->Customize ->Traffc
As with autogen, these settings are user-dependent and most have signifcant frame-rate penalties. Try
not to change these values during testing.
Rev: 1.05 - 04 July 2014
11
6: Setting up fsx.cfg
Tweaking fsx.cfg is beset with controversy. Bear in mind that many of them relate to FSX in DX9
mode and are either irrelevant at best or will break your DX10 setup at worst. The following edits are a
combination of all known good/necessary tweaks to get your DX10 FSX up and running.
You may have your own favourite custom tweaks (lets face it - no two systems are the same) but leave
these until after you have DX10 running properly - save your fsx.cdfg - then apply your additional
tweaks. By the same logic, dont run your cfg through Venetubo or apply Kostas fxes until after your
DX10 setup has bedded down. Also, running your DX10 cfg through these procedures may actually
undo important DX10-specifc edits.
Important: You must back up your clean/newly created fsx.cfg before you start - and at regular
intervals thoughout (naming your backups sequentially).
1) If running, close down FSX.
2) Open up the fsx.cfg (from the location detemined at the beginning of this guide) - using Notepad,
Notepad++, TextPad, or any other ASCII editor. Do NOT use a rich editor like MS Word,
Wordpad etc.
Check, add or modify the following lines in each of their respective section headers. Anything after a
// is a (per-line) comment and is ignored by FSX:
[Graphics]
MultiSamplesPerPixel=xxx
MultiSampleQuality=xxx
Check that these values have been added - and that they have been set to the correct values
corresponding to your NVI/CCC setup.
D3D10=1 // Enable DX10
HIGHMEMFIX=1 // A fx Microsoft forgot. This is a MUST
TEXTURE_MAX_LOAD=2048 // Maximum value of 4096 - very frame rate impacting
Note: Going into any Setup/Options in FSX will cause the TML value to default to 1024.
[Display]
TEXTURE_BANDWIDTH_MULT=XXX
// Between 40 (low-end) and 120 (high end) in multiples of 5. Start at 80.
UPPER_FRAMERATE_LIMIT=XXX
// Set in conjuction with NCV/CCC : Limiter value+1.
[Main]
FIBER_FRAME_TIME_FRACTION=0.11
// Default=0.33 - may cause stuttering. Generally 0.12 0.22 gives very smooth
// fight. Lower than 0.1 may give blurring of ground textures when fying fast at
// low level.
DisablePreload=1
// This helps prevent vsync tearing.
Rev: 1.05 - 04 July 2014
12
6: Setting up fsx.cfg (contd)
[JOBSCHEDULER]
AffnityMask=xxx
Although Hyperthreading always off is preached by many, a number of tests have shown that (for
DX10), enabling Hyperthreading in the system and adding AffnityMask to fsx.cfg, framerate and
stability appear to improve by 2-4% - particularly benefcial for aircraft that use processes outside of
FSX (MJC Dash-8, PMDG etc.). Here are some example values:
4 Core HT off 14 1110 3 Main threads 1 worker
4 Core HT off 12 1100 2 Main threads 2 workers
4 Core HT on 254 1111 1110 3 Main threads 1 worker
4 Core HT on 252 1111 1100 2 Main threads 2 workers
To work out how many cores you have (and whether you have hyperthreading enabled) you can either
go into the Windows Task Manager or use [the excellent] Speccy from Piriform: http://www.piriform.
com/speccy.
Windows Task Manager (above left) is showing 8 active threads on a 4-core CPU - as confrmed by the Speccy CPU panel.
Hyperthreading is usually enabled at BIOS level (see your M/B info) - then you can set Windows to
use all cores. In the Start menu, type msconfg to bring up System Confguration. In Advanced
Options, set the drop-down to the maximum value (see below).
Rev: 1.05 - 04 July 2014
13
6: Setting up fsx.cfg (contd)
[BufferPools]
For good performance, a Bufferpools entry needs to be in fsx.cfg - regardless of the system. Setting
the Bufferpools values is probably the most complex/daunting of task in fsx.cfg tweaking - and a
reasonable summary on how they work is here:
http://www.nzfsim.org/index.php?dsp=dload&fname=FSX_Graphics_Buffering.pdf.
Its not a heavy read, but may help you understand how to tweak the settings.
Graphics buffers can be thought of as small chunks of memory - just like in system memory - which are
used as temporary storage for the thousands of bits of frame data coming into the GPU from the CPU.
As the GPU works its way through the picture creating process - this queue, if you like, will empty
out and refll again on a constant basis. Buffer blocks of memory of all kinds, are always used, whether
network, screen or hard drive. There is always a pool of buffers necessary for almost every function in
a computer. However:-
UsePools=0 tells the GPU to create as many small, static buffers as it needs and that each graphics
object will get its own buffer. It also tells FSX to have no control over the buffers in any way, but to
pass control totally to the GPU.
UsePools=1 tells the GPU to create dynamic, shared, buffers which will be sized according to the
PoolSize parameter set in the fsx.cfg. Each buffer will be flled with as many objects as it can take,
and then the fller moves on to begin flling the next buffer, and so on.
Occasionally there will be larger-that-average sized objects, and these are handled by allowing the GPU
to set a RejectThreshold whereby any object larger than that RejectThreshold size is rejected and
pushed into its own dedicated buffer.
This is akin (or close to) UsePools=0 and the lower this RejectThreshold number is - the closer to 0
it will become, and performance will increase. A RejectThreshold value of 0 would mean all buffers get
sent to the GPU - effectively, the same as UsePools=0, so work your way up in (say) 64k increments.
The table (below) gives a very approximate idea of how the various settings relate to possible CPU/
GPU combinations. The crucial column is the last one: Results, where we summarise the combined
effect of the various settings.
Note that both stutters and spikes are dependent on the overall demands set by the various FSX
detail levels (or other settings in fsx.cfg). Even a fast CPU with a fast GPU can still produce either
effect. Think of it as an accelerator pedal- the more you press down, the greater the demand will be
for everything - regardless of how you share the load between CPU and GPU via Bufferpools tweaking.
Stutters: are small-scale/frequent jitters. They are caused by the CPU (processor) being overloaded.
Worst: when the CPU is basically too slow all-round, or when coupled with a fast GPU and high detail
levels set in FSX (eg.4).
Best: when the CPU is fast but the GPU is basic or slow (eg.9).
Spikes: are the large jumps and may also include artefacts. They are caused by the GPU (GFX card)
being overloaded.
Worst: when the CPU is very fast - overloading a basic GPU (eg.9).
Best: when both CPU and GPU are fast (eg.12).
Rev: 1.05 - 04 July 2014
14
6: Setting up fsx.cfg (contd)
Processor
Speed
GFX
Card
Bufferpools Poolsize RejectThreshold FSX Settings Result
1
4.2GHz
560Ti 1 8388608 (default) 212644 Low-med Stuttering
2
580 0 - - Med Stuttering
3
680 0 - - High Stuttering
4
780 0 - - High Stuttering
5
4.6GHz
560Ti 1 8388608 - 10485760 212644 -1048576 Low Spiking
6
580 1 5242880 - 8388608 212644 Med May spike or stutter
7
680 0 - - Med-high May spike or stutter
8
780 0 - - High May stutter
9
5.0GHz
560Ti 1 8388608 - 10485760 212644 -1048576 Low Spiking
10
580 1 5242880 - 8388608 212644 -524288 Med May spike or stutter
11
680 0 or 1 8388608 (default) 212644 Med-high May spike or stutter
12
780 0 - - High Occasional stutter
Summing it all up
A low-end processor (eg.1-4) simply hasnt got the processing power to supply detail to the GPU (any
GPU) without stuttering. The only course of action is to reduce the detail levels in FSX and fsx.cfg. In
general, set Bufferpools=0, unless you have a really slow GPU.
A medium processor (eg.5-8) is probably the hardest to deal with, as its usually coupled with mid-
range graphics cards. Much Bufferpools experimentation may be required to reduce stutters and spikes.
A high-end processor (eg.9-12) can still food most GPUs out there if FSX detail settings are too high,
so a moderate amount of Bufferpools tweaking may still be required.
Testing procedure
1) Create a test FSX fight with a medium level of terrain, weather and traffc - and maybe even record
one with FSRecorder to play back. Use the same fight throughout - and change nothing else but the
Bufferpools related tweaks.
2) If tweaking Bufferpools, change Poolsize frst, then step through the different values for
RejectThreshold for the same Poolsize value. Try various Poolsize values (start low and go up).
3) If all fails, then youll need to change overall detail levels in FSX or fsx.cfg values (like
Texture_Bandwidth_Mult, Texture_Max_Load, or the SGSS settings.
Fly the test any number of times until you are satisfed that you have the highest framerate with lowest
artefacts, stutters or texture corruption.
PoolSize values:
5242880 (5MB), 8388608 (8 MB) default, 10485760 (10MB), 20971520 (20MB)
RejectThreshold values:
98304 (96k), 126976 (128k), 262144 (256k), 524288 (512k), 786432 (768k), 1048576 (1Mb)
A typical fsx.cfg entry:
[BufferPools]
UsePools=1
Poolsize=8388608
RejectThreshold=262144
Rev: 1.05 - 04 July 2014
15
6: Setting up fsx.cfg (contd)
TBM
If using UsePools=1, fnding the right Poolsize and RejectThreshold sizes is fairly time-consuming
because it interacts with other parameters TEXTURE_BANDWIDTH_MULT (TBM) and water,
for example. TBM is a throttle that increases the total volume of [graphics] data to the GPU - akin
to pressure on FSX - depending on how high the settings are for texture, mesh, autogen, traffc, and
weather. Too high a TBM setting may cause graphics corruption. High is about 120, 80 is good, but 400
is normal only when using photoscenery (MegaScenery SOCAL, etc.).
Bufferpools - fnal note
Again -if you really cant (or dont wish to) get your head around Bufferpools, just use:
[BufferPools]
UsePools=0
... and try different values of TBM.
CONCLUSION
When all is done - save your fsx.cfg AND a duplicate as a backup/archive copy in case things go wrong
at a future date.
Rev: 1.05 - 04 July 2014
16
7: Extras
DX10 version
A couple of issues arose over the last month or so, one being SweetFX and DX10 exiting with an
Unable to load error. The fx was to go to http://support.microsoft.com/kb/179113 and download
the latest version of the DX10 runtime. Microsoft DirectX is included as an integral part in Windows
operating systems and you can update DirectX by applying the latest service pack or other updates
through Windows Update. To check your DirectX version, see http://support.microsoft.com/
kb/179113#which%20version%20installed.
Runway Lighting
From a post by Brett Lucas I had approach lights, but no runway lights. So last night I was going
through many of the posts and came across one very important one. If you install Michael Swannicks
FSX Lights - http://www.nzfsim.org/index.php?dsp=dload&fname=fsx_lights.zip. Its the Halo bitmap
that will fx the runway lights.
The trick is (if you use REX or Active Sky 2012) - you need to UNCHECK runway lights so it does not
get overwritten [by the Fixer]. In my case, I use both and unchecked both, and presto, I had awesome
lights again.
Note: I have no problems like this. Re-applying REX (or TextureDirect) textures overwrites halo.bmp with a
decent version anyway.
Colour
Courtesy of Jaydor, of the Orbx/FTX support
site, this little mod adds better colour to FSX
through the Windows 7 operating system,
by changing the Control Panel >> Color
Management >> Advanced tab and then change
the settings to those as shown.
Tool Tips missing
Yes - theyre missing in full screen view! If its
important, you can use windowed mode and
the D3DOverrider method (described in 8:
Multiple Monitors) to fx it, so that it looks
exactly like full screen - but it takes some work!
Clouds
Steve has a good comparison between DX9 and DX10 clouds here:
http://forum.avsim.net/topic/386468-dx10-clouds/ and a note on testing (Post #7).
Following some good research on REX clouds RodO (The Family Man), states that he found that -
after making sure that DXT5 and 1024 x 1024 textures are used the frame drop is gone. The Fixer has
several functions which can improve frame rates in heavy cloud.
ENBSeries
Does not work in DX10, and will cause a crash on start-up. I believe the culprit is the d3d10.dll that is
part of its structure, and it can be found in the root folder of FSX and deleted.
Rev: 1.05 - 04 July 2014
17
7: Extras (contd)
FXAATool
Does not work in DX10, and will cause a black
screen on start-up. It installs several .dlls and the
two injFX_Settings and injFX_Shaders folders that
will be found in the root folder of FSX (see right).
Uninstall or delete any of these fles which you fnd
there (the datestamp will refect the time when created
or unzipped).
Shade
Works very well in DX10, producing some stunning
screenshots.!
SweetFX
All versions from 1.3.7 through 1.5.1 work very well
and bring an enormous array of colour and vibrancy
to the sim - a very confgurable addon. A desktop link to the SweetFX_settings.txt will allow one to
change any parameter completely on the fy. A search on Google will also turn up a HUI front-end.
SweetFX will occasionally prevent FSX from launching when refreshing FSX using the pause:break
button (though not when switching between windowed and full-screen mode). It seems that the
SweetFX_settings.txt fle becomes corrupt. The answer is to simply note the settings and copy in a
new one from the downloaded package.
D3D11.dll Crash-to-Desktop
This one began to occur around the Nvidia 314.XX series, and apparently impacted other games,
too. Thanks to some diligent work by Steam member CCentR - the issue is fxed by un-installing
Microsoft Update KB2670838 and watching for it to be re-installed. It needs to be hidden from
future updates.
NOTE: I have no problems of this kind in my Win7x64 sytem (fully patched, including KB2670838).
Removing it may disable IE11, so do so at your own risk!
Orbx PNW custom street lights
These lights are completely fxed in the Fixer, as are the issues with Orbxs FTX Global lights (v1.1).
The Fixer also has the automatic ability to reduce the size/glow of various lighting systems in foggy
conditions.
UT2 Traffc and A2A Shockwave Lights
From gigemaggs99, Nov. 11, 2012: www.bleedair.de/ultimate-traffc-2-fsx.html
If you have A2A shockwave lights and UT2 this is a great set of fles. You simply replace the existing
UT AI aircraft.cfg fles. It takes a few minutes since there is no auto-installer but I just made sure I
made a backup of the original prior to copying them over.
Rev: 1.05 - 04 July 2014
18
7: Extras (contd)
Cockpit Shadows
As the Fixer will copy and modify the aircrafts xxx_interior.mdl, you may occasionally come across
aircraft which do not have this fle (a common problem with FS9 portover aircraft), in which case it is
not possible to have cockpit shadowing for that aircraft.
DX10 Scenery Fixer - Update Procedure
The recommended update procedure is to uninstall and then install the new version as below. However
- always check for any specifc requirements in any documentation included with the new version (or
patch/upgrade).
1) Save (or make a backup) of your current Fixer profle - preferably in a separate location.
2) Uninstall the libraries using the option in DX10Controller.
3) Open the Windows Control Panel/Add or Remove Programs and remove the SteveFx
DX10SceneryFixer.
4) Launch the downloaded FSS Installer for the new version and follow the instructions, re-entering
your key if necessary.
5) Launch DX10 Controller and Install the libraries.
6) Import your saved profle.
7) Read the manual!
Note: the [old] 1.4 FSS Uninstaller removes the directory containing your profles. All versions after that are OK.
Rev: 1.05 - 04 July 2014
19
8: Multiple Monitor Setup
The vsync settings as confgured in the previous sections work fawlessly for the TripleHead2Go and
Nvidias Surround and AMD/ATIs EyeFinity systems, where the three monitors are confgured as
one monitor within Windows and FSX.
The issue we have comes with the need to have two monitors, perhaps where the user wants use full-
screen and to drop an FMC or part of the instrument panel onto a second monitor. The problem also
occurs when the second monitor is of a different size, or when the large (FSX) monitor uses a VGA
connection and the smaller uses DVI (in this case the GPU will take the smaller DVI monitor as #1).
In these cases, vsync will not work. There are a number of fxes around, but a full fx is elusive for
the majority of simmers.
What we have below is a combination of fxes that does work, but is a little bit fddley - and there
may be ways of improving it. When using a 2560 x 1440 and a 1280 x 1024 it was fawless.
Go here: http://www.nzfsim.org/index.php?dsp=dload&fname=D3DOverrider.zip
1) Download and install D3DOverrider (part of
the RivaTuner package).
2) Click on D3DOverrider.exe. This will launch
the application, and should show as shown: If not,
dont be too concerned - its part of the RivaTuner
suite of tools and some people have found the GUI
wont necessarily show without RivaTuner being
installed. If all is well, you should be able to see the
default Global settings and, on the left side, youll
also see a profle for FSX. This download includes
that fsx.profle, with Force TripleBuffering and
Force Vsync set on.
Once D3DOverrider is launched it will
automatically detect and start with FSX.
3) Open up NVidia Inspector and move the
Vertical Sync from 1/2 Refresh Rate to Force
On, leaving the rest as it was. Youre half-way to
having Vsync for all screen mixes.
Resizing dragged Panels
The next multi-monitor issue is with dragging panels onto the second monitor, with any attempt to
resize the panel resulting in a continuously fickering cursor.
Most people use the larger monitor for their fying, and a smaller one for housing an FMC or GPS, for
eexample - and the panel, once moved, needs to be resized. Unfortunately - after its resized - you will
then encounter the dreaded busy mouse cursor. To fx this, simply right-click inside the new panel.
It will then return to normal operation and appearance.
Note: rather than manually resizing a panel each time one can also change its size in the panel.cfg, so
that it pops up already at the right size.
Rev: 1.05 - 04 July 2014
20
8: Multiple Monitor Setup (contd)
Fullscreen Mode
One of the other issues is that most of us like to fy in fullscreen while enjoying the benefts of other
panels setup on the second monitor - and having ToolTips available as well! Unfortunately DX10
doesnt co-operate very well when you want that second screen for different panels. However - there is
a (free) answer to this: Pseudo FullScreen along with AutoHotKey.
Here is a ready-to-use PseudoHotKey:
http://www.nzfsim.org/index.php?dsp=dload&fname=pseudo_full_screen.zip
Just unzip it somewhere and run pseudo_full_screen.exe before you run FSX. You will get a green
icon in your taskbar, fullscreen without toolbars and borders, and. you will have your ToolTips back!
Vsync with two dissimilar monitors
If D3DOverrider doesnt fx the problem, this is courtesy of Kostas FSX Guide to be found here:
http://kostasfsworld.wordpress.com/fsx-software-and-hardware-guide/
As Kosta has posted - there is a fx now, using Windows Aero which is normally shut down, either
by choice or by FSX itself. To ensure its running, Themes must be enabled in the Services (Start
button, type Services in the search window).
FSX turns off Aero on startup, so an Aero restart is required which will, in turn, fx the normal Vsync
operation in windowed mode.
To enable Vsync in windowed mode add following to your FSX.cfg:
[GRAPHICS]
ForceWindowedVsync=1
To restart Aero, there are three options:
1) Restart Aero - manual method
After starting FSX, quit dwm.exe (task manager, Desktop Windows Manager), it will restart itself,
and Aero will be enabled.
2) Restart Aero - batch fFile
Create a text fle - using NotePad and save it to your Desktop as fsx.bat. Enter the following text:
@echo off
start E:\FSX\FSX.exe (insert the correct path to your FSX.exe)
net stop uxsms
net start uxsms
... and run it. FSX is going to start, Aero is going to get started after FSX, and voila
3) Restart Aero - auto batch fle (FSUIPC)
An elegant solution, through FSUIPC (registered version):
As in [2] above, create a .bat fle (fsx.bat) containing:
net stop uxsms
net start uxsms
Make FSUIPC to run the .bat fle automatically by editing FSUIPC.ini (in your FSX\Modules
folder) by entering:
Rev: 1.05 - 04 July 2014
21
8: Multiple Monitor Setup (contd)
[Programs]
Run1=HIDE,E:\FSX\Modules\fsx.bat (insert the link path to your FSX.bat)
This last solution is going to do everything silently. No CMD popup windows, only visible Aero
activation.
The manual procedure
1) Start D3DOverrider. As above this may or may not be necessary, re the note above.
2) Start PseudoFullScreen (Green icon down in the right corner)
3) Start FSX by clicking Kostas Aero .bat fle. Voila!
You can now use FSX using DX10, with two dissimilar monitors, in fullscreen (with ToolTips) with
Vsync working fne, and a panel or two on the second screen without having the dreaded Rotating
EggTimer happening!
Rev: 1.05 - 04 July 2014
22
9: Links/resources/late additions
Files
Most fles are hosted at NZFSim. Some are listed below. For a complete listing, go to:
http://www.nzfsim.org/index.php?dsp=downloads&f_sort=fxer.
D3D Overrider DX10 Fixer v2.3 User Manual
FSX Graphics Buffering Matts Rain Fix
Michael Swannicks FSX Lights OOM Desktop Heap Limitation (Microsoft)
Phil Taylors SP2 Blog Pseudo Full Screen
ShadersHLSL UIAutomationCore.dll
Links
DX-10 forum at Sim-Outhouse:
http://www.sim-outhouse.com/sohforums/forumdisplay.php?92-DX10
The Offcial DX10 Scenery Fixer Support Forum (Avsim):
http://forum.avsim.net/forum/644-the-offcial-dx10-scenery-fxer-support-forum/
Steves Blog:
http://stevesfsxanalysis.wordpress.com/
Acknowledgements
Primarily, Id like to thank Paul PJ Johnson both for his original guide (which helped me set up my
own DX10 system) and for allowing me to use his guide as a basis for this one. Most of the leg-work
is his!
Of course, Id also like to thank Steve Parsons for giving my FSX a new lease of life!
Adamski_NZ : 4 July 2014.
Contact: Via the SOH or Avsim forums or: http://www.nzfsim.org/index.php?dsp=contact
https://stevesfsxanalysis.wordpress.com/2014/06/26/v2-3-missing-fle/
V2.3 Missing ini fle
June 26, 2014: https://stevesfsxanalysis.wordpress.com/2014/06/26/v2-3-missing-fle/
Unfortunately, the 2.3 FSS release of DX10 Scenery Fixer is missing a confguration fle
(DX10Product.ini). This causes issues with some lights such as landing lights. To correct this,
download the fle from either this links:
https://www.dropbox.com/sh/nnfapxeln8d8wbq/AADXn1vA5S7jO5B0fkUaSCh2a
1) Uninstall the libraries using DX10Controller
2) Copy the downloaded fle to [your fxer location]\DX10Scenery Fixer\
3) Install the libraries using DX10 Controller

You might also like