Professional Documents
Culture Documents
AVSIM Lockheed Martin Prepar3D Guide PDF
AVSIM Lockheed Martin Prepar3D Guide PDF
Founder of AVSIM
September 8, 1950 – April 4, 2015
AVSIM
® Guide
For P3D Users
This intent of this guide is to help Lockheed Martin Prepar3D users get the most out of their
flight simulator and the vast array of 3rd party content available for Prepar3D.
Table of Contents
Forward.............................................................................................................................................................. 4
Introduction ....................................................................................................................................................... 5
Administrative Information ............................................................................................................................... 5
Installation and purchase .................................................................................................................................. 8
Setup .............................................................................................................................................................. 8
Content ........................................................................................................................................................ 15
Scenery ........................................................................................................................................................ 18
Scenery.cfg................................................................................................................................................... 49
SimObjects.cfg ............................................................................................................................................. 51
Terrain.cfg .................................................................................................................................................... 54
Camera.cfg ................................................................................................................................................... 56
DLL.XML ....................................................................................................................................................... 58
EXE.XML ....................................................................................................................................................... 62
Verify software started via EXE.XML are NOT still running ....................................................................... 131
Conclusion...................................................................................................................................................... 151
NOTICE: Throughout this guide, links to websites have been provided. Just
click on the underlined hyperlink. You will need an active Internet
connection when clicking on a link to the Internet. Please report any invalid
or broken links to AVSIM.
This is a living document and will be updated from time to time. Please ensure that you are using the most recent
version of this document. You will always find the most updated version at AVSIM. This document is copyrighted
by AVSIM Online and it shall not be distributed or altered in any fashion without prior written authorization from
AVSIM.
Forward
I started this living document primarily on request from AVSIM, but the real motivation was
to consolidate the many questions, that are asked repeatedly and frequently, into a document
that user of Prepar3D can be referred to in the hope they will find answers to their questions.
It’s important to note “answers” and not necessarily “solutions”, sometimes there simply is
no solution and it’s the answer is a compromise and/or work around.
So, who am I? I’m a software engineer that works for a small software company in Oakland
California. I started programming at age 16 and had a few games published in the early
1980’s. I’ve been coding at a professional level since 1990 (mostly business applications with
a few exceptions) using a variety of programming languages and technologies.
I have been using flight simulators for many decades starting with sub LOGIC Flight Simulator
1 for TRS-80. I got involved with Lockheed Martin in Nov 2013 with the release of Prepar3D
V2.0 and was provided with an opportunity to be on their Beta team. I was later also provided
with the duty of being one of Lockheed’s Forum Global Moderators. I do NOT work for
Lockheed Martin nor do I receive any financial compensation from Lockheed Martin. I’m a
paying Developer Pro Plus subscriber and feel it’s important to keep financial autonomy so as
to be objective.
I have “some” real world flight experience in single props. I’m doing a start/stop approach
to getting my PPL at my local FBO KCCR … not an ideal process, but finding time has been
difficult.
I hope this guide will help you get the most of Prepar3D.
SimConnect
Troubleshooting
The basic flow of this guide will take you thru; basic purchase and installation process, how
to update your Prepar3D installation when new versions are released, configuring your
graphics settings, exposing what settings increase process loads, adjusting you 3 rd party
products configuration settings to improve performance, some Prepar3D configuration
settings (often called “tweaks”), setup of SimConnect (used by many 3rd party products),
working thru compatibility with older FSX products, a quick guide to basic overclocking, and
finally setting up input control devices (controllers).
This document will assume limited computer experience, but it will cover both easy and
advanced topics. Parts of this document will expect users to understand how to use a text
editor (like Notepad) to edit/modify content in text files.
Hopefully there is some information to be gain in this document for the new user and the
experienced user.
Administrative Information
AA – Anti-Aliasing. A process used to smooth out jagged edges that are produce by digital
images. Aliasing represents a lack of precision where a pixel is an approximation of light,
the more pixels the more accurate the approximation and hence less aliasing. Many
antialiasing methods involve expanding the image to be render into a much larger image and
operated on with a mathematical algorithm and then reduce back down to original source
resolution. The human eye can distinguish up to about 170 pixels per inch at a view
distance of 20 inches.
GPU – Graphics Processing Unit. This is the hardware in your PC that is responsible for
rendering Prepar3D virtual 3D world to your monitor’s 2D world (pixel grid).
SLI – Scalable Link Interface is a name nVidia used to identify a system that is using Multiple
GPU’s to process graphics. Lockheed Martin have worked with nVidia to get “official” multi-
GPU support at the driver level. SLI support was introduced in P3D V2.5.
CPU – Central Processing Unit. This is a core hardware component of a computer responsible
for executing program code/instructions (and more).
VAS – Virtual Address Space. This represents how much memory is being used by the running
process. In the case of Prepar3D, it is currently a 32bit executable/program and as such is
limited to using a maximum of 4GB of memory.
UI – User Interface, this is visual buttons, checks, sliders that a user interacts with within
P3D … for example the Settings screens where graphics options are selected is a UI.
Pixel – Physical point in a raster image. For example, a 1080p monitor is 1920 x 1080 pixels
arranged in a 2-dimensional grid … there are 2,073,600 pixels in a 1080p monitor. The more
pixels in a raster image the more accurate the image.
Render – The process from start to finish of generating pixel color so as to present an image
on a monitor. It’s important to understand that what you see on a monitor is nothing more
than stationary pixels changing color information so as to build a recognizable image.
FPS – Frames Per Second. This is often used a reference to performance where lower FPS is
less desirable than higher FPS. Be sure NOT to confuse FPS with “smoothness” as you can
smooth visuals at 30 FPS and smooth visuals at 60 FPS. It’s a measure of how fast you PC
can render frames over a period of 1 second.
Long Frames – Often referred to as “stutters”. A long frame is a result of the CPU/GPU
taking longer than “average” to produce a single visual frame during the render process.
Because the duration of time required to produce one frame is longer than the time to produce
other frames, the difference in time tends to draw attention to itself when viewed by the
human eye/brain. When operating at 30 Hz that means each frame has 33.3 milliseconds to
render, when operating at 60 Hz that means each frame has 16.6 milliseconds to render.
Long frames can be defined as frame with longer than the normal duration at a given monitor
frequency. For example, a monitor operating at 30 Hz where a frame that takes more than
33.3ms to render would be a “long frame” (the monitor updates it’s display with the same
image because a new image is not ready).
Colored Text – Various colors will be used to quickly identify important references. The color
and type face used are:
Hidden System Folders - Some actions below require opening/moving hidden files located in
hidden system folders. Not to worry, this is not all that complicated. To learn how to show
hidden files in your operating system, go to your Windows Search feature and type in ‘Show
Hidden Files’, then look up in the menu and click on Show Hidden Files and Folders (this works
with all Operating Systems) Once you have “Folder Options” open, click on the “View” tab and
you will see the following:
Figure 1
Simply click on ‘Show hidden files, folders, and drives’ and click OK
Setup
After purchase and download you will need to unzip the file (suggest using 7-Zip) and should
have a files structure below:
Figure 2
It’s recommended you install P3D under Administrator account but is not required. Installing
under the Administrator account provides more compatibility to 3 rd party add-ons (especially
legacy FSX add-ons). Right click on Setup.exe and select Run as administrator:
The names between the %...% indicate operating system environment variables. For
most users these variables will be defined as such:
%PROGRAMDATA% = C:\ProgramData
%LOCALAPPDATA% = C:\Users\[YourAccountName]\AppData\Local
… i.e. [YourAccountName] = Rob … C:\Users\Rob\AppData\Local
%APPDATA% = C:\Users\[YourAccountName]\AppData\Roaming
… i.e. [YourAccountName] = Rob … C:\Users\Rob\AppData\Roaming
%USERPROFILE% = C:\Users\[YourAccountName]
… i.e. [YourAccountName] = Rob … C:\Users\Rob
It’s recommend NOT using the default installation folder because of the following reasons:
1. SATA is serial and as such dedicate data path so having P3D on it’s own data path and
not a shared data path will be better for performance and less contention for resources.
2. Installing outside of the default “Program Files (x86)” folder has less security restrictions,
this can be an issue when working with 3rd party products that have EXEs running on
separate threads and/or from different folders under a different security context.
Major version example being 3 and sub versions .1, .2, .3, etc.
Install_Client.msi Install_Content.msi
Install_Scenery.msi
For each component you must UNINSTALL the existing component FIRST before proceeding to
run the new component install.
IMPORTANT: For the purpose of demonstration of file changes between Client, Content, Scenery,
a compare was made using a Prepar3D V3.2 base install with Orbx FTX Global install and then
ran the Prepar3D V3.3 Client, Content, and Scenery component installers to see what files were
impacted by these updates. This “sample” provides an idea of what might get changed when
doing P3D component updates.
Client
The Install_Client.msi is the primary component that updates the core P3D runtime files. This
is the least intrusive of the three component updates … meaning it will have the least amount
of impact (i.e. no need to re-install add-ons) to 3rd party Add-Ons. The client update is also the
primary core update that moves P3D from one sub-version to another sub-version (i.e. v3.2 to
V3.3). At a minimum the client update must be executed in order to update your P3D version.
This step should be performed FIRST before the Content or Scenery updates. In many cases the
Client update is all that is needed making the process quick and seamless.
Once this step is complete, proceed to installing the newer P3D client update.
1. Backup your Prepar3D.cfg, and then delete Prepar3D.cfg. This will force P3D to build
a new Prepar3D.cfg with any “new” settings/entries with default values. Use P3D Menu -
options | settings to configure your P3D options similar to your original Prepar3D.cfg.
P3D will recreate this folder on next startup, be patient as this process can take
several seconds or even a couple of minutes to re-build the Shaders on startup.
This process ONLY happens once when triggered by 3 rd party or when shaders
folder is manually removed … it should NOT be a “regular” process on every
startup.
File Changes/Updates
There are many files that will be updated/replaced with a Client update but the files updated will
vary in each released version. Some key files that are update in this example going from v2.3
to v3.3:
C:\Users\Rob\AppData\Roaming
Prepar3D.cfg
New entries were added going from V3.2 to V3.3:
[WEATHER]
CLOUD_FACING_MODE=0
[MULTICHANNEL]
condAccountPassword=0
[MULTIPLAYER]
FrameSyncRate=0
WaterConstantsV3.xml
Minor changes to version info and adding “00” to values.
UISettings.xml
Change to position of window from top 583 old value to 563 new value
Displays.xml
Multichannel.xml
ViewGroups.xml
…\Lockheed Martin\Prepar3D v3
Most of the *.DLL’s
Many of the *.lib
Many of the *.exp
And the main Prepar3D.exe
MDLReader.dll was removed
mplEashBlendSDKDX11.dll (NEW)
VERY IMPORTANT: Any 3rd party product that binds to P3D in a non-standard method (goes
outside the SDK) will likely have compatibility issues. These issues will need to be resolved by
the 3rd party add-on provider. Some examples of 3rd party add-ons that could be impacted by
a client update are:
Orbx ObjectFlow
HiFi ASN/AS16
GTN 650/750
FSDT/FB (Virtuali suite of products)
REX/Milviz WX Radar
SODE (Any 3rd party airport using SODE)
VA Interface (CDUs) FSUIPC
And more …
Content
The Install_Content.msi is a component that updates effects (FX), default aircraft, default sim
objects (boats, cars, etc.), default sounds, and more … it does have a higher potential to
overwrite files installed by various 3rd party add-ons.
Once this step is complete, proceed to install the newer content update:
Files Changes/Updates
There are many files that will be updated/replaced with a Content update but the files updated
will vary in each released version. Some key files that are update in this example going from
v2.3 to v3.3:
Note: Red text indicates folders/files often updated/modified by 3rd party add-ons. Installing
the Content update will overwrite these files and cause problems with existing add-ons. Contact
the 3rd party Add-on provider to determine if these files are being modified by their respective
product(s).
Scenery
The Install_Scenery.msi is a component that updates global scenery files … it also has
potential to overwrite files installed by various 3 rd party add-ons.
Once this step is complete, proceed to install the newer scenery update:
Files Changes/Updates
There are many files that will be updated/replaced with a scenery update but the files updated
will vary in each released version. Some key files that are update in this example going from
v2.3 to v3.3:
Note: Red text indicates folders/files often updated/modified by 3 rd party add-ons. Installing
the Content update will overwrite these files and cause problems with existing add-ons. Contact
the 3rd party Add-on provider to determine if these files are being modified by their product(s).
: Your monitor is comprised of rows/columns of pixels where each pixel can be configured to
represent a color. For example, a 4K monitor (uHD) is 3840 x 2160 pixels vs. standard HD
monitor is 1920 x 1080 pixels. The physical size of the monitor has NO relationship to the
number of pixels. Every monitor will have a “native” resolution defined as row/columns of pixels.
A GPU’s “final” output is simply the setting of a color value for each pixel on your monitor such
as to build a recognizable image (similar to a jigsaw puzzle only organized in exacting
rows/columns). The more pixels your monitor has the more “clear” the image will seem. For
example, a GPU connected to a 4K monitor has to set the color value of 8,294,400 pixels for
every single frame rendered. So the more pixels that need to be set, the more load is placed
on the GPU.
Figure 11
1. Airline and GA Traffic Density (especially if you have 3rd party Traffic Add-On)
2. Screen resolution
3. Terrain Shadow Cast Distance (location with mountains and time of day – dusk/dawn)
4. SimObjects and Vegetation Shadows
5. Road, Ship, Ferries, Leisure boat traffic
6. Water Detail (relies on CUDA support)
7. Autogen Building density
The setting that have the most impact on VAS (available memory) are:
1. Airline and GA Traffic Density (especially if you have 3rd party Traffic Add-On)
2. Terrain Level of Detail Radius
3. Texture resolution (not screen resolution)
4. Scenery complexity
5. Autogen Building density
Users should experiment with graphics settings as every PC and list of 3 rd party add-ons is
unique (variance in OS, RAM speeds, CPU type/speeds, hard drives, etc.). Here are some
examples of graphics settings to use that range from low end computer system to an extreme
very high end system.
Figure 16
For high density location such as Orbx SoCal or NorCal on a higher end computer:
On higher resolution monitors (3840 x 2160) AA becomes less of an issue, but on lower
resolutions monitors (i.e. 1920 x 1080) AA and shimmering can present a visual problem. On
higher resolution monitors MSAA is usually “good enough” to provide sharp clear images.
However, on 1080p monitors MSAA alone may not be enough to provide a nice clear sharp
image. There is a solution but it has performance implications (lower FPS).
Such as solution is to use nVidia Inspector to use SGSS AA which is currently the best available
AA for 3D real time processing in games/simulations. To configure SGSS AA for use with P3D
requires:
Figure 31
Be aware that using SGSS AA will reduce FPS overall and even more significant a FPS drop when
flying thru dense clouds. It is recommended to stick with MSAA and FXAA as a working
compromise, however, if your goals are the best AA possible, then using nVidia Inspector with
SGSS AA is the current best option.
Note: there are other ways to improve AA, such as DSR, and MFAA.
• Prepar3D.cfg
• Scenery.cfg
• SimObjects.cfg
• Terrain.cfg
• Camera.cfg
• DLL.XML
• EXE.XML
Note: there are many additional configuration files, but this document will cover (for
now) just those files listed above.
Prepar3D.cfg
This file is located in the folder:
%APPDATA%\Lockheed Martin\Prepar3D v3
This configuration file contains many of the values set via the P3D menu Options | Settings…
(below):
Figure 32
• TextureMaxLoad
• SWAP_WAIT_TIMEOUT
• UseGlobalTerrainView
• SHADER_CACHE_VERSION
• AffinityMask
• PANEL_MAX_UPDATE_PER_FRAME
• FIBER_FRAME_TIME_FRACTION
• OPTIMIZE_PARTS=1
• MaxRegionsPurgePerFrame=16
• AUTOGEN_TREE_MAX_DRAW_DISTANCE=9500.000000
• AUTOGEN_TREE_MIN_DISTANCE_TO_LOD=2500.000000
• TEXTURE_BANDWIDTH_MULT=30
• GROUND_SHADOW_TEXTURE_SIZE=2048
• CLOUD_SHADOW_TEXTURE_SIZE=512
• ENABLE_MEMORY_OPTIMIZATION
• MaintainSystemCopyOfDeviceTextures
TextureMaxLoad
Section [DISPLAY]
Source Prepar3D Tuning Guide
Default 6 (if no entry exists)
Requirements None
Description Primarily a benefit for Photorealistic scenery, set values too multiple of 3
(3,6,9,12, etc.).
Benefits Improve texture loading performance and reduces low quality textures
(blurriness)
Detriments Can induce long frames (stutters)
SWAP_WAIT_TIMEOUT
Section [TERRAIN]
Source Prepar3D Tuning Guide
Default 30 (if no entry exists)
Requirements None
Description Number of frame the terrain engine will wait for terrain only textures to load
into video memory before allowing a frame to be rendered.
Benefits Can improve FPS
Detriments Can increase frequency of low quality textures (blurriness)
UseGlobalTerrainView
Section [TERRAIN]
Source Prepar3D Tuning Guide
Default False
Requirements Tessellation must be enabled, multiple views and/or GPUs
SHADER_CACHE_VERSION
Section [GRAPHICS]
Source Prepar3D Tuning Guide
Default 0 (if no entry exists)
Requirements None
Description Set = 1, forces a shader cache rebuild any time changes are made to the
Prepar3D.cfg
Benefits Sometimes shader cache is not sync’d correctly and/or gets corrupted, this
will force the cache to get rebuilt
Detriments Delay in loading the 3D view (pending complexity of settings/add-ons that
can take anywhere from 30 seconds to 3 minutes).
AffinityMask
Section [JOBSCHEDULER]
Source Prepar3D Tuning Guide, Gatwick Flight Simulation Group, Steve
Default All cores (if no entry exists)
Requirements Multiple CPU cores
Description Set = 14. Defines what cores Prepar3d.exe will run on. An affinity mask
calculator can be found here to help determine what values to enter. There
is also considerable information that can be found here.
Benefits Less stutters, higher FPS, less VAS usage.
Detriments Requires some experimentation and varies by computer.
PANEL_MAX_UPDATE_PER_FRAME
Section [PANELS]
Source Prepar3D Tuning Guide
Default 0 (if no entry exists)
Requirements None
Description If 1, panels update no more than once a frame even when FPS goes below
18. If 0, panels update will get called more than once when FPS goes below
18.
Benefits Less panel updates for slightly better performance but only when
performance is already very low.
Detriments
FIBER_FRAME_TIME_FRACTION
Section [MAIN]
Source Prepar3D Tuning Guide
Default 0.33 (if no entry exists)
Requirements None
OPTIMIZE_PARTS
Section [SIM]
Source LM – Beau Hollis
Default 1
Requirements None
Description Optimize parts basically goes through the model looking for parts that use
the same material. It then creates bones for each part and combines the
mesh for each part into skinned mesh. A common example of this is a
numeric keypad. Because each button is animated separate, it has to draw
separately, which slows things down. The optimization step can combine the
entire keypad into one draw call and using a bone to animate the vertices of
each button.
Benefits Increased performance (improves FPS).
Detriments None, but not all 3D models will benefit from this optimization (3 rd party
dependent).
MaxRegionsPurgePerFrame
Section [SCENERY]
Source LM – Beau Hollis
Default 16
Requirements None
Description To reduce stalls was to put a limit on the number of scenery regions purged
per frame. This was part of the big updates we made to optimize trees. As
you fly around, scenery regions get requested based on distance from the
camera. Scenery regions hold model placements, auto-gen, etc. The terrain
mesh/texture data is handled through a totally different system though
which relies on the LOD radius. The scenery database loads modes based on
your scenery complexity, and makes auto-gen requests based on auto-gen
settings, etc. The regions represent 64km, 16km, 4km, and 1km tiles with
16 children. These are loaded as needed and stay in memory until purged.
Because of parent/child dependencies, the system only purges by distance
at the 64km level. When a top level region is removed, it then recursively
removes its children. Autogen tree data is stored in 1k cells, so there could
be up to 4,096 tiles worth of three placement data to free up. This would
cause very noticeable hangs. So, rather than remove all the tiles, we que
them up for remove and remove a few every frame. Originally this was set
to something low like 4. We raised it during the last round of memory
optimizations to help speed up the process of clearing memory and avoid
potential edge cases where fly fast at a low framerate might allocate
memory faster than it gets freed.
AUTOGEN_TREE_MAX_DRAW_DISTANCE
Section [SCENERY]
Source LM – Beau Hollis, Rob Newman, and Trial and Error testing
Default 9500.000000
Requirements None (this value is NOT tied to UI settings)
Description If Autogen trees are batched in such a way that they could be shown beyond
9.5Km, then increasing this value to 12000.000000 will show trees further
out. Max 12000.000000 (12Km). Note, the LOD Radius still defines what is
loaded within any given radius/cone … however sometimes tree batches will
exceed the LOD Radius, setting this value to 12000.000000 will allow those
trees in that specific Autogen batch to be visible.
AUTOGEN_TREE_MIN_DISTANCE_TO_LOD
Section [SCENERY]
Source LM – Beau Hollis, Rob Newman, and Trial and Error
Default 2500.000000
Requirements None
Description This value will adjust the tree density further away from view point. Max
value is 8000.000000 (8Km).
Benefits More autogen trees are seen further away from current view position.
Detriments Increase VAS usage and reduces FPS.
TEXTURE_BANDWIDTH_MULT
Section [DISPLAY]
Source LM – Beau Hollis
Default 30
Requirements Target Frame Rate must be set to something other than Unlimited. Fixed
Frame rate (i.e. 30).
Description The texture bandwidth mult value is used but only takes effect when
framerate limiter is enabled. It is set up to define the underlying framerate
used to calculate texture load and allocation limits. If you lock to a lower
framerate than the value of the texture bandwidth mult, then the texture
load allowance will be increased to accommodate for the longer than
necessary GPU frames. The algorithm is basically this:
TextureMaxLoad = max(TextureMaxLoad,
TextureMaxLoad*TextureBandwidthMult/LimitedFramerate)
Benefits Can reduce low quality textures (blurriness).
Detriments Can induce long frames (stutters).
GROUND_SHADOW_TEXTURE_SIZE
Section [GRAPHICS]
Source Trial and Error
CLOUD_SHADOW_TEXTURE_SIZE
Section [GRAPHICS]
Source Trial and Error
Default 512
Requirements Cloud Shadows enabled.
Description Defines the texture resolution of the cloud map used to render cloud
shadows in aircraft and on the ground. Values can range from 256, 512,
1024, 2048, and 4096. Increase the value to improve shadow quality (less
jagged edges and less flicker). Reduce the value to improve performance
(FPS) at the cost of shadow quality (more jagged edges, more flicker).
ENABLE_MEMORY_OPTIMIZATION
Section [GRAPHICS]
Source LM – Beau Hollis
Default 1 (if no entry exists)
Requirements None
Description 1. Performs periodic cleanup of the geometric cache which stores buffers
used for batched buildings. If you have high autogen settings and move spin
the camera around, the geometric cache can get quite big. Looking strait up
at the sky for a few seconds may get you back 100+ MB of VAS. This change
doesn't really help with the worst case scenarios where 200+ MB of memory
is needed for the current scene, but it could help a great deal if you were to
start in london where autogen is very taxing and switch to FlyTampa Dubai,
where autogen is mostly disabled and replaced with pre-batched placed
models.
2. Clear textures out when changing airports. Going to a new airport
would trigger loading of new texture before the current area's textures had
been given their 10-seconds to page out. Clearing out textures on airport
change, helps prevent a spike in texture memory related to this. Note that
with MaintainSystemCopyOfDeviceTextures enabled, this is less important as
the bulk of the memory associated with these textures should already be
freed up before the switch.
Benefits Reduce VAS usage.
Detriments None.
MaintainSystemCopyOfDeviceTextures
Section [DISPLAY]
Scenery.cfg
This file is used by P3D to order and index default base scenery and/or any add-on scenery.
Figure 33
Figure 34
In the example above the Local= is a relative path meaning the scenery is located relative to
the install location of P3D. If P3D install location is “D:\Lockheed Martin\Prepar3d v3” then
Local=Scenery\BASE would indicate the files for scenery area.004 are located in “D:\Lockheed
Martin\Prepar3D v3\Scenery\BASE”.
This file is often updated by 3rd party products including airports, common libraries, vector data,
photorealistic, AI traffic, and more.
Figure 35
The SimObject.cfg is similar to Scenery.cfg in function with the exception that it is not “Layer”
based and the index order is not relevant.
The PATH value is used to identify where the SimObjects are located which can be an absolute
path or a relative path.
Figure 37
This file can be modified to add new texture and autogen sections to support a new type or style
of vector data.
As you can see from above (Figure 37), a 3rd party add-on (Orbx) has created new entries.
Similar to the SimObjects.cfg, the Terrain.cfg file must have contiguous entries … i.e.
[Texture.0], [Texture.1], … [Texture.n]. This texture count is zero based so will start with
[Texture.0]. At the beginning of this file there is a “DefaultTextureCount=” which must equal
the number on entries in the file, taking into account it’s zero based.
Example:
DefaultTextureCount=1014
• Global Cameras
• Aircraft Cameras
• Avatar Cameras
• Scenario Cameras
This section will only cover the global camera configuration file located in
%APPDATA%\Lockheed Martin\Prepar3D v3.
Figure 39
There are several 3rd party add-ons that will modify this file (EzDok, OpusFSI, and more). A
common end user modification is done to prevent unwanted “Cyclic” (S key) views from
appearing.
Figure 40
If you want to extend this to prevent aircraft views from being included in the cyclic (S key),
then edit the camera.cfg specific to the aircraft you plan to use. These camera.cfg files are
found with the aircraft under the SimObjects folder:
There are VAS benefits to hiding views you don’t want or don’t plan to use. It’s important to
note that these views can still be selected via the P3D Menu and/or right click context menu.
The cameras/views still exist, they just aren’t part of the cyclic (S key) sequence. The
CycleHidden=Yes will only remove the view from view cycle sequence (S key).
Another reason to work with camera.cfg (or Sim.cfg) files is to reduce Z-fighting problems
(flickering). You can add or edit
NearClipOverride values
“The defaults currently have "NearClipOverride=0.075" you may want to try 0.25, 0.5, 1.0, 5.0,
etc till you find a good value. For reference I believe the default near clip when inside the aircraft
on the runway is around 5.”
DLL.XML
The DLL.XML file is used by 3rd party add-ons to dynamically bind specific features of their
product to the P3D environment. DLL entries will be loaded as part of the main Prepar3d.exe
and run under P3D environment. Unfortunately, LM have two possible folder locations for this
file and there can be two versions that will be merged when loaded by P3D.
Figure 42
When diagnosing problems, the entries in the DLL.XML can be temporarily disabled to see if
that would resolve any issue(s).
Figure 44
If the DLL.XML file exists in both folder locations (ProgramData… and AppData\Roaming…), P3D
will merge the entries.
Conflicts can occur when 3rd party add-ons use common tools to support their product. If an
add-on is using a common tool (like SODE, or APController.exe), and was installed prior to
these changes introduced by LM (in a later P3D version), and then a user installs a new addon
that uses the new LM process, then it’s possible to have two different versions of a common tool
(i.e. SODE, APController) being referenced in the DLL.XML.
Note: this problem can also exist for the two locations of EXE.XML.
If these entries point to different locations for the “same” named add-on, then this can cause
CTD’s and/or prevent P3D from running with a silent close (no errors) return the user to the
desktop.
EXE.XML
These files are similar to the DLL.XML except that the entries being loaded run/execute in their
own address space (and use SimConnect to communicate with P3D environment).
Unfortunately, there can also be two folder locations for the EXE.XML file and P3D will merge
and load any entries found in both EXE.XML files.
Above image shows one location for the EXE.XML in the AppData\Roaming path.
If EXE.XML files existing in both folder locations (ProgramData… and AppData\Roaming…), P3D
will merge the entries.
The two EXE.XML files are also subject to the same potential for conflicts as the two DLL.XML
files. The same procedures as those used for the DLL.XML to disable the entire file or just
single add-ons can also be applied to the EXE.XML files.
: If you are experiencing problems/CTDs, then the DLL.XML files and EXE.XML files (in both
folder locations … ProgramData and/or AppData\Roaming…) is a good place to start disabling
add-ons one at a time to see if it resolves the issue. In addition, when P3D is updated to a
newer version (i.e. V3.2 to V3.3), there are several 3 rd party add-ons that bind themselves to
the Prepar3D.exe and/or associated DLLs in such a fashion (outside of normal SDK supported
procedures) that they must be updated also in order to work with the new P3D version. To work
around these “special” types of 3rd party add-ons, you can temporarily disable (using process
outline earlier in this document) their associated entries in the DLL.XML and/or EXE.XML until
the 3rd party vendor releasing updates.
In this section I’ll cover the configuration of some Add-ons commonly used but by NO MEANS
all the available add-ons for P3D (many 1000’s). It’s impossible to cover all the add-ons and
Figure 50
Note: The number of cloud layers can impact performance significantly. A value of 3-5 works
well, values below 3 can result in no Cirrus clouds, so going too low will reduce realism.
Note: If there are excessive thunderstorms/lightning in a flight, check this value to reduce the
frequency of thunderstorms (thunderstorms will still appear, just not as many).
Note: If you like to see clouds all the way out to the Horizon 100-110 mi will accomplish this,
but the higher this value the lower FPS and more VAS used.
Note: This value can induce a severe FPS reduction when settings exceed 110mi if the weather
is very cloudy or overcast.
Note: Force BKN to 7/8ths can produce repetitive cloud patterns and can reduce FPS and
increase VAS.
Note: Values 500-1000 work well for P3D and can avoid odd cloud/mountain/hill intersections.
Note: This value should remain unchecked for P3D (per HiFi recommendation).
Note: If checked, you might experience extreme up/down drafts (over 6000ft/min climb or
descent) … for GA aircraft this results in uncontrolled flight. Setting of the Max
updraft/downdraft (see Figure 71 and Figure 70 ) to 2000 ft/min will allow for controlled GA
flight.
ASCA Settings
The following ASCA settings allow for the use of REX Texture Direct sky and/or cloud texture
sets. If you prefer to use alternate sky textures, then configure ASCA as follows:
Figure 83
Below is some setting used for Sky Textures only that work well in most weather conditions:
If using P3D’s HDR setting then, be sure to enable REX HDR texture support. The cloud sizing
options can increase the size of the clouds but in doing so could also impact performance and
VAS. As with most options, it’s a compromise of performance vs. memory usage vs. visuals vs.
capacity of computing hardware.
For best performance, leave the Cloud Sizing Algorithm to default value of 0.50. Higher cloud
sizes combined with high levels of AA can reduce FPS performance considerably (especially on
overcast and/or very cloudy days).
Since all textures are personal preference, there is no right or wrong, experiment and see what
works best. Specific sky texture sets that I find work well in most situations are:
Again it’s highly recommend users experimentation with textures. Be aware that if you have
HDR enabled and have adjusted the HDR settings in P3D, then how these texture will look will
vary as will the impact they have on ground terrain and overall lighting of the P3D environment.
Orbx
Orbx provide a host of different scenery add-ons from airports, to vector data (roads), openLC
(land class definitions), terrain mesh, enhanced trees, and detail regions. As with most addons
that improve the visual experience of P3D environment, these add-ons might need some
adjustments to work out the best compromise of performance vs. memory usage vs. visuals.
Orbx Vector
This add-on provides a rich environment of which to fly in, adding accurate coastlines, rivers,
lakes, motorways, freeways, arterial roads, golf course, parks, forests, etc. However, adding
this much accuracy on a global scale comes with a performance and memory cost. With
everything enabled in Vector as much as 400MB additional VAS could be used (pending location)
and increase the processing load (CPU and GPU). As such, some compromise provided below
might help alleviate some of the VAS/FPS issues associated with this 3rd party add-on:
Note: Frozen Surface option can sometimes cause water square to appear making for an
unnatural look. However, when working correctly they do provide seasonal accurate surfaces.
Note: Version 1.4 of Orbx Vector introduced another tab for users that have Orbx Australia
region installed … this option should be checked for those users.
Orbx also provide a means to resolve elevation conflicts between Orbx Vector and other 3 rd party
add-ons. This tools in provided in the Airport Elevation Corrections tab. If a user is experiencing
strange elevation issues with some other 3rd party products, then run the AutoConfiguration
utility to correct airport elevations (AEC).
Figure 92
This process can take several minutes pending on how many add-on a user has installed. Be
sure to click the “Apply” button AFTER the auto-configuration process completes.
Orbx Airports/Scenery
Many 3rd party add-ons provide specific configuration tools for their products to enable/disable
features that allow end users to adjust for their computing hardware.
Figure 93
Figure
94
Adjusting these options can have a significant impact on performance and VAS usage.
In Conclusion
The above 3rd party specific configurations are just examples of some 3rd party product add-
ons that can be configured to provide the best performance to visual ratio. Almost all 3 rd party
Again, this is a very small sample simply used to demonstrate the need to configure 3rd party
add-ons to find the best performance to visuals compromise for your computer. It would be
impractical for this document to contain every 3rd party product’s configuration options (this
document would be well over 2000 pages long and impossible to maintain/update).
Best practice is to experiment with configuration screens from your favorite 3 rd party add-on
and come to your own working solutions.
Unfortunately, there are several versions of SimConnect which require separate installation.
P3D also has it’s own “built in” SimConnect version that does not require a separate installation,
however, this requires to add-on to be created specifically for P3D and ONLY P3D. Because of
this, not many 3rd party vendor use this process for SimConnect and stick with the most common
SimConnect client which is FSX-SP2-XPACK version.
For compatibility reasons, many 3rd party vendors select a version of SimConnect that will work
in multiple versions of ESP based flight simulators (meaning FS2004, FSX, FSX-SE, P3D V1, V2,
V3).
The separate SimConnect client installs can be found under the root of your P3D install folder
…\redist\Interface:
Figure 95
One of the most common versions of the SimConnect client used is FSX-SP2-XPACK. Installation
requires a user to execute the SimConnect.msi:
Figure 96
Above are 4 different SimConnect client installs made from the various version of SimConnect.
Once SimConnect is installed, there are 3 optional files that can be used to configure
SimConnect:
SimConnect.ini
SimConnect.cfg
SimConnect.xml
Note: these 3 files are NOT required to use SimConnect on a stand alone computer (a
computer that is not remotely connected on a local network).
SimConnect.ini
Setting of “level” value will filter out how much debug information is reported. The Values are:
Verbose
Normal
Warning
Error
Off/None
For detailed diagnostics use the “Verbose” value, but be aware this can generate considerable
information/data in a very short period of time so the file size will increase rapidly.
The “File” option is used to specify a filename and folder location that will used to save the
SimConnect stream of output data. In the example above, a SimConnect000.log file will be
created in the root of D:\ drive.
The “Console” option is 0 or 1 or Yes or No … if 0/yes a debug console window (looks like an old
DOS window) will be opened and the output data is streamed to it.
SimConnect.cfg
The SimConnect.cfg file is located in the “Documents” directory of the “Client” computer.
The most important entry in the SimConnect.cfg is the value for “Address”. This is the local
private IP address of your computer that has P3D installed (Server).
You can determine the IP address of your computer(s) by running IPCONFIG from the CMD
prompt. Type “CMD” in you Search box. Now type IPCONFIG:
Figure 102
Figure 103
There will be two IP address entries in this file using XML format. One IP address will define the
Global scope (this will be the same IP address used in the SimConnect.cfg), and the other IP
address is a LocalHost (IP address 127.0.0.1) scope (this is essential a reference or loopback to
your server computer, the one running P3D).
With these 3 files configured and in place, remote/networked Client/Server computers can now
leverage the benefits of SimConnect in a networked environment.
TroubleShooting
When running into problems with P3D, there are some basic troubleshooting steps that can be
taken to try to diagnose or at least identify the source of the problem.
Another potential issue are duplicate entries in the two versions of DLL.XML And EXE.XML that
“may” exist on your computer (it is possible that you may have none or just one of these files,
depends on add-ons installed). See Figure 41 and Figure 43 in this document for the possible
locates to the DLL.XML and EXE.XML. Open these files with a text editor and verify that you
do NOT see same entry listed in each file pair.
If using MyTraffic6 for P3D, you can manually disable MyTraffic6 AFCAD files by locating the
BR2_[ICAO].BGL file ([ICAO] – replace this with the actual airport ICAO code) and moving it
to and other folder location (i.e. a Disable folder).
Above is a “Disabled” AFCAD folder (user will need to create this folder) used to hold AFCAD
conflicting files found in MyTraffic6. In the example, CYUL (Montreal) will conflict with the 3 rd
party add-on airport by FlyTampa. To resolve the conflict, move the files out of the MyTraffic6
folder (below) to the folder above.
Once the BR2_CYUL*.* files are move out of the above folder then will no long conflict with
FlyTampa’s CYUL add-on.
The P3D shaders folder will get re-generated on initial start of P3D if not found. There is no
danger in deleting this folder, just be sure to delete from the correct location:
When connected to a DHCP server such as a network/wireless router, your computer may have
been assigned a different IP address that does not match the IP address listed in the
SimConnect.cfg and/or SimConnect.xml files. This can happen if DHCP addresses are not
reserved for specific machine names.
There are ways to force your network/wireless router to assign a reserved addresses based on
your computer/device name. Here is an example of how to setup a DHCP reservation on a
Linksys wireless router:
Most home routers are accessed via 192.168.1.1 but could vary by manufacturer and your
physical global location.
Select connectivity.
Under “Select” column, check the associated device name (your P3D computer) and click the
“Add DHCP Reservation” button (note button is grayed out because nothing was selected).
An example of programs/add-ons that could still be running after P3D terminates are:
If you attempt to run P3D again while these programs are already running, it could cause
problems and/or prevent P3D from running correctly.
: After exiting P3D, it can take anywhere from 30 seconds to 3 minutes for programs (add-
ons) that were launched via the EXE.XML to properly terminate. It’s important that P3D is NOT
restarted before these programs/add-ons are terminated.
Out-of-Memory (OOM)
This is a commonly reported error that is a result of many add-ons and/or very high graphics
settings resulting in P3D attempting to use more than 4GB of memory (VAS). P3D is currently
a 32bit program and is limited to using no more than 4GB of memory (regardless of how much
physical RAM you might have installed in your computer).
The solutions to resolving this error are many, but almost always require the user to compromise
graphics details and/or reduce the number of concurrent add-ons being used. Here are some
tips to reduce frequency of OOMs:
With that said, flight simulators can still look pretty stunning, especially when optimized to make
the best of one’s computing hardware.
However, when selecting hardware for a new build or upgrade to existing computer, it’s good to
balance the system as best as possible. Pairing up a high end GPU with a low end CPU will not
provide a good overall system balance and will not realize the performance potential of the GPU
because it’s being held back by a low end CPU.
It’s good to shop smart, top tier hardware rarely has a good price to performance ratio.
With that said, P3D does seem to respond well to the following:
Usage of hyper-threading in a CPU really depends on how many cores you have and the
frequency at which you operate those cores at. For example, if a 5960X with Hyper-threading
enabled can only reach 4.3Ghz overclocking, but when Hyper-threading is disabled the same
5960X can reach 4.6Ghz overclocking, there will be more benefit operate at the 4.6Ghz
frequency.
The does seem to be a point of diminishing returns when it comes to CPU core count … 6-8 real
CPUs seems to work best for P3D.
To manage the heat that overclocking can produce, a good cooling solution is required. See
next section on Overclocking.
CPUs, chipset (PCH), power regulators (VRM), and GPUs all can get very hot when overclocked.
Fortunately, there are many water cooling solutions that will cover these 4 key components.
This section will NOT go into details of the 200+ BIOS/EFI settings that can be modified in order
to achieve a stable overclocked profile. Every motherboard/CPU/RAM will operate differently
and it would be impractical to attempt to cover every possible overclocking setting/combination.
• Higher frequency
• More voltage
• More cooling
• Tuned RAM timings
Current memory modules (DDR3/DDR4) don’t heat up enough to justify water cooling, if the
case is well ventilated with sufficient fans for well controlled Intake and Exhaust air flow, then
memory modules should not require any special cooling.
There is some danger with overclocking such as damaging components, but in most
cases a CPU will have thermal protection (assuming it’s not turned off via BIOS/EFI) which
should prevent permanent damage/failure, however, proceed at your own risk with no
guarantee. When overclocking always proceed with caution, if you can’t afford to write-off your
CPU of choice, then don’t risk overclocking. With that said, some users have been overclocking
computers for well over 16 years and have not had a single CPU failure.
To monitor with a visual overlay of the selected items (i.e. FPS, Temps, etc.) make sure OSD
ON (white … if gray, click on OSD OFF).
Setup monitoring of GPU/CPU frame rates, temperatures, bus loads, GPU loads, CPU loads, and
more:
SLI dual GPU monitoring (above) – to monitored values in P3D the “Show in On-screen Display”
must be enabled.
Figure
115
One approach is to setup a safe “boot” clock in the BIOS/EFI and then define an overclocking
profile that you can manually load AFTER booting into the OS.
Below is an example of ASUS overclocking/monitoring tools (AI Suite) that can be used to setup
and save overclocking profiles from within Windows OS:
Figure 116
Make your overclocking adjustments, and the use “Save Profile” button to save the profile and
then hit the “Apply” button. Once you have a working stable profile, you can run this tool to
load that profile:
Once a profile is saved, it’s time to start testing the profile in P3D.
Figure 118
Once an overclocking profile is defined, start testing the stability of the profile using P3D and
monitor CPU, VRM, PCH temperatures. In the example above, temperatures (shown in degrees
F) are very low for the given location. Note: the location and add-ons used in P3D will also
impact temperatures.
Temperature limits will vary by motherboard and CPU … a 5960X for example is safe up to about
160 F (71 C), beyond that and stability might become an issue, but some 5960X owners claim
194 F (90 C) without issue.
Performance
How to get “smooth” motion in P3D is actually not that difficult, but it does require some
willingness to compromise on graphics settings and/or add-ons.
The easiest approach (but certainly NOT the only approach) to get smooth motion in P3D is to
find a monitor that can operate at 30Hz and still look as good as it does at 60Hz or higher with
NO mouse lag. Below is a table of the relationship between monitor frequency, limited vs.
unlimited, and FPS:
Figure 119
The basic idea above is to use Unlimited IF one can sustain FPS greater than your monitor’s
refresh rate and use Vsync On and Triple-buffer On. If one can’t sustain FPS higher than the
monitor refresh rate, then use limited and set that limiter value to 2 FPS below your lowest/min
FPS reading.
: When using Triple Buffer it’s best to have a min fps 2-3 frames higher than the refresh rate
… i.e. if min FPS = 33 and the monitor refresh is 30Hz, then Triple Buffer will help smooth out
the frame rates.
The chart below represents running the same flight test using different graphics settings,
different add-ons, different hardware, different overclocking, different drivers, different OS
version, different Affinity Masks and Hyper-threading settings. The “base” graphics settings
are based on setting listed earlier in this document (see Figure 26 thru Figure 30).
S = SimObject (cast/receive)
IV = Internal Vehicle (cast/receive)
EV = External Vehicle (cast/receive)
Note: Other technologies like G-Sync (nVidia) and FreeSync (AMD) are also good at variable
refresh rates, but it’s important to note that human perception will see motion as “smooth”
when time between frames is consistent. If you can hit every frame at exactly 16ms then that
will look smoother than hitting 80% frames at 10ms and 20% > 40ms. The goal is to achieve
the most consistency in frame time. For most normal GA/commercial flying, 30 FPS will provide
a smooth experience, however, for military combat flying and/or aerobatic flight, then 60 FPS
would be a more desirable goal.
Figure 120
The colored rows indicate some interesting performance compares where it’s clear how a single
setting, or hardware change, or driver change can affect FPS and long frame counts (stutters).
TrackIR
This USB device consists of a sensor that is mounted on top of a monitor and is used in
combination with a head mounted LED/reflection. The intended purpose is to track a user’s
head motion. This head motion is then used to move the view from within P3D.
It may also be required that TrackIR5 is set to “Run as Administrator” … this varies based on
how your computer is setup/configured with user accounts.
The quickest and easiest way to get “slow” controllable motion in P3D is to set the Motion Control
values for “Speed” and “Smooth”. In the (see Figure 120) above Smooth is set to it’s max
value of 50 and the motion speed is almost at it’s lowest value 0.4. Experiment with these
values to provide an acceptable head motion experience. For additional motion speed changes,
you can adjust individual axis curves using graph points to express how quickly you’d like motion
to happen at different head positions.
Trap checkbox is used to control the passing of Hot Key assignments thru to P3D. If Trap is
checked and F12 is the key used to center trackIR, then you need to make sure that P3D does
NOT have any F12 key assignments as P3D would NOT receive the F12 event message.
In most cases it’s better to have Trap checkbox checked, and just make sure P3D (and or add-
ons) have NO key assignments mapped to F12.
Once in P3D, you can then use the F12 key to re-center TrackIR. It can be very helpful to also
map another key to toggle TrackIR tracking. Again, you can use any key you like but make
sure that key sequence isn’t used by P3D.
It’s a good idea to also set the TrackIR to precision mode using F7 key. Precision mode is only
available for TrackIR5 units.
Figure 122
Precision mode status is shown in the lower right section (see red ellipse in figure above).
Precision mode helps smooth out head motion but does reduce the range of motion.
There are several head devices that can be used with TrackIR:
The TrackIR Visor and Clip works very well “as is”, however, with just a slight modification
(especially for those of users with “silver” hair and/or other reflective surfaces). Such a
modification is to use some reflective tape from a hardware store or online and apply slightly
larger reflective squares over the existing hat clip reflective squares. These larger reflective
squares make it easier for the TrackIR sensor to pick up accurate head position:
This section will not cover the many thousands of controllers available on the market. However,
this section will cover how to calibrate the devices correctly for P3D.
• Select Controls
• Make sure all Sensitivity settings are at max value 127
• Make sure all Null Zone settings are at min value 1
• Click Calibrate Device
Move your device handles/sticks/wheels thru the full set of motions (top to bottom, back to
front, etc.).
A short video tutorial is provided here that walks thru the controller calibration process in P3D.
Programmable Modules
As with controllers, many companies provide modules that consist of buttons, dials, switches,
and more. These modules can often be programmed to work with specific aircraft or any aircraft.
Below is one (there are many vendors that can be found online) example of a vendor that
provides programmable modules.
GoFlight
One such company is GoFlight. These modules can be used to program events and/or respond
to events/data going to/from P3D to operate 2D panels and/or Virtual Cockpit dials, buttons,
switches, and more. GoFlight provide configuration software to assign simulator events to
Figure 127
Select your module (right side of Figure 122 ) and assign a switch function (left side of Figure
122).
For Windows 8.x or Windows 10 users, it’s important to run GFWindows8Fixer.exe in order
to be able to see the LED displays work correctly in some of the GoFlight modules that have
LEDs:
There is an additional product call GoFlight Interface Tool (supports both P3D and Xplane)
that can be purchased from PollyPotSoftware that takes controller assignments beyond what
can be accomplished with the standard GoFlight Configuration panel. Here is an introduction
tutorial video to using GoFlight Interface Tool.
Conclusion
I hope this document helps those flight simulator enthusiasts that use P3D. It’s impossible to
include all vendors that support P3D in a single document. Vendors used in this document
are NOT preferred vendors, they are simply used as examples of a much larger world
of P3D vendor support. The 3rd party add-on vendor world is vast and should be explored to
its fullest where there will be a product or products to fit just about every user desire/goal in
their pursuit of flight simulation.