Installing Prepar3D v2/3 and v4/5

Any problems with your Installation or other install related questions, please post here

Moderators: Steve Waite, SysAdmin

Installing Prepar3D v2/3 and v4/5

Postby Steve Waite » Wed Apr 18, 2018 10:05 am

Generally for the purposes of this comment, Prepar3D v4/5 and v3 are the same as v2 unless otherwise stated. Please use the browser refresh button (F5) as this page is frequently updated. Prepar3D v4/5 is very similar to v3 but utilises x64 application support in Windows.

P3D vs FSX

Performance of P3D is similar to FSX with DX10 preview Direct 3D as it utilises the slightly more accomplished DX11 direct 3D. With modern GPUs FSX DX9 cannot compete in terms of performance with DX10 or DX11 for the same scene since the objects are more accelerated within the GPU.

If we move all the Display Settings graphics control sliders to the right and use all the details of objects, shadows, effects and water surfaces, performance will be poor compared to FSX because there is more autogen objects, cloud coverage, water detail and shadows. The effect on the view can be seen in the comparison external views below showing more cloud coverage, building shadows and autogen trees and buildings. Using P3D v3.4 and FSX+A DX10:

Image

P3D has an high dynamic range effect (HDR) which responds like an eye to brighter and darker scenes. In brighter scenes the iris aperture is smaller making less detail in the shadows, in darker scenes the iris aperture is larger losing detail in the light. The iris aperture response takes a small amount of time to settle so beware of flicking between views too quickly when making comparisons of views.


Installing Prepar3D v2/3

As usual, although we can install Prepar3D in a user made folder, I recommend installing Prepar3D to its default location in program files. Remember that many addon aircraft, like the PMDG 737, install folders with read/write files under that location. So before installing addons or doing anything else, using Explorer we simply add the permissions Write and Modify to the "Users(MyPC\Users)" group on that location. In Explorer, right-click on the location and choose properties, security, click Edit for the page similar to the image below. I've chosen the lower folder "Lockheed Martin" and made a backup copy and put the SDK there too.

Image

We can now install addon aircraft and other utilities. However, be aware that some utilities may install themselves into read only folders and try to write files there. Therefore we may need to set the User group properties in the same way for some of those folders too. We can acquire permission to write to a read only area by "Running as Admin", however the Admin group does not necessarily always have permission, for example when we make our own folders we own them so we should add the permission for the Users group for those. Admins acquire permission as they are members of the Users group: Authenticated Users. Since "Running as Admin" can allow malicious apps to circumvent security features, If we can avoid Running as Admin, we do.



SimConnect

Ideal Flight 10 Professional uses the Simconnect provided by Prepar3D, 1.0.20.0. However, many addons and utilities use the SP1a Simconnect from FSX, 10.0.61242.0. This is because all versions of FSX work with it, Standard, Deluxe, and Acceleration. We can install Simconnect 61242 from the "C:\Program Files (x86)\Lockheed Martin\Prepar3D v2\redist\Interface\FSX-SP1\retail\lib\SimConnect.msi". The other Simconnect versions can be installed with no impact on the sim, a few addons use 60905 the RTM version, and several addons use 61259 the SP2 version.



Remember where all the Prepar3D v2/3 files go

Default installation path:

"C:\Program Files (x86)\Lockheed Martin\Prepar3D v2" ("v3")
or
"C:\Program Files\Lockheed Martin\Prepar3D v2" (32bit o/s.)


Location of Scenery.cfg and simobjects.cfg:

"C:\Users\All Users\Lockheed Martin\Prepar3D v2\" ("v3")
or
"C:\ProgramData\Lockheed Martin\Prepar3D v2\" (Physical path.)

With P3Dv2, simobjects.cfg replaces "SimObjectPaths.n=SimObjects\Path" statements in the Prepar3D.cfg [Main] section.


Location of Prepar3D.cfg:

"C:\Users\[you]\AppData\Roaming\Lockheed Martin\Prepar3D v2\" ("v3")


Location of Shaders folder:

"C:\Users\[you]\AppData\Local\Lockheed Martin\Prepar3D v2\" ("v3")


Patches should be unzipped into a new location, and the contents selected in Explorer (CTRL+A) and dragged onto the P3Dv2 program files location with the right mouse button and choose copy, allow to overwrite files of the same name. Then before running Prepar3D delete the Shaders folder.


Tweaks


Frame Rate and VSync settings with NI:
For regular PC systems, to obtain reasonably high fps combined with smoothness, try this; a standard setup of P3D v3.1 frame control on a typical 59/60Hz dvi-d monitor. Possibly the closest we'll get with P3D to the beloved 1/2 refresh FSX exclusive mode:

Using Nvidia Inspector (NI) choose 29 fps or 30 fps for the "Frame Rate Limiter" item. Setting the frame rate limiter with 3.1 in NI is like having a lower refresh monitor mode. However, the limiter settings don't all work on all systems, so check you get fps showing near to the setting you choose in NI.

Now run P3D v 3.1 and in Display settings we have two options;

1. Set VSync=On and set Triple Buffer=On, set Unlimited frame rate,
or
2. VSync=Off and TP=Off, set Locked Frame Rate to 29/30.

Using example 2, the pre-emptive setting. requires unlimited frame rates showing in the region of at least 45-90fps to be reasonably successful. Seems counter-intuitive, but just when look ahead frames are needed, the sim is running too slow to build them up again. Example 1 can be utilised by less powerful systems and still maintain a reasonably smooth 30fps.


The Prepar3D tuning guide:

http://www.prepar3d.com/SDKv2/LearningCenter/getting_started/performance/tuning_guide.html

Core Affinity

In the guide the Affinity mask of 14=(1110) is recommended. However this is perfect for Dual Core with HT enabled (HT=On), or Four core systems with Hyperthreading disabled (HT=Off).

If we enable Hyperthreading (HT=On) with no AM in use with Prepar3D, the JobSheduler will be assigning another major simulator thread to a logical processor on the same core occupied by the primary simulator thread. That results in the main thread sharing throughput of the core unnecessarily with one of its secondary threads. Note that FSX is the same. The simulator will count the available LPs and split itself over those running threads on every LP.

Typical 8 core HT enabled AM=00,11,11,11,01,01,01,01=16213

Avoiding core zero:
When flying very fast from scenery to new locations, depending on scenery type and density, loading data can work in two ways. With an AM using core zero the scenery in the newer location ahead will be given priority. With an AM specifically avoiding Logical Processor zero - example 11,11,11,10 (LP0 is right-most binary digit) the local scenery will be given priority.

example added to Prepar3D.cfg:
[JOBSCHEDULER]
AffinityMask=170

Those without HyperThreading CPUs (or HT disabled) need not apply an Affinity Mask. Even so, an AM can be applied to partition the chip, perhaps reserving one core free of the simulator and it's multi-threaded resources, so that other processes starting up can have a core free, although Windows JobSheduler will do a good job distributing work away from the main simulator thread once it's up and fully running.

AffinityMask=0 is equivalent to no [JOBSCHEDULER] section specified in the cfg.

Overclockers: Reducing the amount of ones "1" in the mask decreases heat. 4 core HT enabled - how about AM=52=(00,11,01,00). With the four core, if we want to go cooler than 116 try 52=(00,11,01,00). This only uses two cores, but splits into three jobs, and performs very well, not much less that 116, but better fps at higher GHz at the expense of loading textures. Slightly lower fps, slightly more heat, for increased texture loading AM=60=(00,11,11,00) which splits the sim into four jobs, moving the second job onto the main thread core.

Remember the rules: Enable HT, enable LPs until the sim stops loading any faster, keep to single LPs per core unless they are purely gathering data. With lesser cores available we can gang up two LPs per core, but remember this intensifies workload on the core and extra work done = extra heat made. So be sure to moderate the overclock setting to accommodate HT enabled. HT off is no competition with the proper Affinity Mask applied. Remember that simply using all the cores in your brand new 32 core CPU will oversaturate the bus using up all the memory bandwidth and slow down the sim, perhaps gradually throughout the flight getting worse. Vsync=on Unlimited and Monitor refresh of 60Hz gives ~60 fps holding back the sim. Locked fps keeps a look ahead and is more taxing ion the system. Unlimited with VSync=Off runs faster than the monitor refresh if it can and all those frames are unused = excess heat. Therefore Unlimited set alone is simply a debugging mode or performance check. The Triple Buffer simply means the sim works out the places of moving objects more precisely, but not as well as the fixed fps setting.




Prepar3D.cfg:

Tessellation set low in the Display Settings is 60, but can be set around 50-20 for better performance, even 20 should be better than no Tessellation at all.
[GRAPHICS]
TESSELLATION=1
[TERRAIN]
TESSELLATION_FACTOR=25 (50% or below for performance, above for quality.)

With older GPUs e.g GTX660, it may be better with Tessellation off altogether:
[GRAPHICS]
TESSELLATION=0

[Display]
TEXTURE_BANDWIDTH_MULT=30 (Smoother frame rate with very low or no autogen and lod.)
TEXTURE_BANDWIDTH_MULT=180 (Smoother frame rate with medium+ autogen and lod.)
LOD 3.5 and Autogen 2/3 improved by at least 2% with TBM180 rather than TBM30. Autogen 5 and Lod5.5 produce the opposite result as the available bandwidth is exceeded.

UPPER_FRAMERATE_LIMIT=20 (Or use 0, zero=Unlimited fps, when testing frame rates and performance. With Locked frames we need to see unlimited frame rate 2x - 4x the locked rate setting.)
TEXTURE_FILTERING=8
MSAA=4 (set Transparency 4xSGSS AA with NI or...
MSAA=2 ...set Transparency 2xSGSS AA with NI.)
Adding SGSSAA is only required for certain aircraft so always turn it off to check if your aircraft is affected. Otherwise, only use MSAA in P3D Display Settings.

Reduce blurry textures:
[Main]
FIBER_FRAME_TIME_FRACTION=0.40 - 0.50

Not a recommendation, but for experimentation with shadows, cascade count and texture size:
[GRAPHICS]
SHADOW_NUM_CASCADES_LOW=3
SHADOW_NUM_CASCADES_MID=4
SHADOW_NUM_CASCADES_HIGH=5
SHADOW_NUM_CASCADES_ULTRA=6 (Decrease cascades and...
GROUND_SHADOW_TEXTURE_SIZE=4096 ...increase texture size = fps boost with similar shadow quality.)

[Weather]
OPTIMIZE_DENSE_CLOUDS=1 (Discussed on Prepar3D forums. May help with some clouds.)

[SIM]
OPTIMIZE_PARTS=1 (Discussed on Prepar3D forums. May help with complex aircraft and other objects.)

[USERINTERFACE]
SITUATION=C:\Users\[you]\AppData\Local\Lockheed Martin\Prepar3D v2\Prepar3D_Default (The default flight file.)


Prepar3D Learning Center.chm

For more tuning tips run the P3D Learning Center:

C:\Program Files (x86)\Lockheed Martin\Prepar3D v3\Learning Center.chm

Open (double-click) Learning Center.chm, in the left panel go to: Performance, Tuning Guide.

Problem:

"Prepar3D terrain has objects glinting everywhere as I approach!"

In the Prepar3D.cfg configuration file:
C:\Users\UserName\AppData\Roaming\Lockheed Martin\Prepar3D v4\Prepar3D.cfg

Open with Notepad and scroll down to scenery section and insert:

Code: Select all
[SCENERY]
..
..
SmallPartRejectRadius=3


This will reduce the glittering from small parts in the scenery without having to resort to Anti-Aliasing. Adding this line to a typical setup resulted in 4% more throughput capacity.

Remaining objects that persistently glitter as we approach an airport may in fact be the reflective quality of objects such as parked aircraft.



PMDG ATC Window, Temporary Fix for Prepar3D v3.0:

We need to temporarily edit gauges\missionpanels.cfg to enable the ATC Window to show with PMDG and some other very complex addon aircraft.

The missionpanels.cfg file can be edited with Notepad.exe and can be found in:
"C:\Program Files (x86)\Lockheed Martin\Prepar3D v3\gauges\"

Generally for default installation of P3D there are insufficient permissions to edit the file, or copy one over it. The Write and Modify permissions should be added to the Users group on the P3D program files folder before attempting to edit the files, or copy over them. (See above "Installing Prepar3D v2/3".) Alternatively Notepad.exe could be "Run as Admin".

We can swap the ATC window with the POI window so we have:
Code: Select all
Window00=ATCWindow
..
Window11=Points of Interest


...also not forgetting to swap the section content [Window00] with [Window11] accordingly.

I have already edited the file and included it with the original file in this .zip download. The content of this .zip could be copied into the gauges folder to save time.

http://download.codelegend.com/other/p3d_v3_missionpanels_cfg_pmdg_atc_fix.zip

Note: This might affect some scenarios. Hopefully the problem will be fixed by Lockheed Martin in an early update to v3.0.


Kneeboard size:

Open UISettings.xml with Notepad (where we find Prepar3D.cfg, "C:\Users\[user]\AppData\Roaming\Lockheed Martin\Prepar3D v2"), and edit the Views.BillboardMenus.KneeboardWindow section of this xml document:

Code: Select all
      ..
      <d2p1:Key>Views.BillboardMenus.KneeboardWindow</d2p1:Key>
      <d2p1:Value>
        <FullScreenState>
          <Height>700</Height>
          ..
          <Width>610</Width> ← Set Kneeboard Width: normal briefing=560, large=610
          ..
        </FullScreenState>
          ..
        <IsResizable>false</IsResizable> ← or make Resizeable: change "false" to "true"
          ..
        <WindowedState>
          <Height>700</Height>
          ..
          <Width>610</Width> ← Set Kneeboard Width: normal briefing=560, large=610
          ..
        </WindowedState>
      </d2p1:Value>
      ..


Save UISettings.xml and start Prepar3D.

Note: Make a backup copy of your UISettings.xml file before editing. To automatically create a new file, delete the file and start Prepar3D; first use of simulator features create corresponding sections in the new file.


NVidia Inspector example:

http://www.codelegend.com/graphics/nvidiainspectorsettingsp3d2dx11.jpg

Increasing Antialiasing Quality with NI will significantly reduce performance. Introducing higher levels of AA can plateau the performance so that other settings don't seem to work so well. Adding Supersampling is equivalent to increasing the screen size. Increasing screen size in P3D is more costly on performance than bigger screens with FSX, since P3D is graphically richer. AA quality is more complicated with P3D DX11 and similar to FSX DX10, but differs from DX9 in the way AA is achieved during rendering the sim. With P3D (and FSX DX10) we find some aircraft do not anti-alias *unless* we employ Transparency Sparse Grid Supersampling set with NI to the same multiple as we set MSAA in the sim. With the Baron B58 in P3D we can see that changing MSAA in the sim alters the image quality. But if we load the Carenado A36 there is no apparent antialiasing, unless we move the camera right in to the instruments. Here we employ Transparency Sparse Grid Supersampling at the multiple of MSAA set in the sim, and the AA quality of the A36 improves dramatically. The performance is sapped by TSGSSAA since even 2x Supersampling is equivalent to double the screen area.

AA Methods overview, performance vs quality rundown:
http://www.codelegend.com/graphics/AA_Rundown.jpg


Testing performance and collecting data:

When testing performance, only make changes one item at a time, never more, so that the performance can be compared accurately. With IF10 Professional, and IF10 >augmented, configure the .csv recording settings in Settings.ini and use the Frame Rate performance monitor to see differences in each flight test. Save a flight while flying on AP so that the flight can be started over and over with the same settings. Ensure addon programs with random consequences are not running while making comparisons, all IF10 functions are procedurally generated (no randoms) so the same conditions are met each time the saved flight is restarted. Test Tip: When setting up the sim scenery and other details, turn AA settings down or off altogether (and NI) so that this aspect of performance does not impact the test results. Similarly, check AA performance with sim settings at minimum.

"C:\ProgramData\Ideal Flight 10 Professional\Profiles\Settings.ini":
[Measurement]
FlightCsvLog=True
RestartCsvLog=True
FrameRateLog=True

The .csv (comma separated values) file "0_Track.csv" will be located in:
"C:\ProgramData\Ideal Flight 10 Professional\Log\"

Explorer can be quick launched at that location from the IF10 popup menu "Explorer Locations".

Typically this type of file can be opened by Spreadsheet programs such as MS Excel. Excel has a nice feature where a column selection of data can be quickly represented as a graph with the Insert function.


P3D VSync Triple Buffer Locked/Unlimited & NI Frame Rate Limiter:

Image

Top shows defaults set in NI, and Unlimited set in P3D Display Settings. Weather injection near the end.

Next shows NI Frame Rate Limiter with Unlimited + Vsync On + Triple Buffer On.
Third shows the effect of the NI Limiter when we have the locked fps setting.
Finally at the bottom the Locked setting working alone, the weather injection spreads out concurrently.

Changing FFTF (fibre frame time fraction)

fps provided by the sim is the result of Performance Available. Changing FFTF does not change fps, it only alters the background loading performance. fps changes are the result of unavailable throughput. When the system has available throughput we notice that the fps doesn't change (fps is always subject to some alteration with any change including a 1 pixel wider view).

Smoothness within the sim changes if we alter the background process ratios with FFTF depending on where we are within scenery - fps changes readily only when the system is already at the limit.

When near to the ground we have less of a view to the horizon, FFTF can be set slightly lower to reduce the proportion of loading new scenery to other background tasks. It does not alter the ratio to rendering time. The simulator always tries to maintain the same fps.

Setting FFTF lower can ignore scenery out of view as it is further away, nearby objects are rendered earlier so reducing the loading proportion results in scenery further away rendered later. If in this case fps rises it's because the system is already at its peak before changing the value.

Image

The settling time shows how quickly the scenery completes background loading. Looking at the two red lines it shows with 0.9 that the background loading is very fast. With the 0.1 setting it shows the settling time to be very long.

The two graphs in the middle compare FFTF=0.33 to the sim stock value of No Entry in the cfg.

Code: Select all
Prepar3D.CFG:
[MAIN]
FIBER_FRAME_TIME_FRACTION=0.1



An example of 6 core HT enabled No AM P3D v4.5 vs AM=340.

The system is not set up for best results as we should be able to reach 95% Quality. In the image we can see the AM 340 improves the simulation and decreases the amount of CPU throughput considerably in the lower graph. Graphs from IFPro (ee) + P3D v4.5:


Image



How do we know if the background tasks are performing well.

With Ideal Flight we can measure the Settling Time.

So here we see four cores beat ten cores to settling time. Simply because ten cores fills the bus and takes away compute power from the main tasks. In the graph we can see the settling time is sooner with four cores and also the average change in fps is also less:


Image




Note: This page is updated from time to time. Please press F5 on your browser to refresh.


Last bumped by Steve Waite on Wed Apr 18, 2018 10:05 am.
software architect at codelegend.com
equipment: i9-9980Xe 64GB 2xRTX2080ti NVLink 2TB M.2 NVMe,
i9-9900X 64GB RTX2080ti 2TB M.2 NVMe, i7-3960X 32GB GTX680 4TB RAID10,
NAS @7TB RAID10 (16TB)
Steve Waite
 
Posts: 5055
Joined: Wed Jun 29, 2011 12:02 am

Return to Installation

Who is online

Users browsing this forum: No registered users and 2 guests

cron