Jump to content
Sign in to follow this  
SAAB340

This is when PCIe 3.0 matters.

Recommended Posts

I want to share my further findings with regards to FSX and the PCIe bus.

 

I earlier upgraded my system to a SandyBridge-E system and recently I did a further upgrade with the EVGA GTX780 SC. That made it possible to use PCIe 3.0 for the first time. I also wanted to see what difference I could see against my old GTX470.

 

I use a 10.5 minute flight for my test (FSXmark07 flightpath). I use the CPU@4.3GHz without HyperThreading and the .cfg has highmemfix=1, wideview=true, affinitymask=14 and LOD 6.5. I also use 8xS + 2xSGSS AA through inspector. Settings I believe a lot of us use everyday.

 

I also test separately with Poolsize + Reject Threshold as one alternative and BP=0 as a second alternative. I know that many use BP=0 but I also know that a few use Poolsize + Reject Threshold.

 

I’m starting off with the Poolsize + Reject Threshold on the GTX780.

 

GTX780BP%26RT.jpg

 

As you can see, there is quite a difference depending on what bandwidth we have. I doubt anyone would use PCIe 1.1 but it is the same as a x8 PCIe 2.0 slot. And that is very much a possibility on SandyBridge and older systems. I know many limit the frames to 30FPS in one way or another, but as you can see, x16 PCIe 2.0 is limiting already below that. You also get less and less stutters as you increase the bandwidth.

 

This is how the GTX470 performed under the same conditions.

 

GTX470BP%26RT.jpg

 

We obviously don’t have PCIe 3.0 here but there is a large difference between PCIe 1.1 and 2.0 here as well. The 470 also performs worse than the 780 with both using PCIe 2.0. So the faster 780 architecture handles the lack of PCIe bandwidth better than the 470. I noticed this previously when I upgraded from 8800GTS512 to the 470 as well. I know a few tech sites that have tested with regards to PCIe bandwidth and come to the conclusion that no current GPU is able to really saturate the x16 PCIe2.0 bus. That conclusion is clearly not applicable to FSX.

 

This is how the 780 on x16 PCIe 1.1 (x8 PCIe 2.0) performs vs the 470 on x16 PCIe 2.0.

 

780vs470BP%26RT.jpg

 

The slower bus speed on the 780 is still holding it back a lot. In fact, the 470 with the full x16 bandwidth is performing better. It’s also a lot smoother. So if you use an older GPU on a x8 PCIe bus, you’ll get better performance from making sure that GPU is getting a full x16 slot than putting in a 780 on a x8 bus. FSX does not like x8 PCIe 2.0. Bear that in mind everyone.

 

Now on to the BP=0 scenario.

Firstly on the GTX780.

 

GTX780BP%3D0.jpg

 

That’s quite a different picture. BP=0 just uses the PCIe bandwidth so much more efficiently. That’s its main benefit to FSX. And it can be seen in both FPS and smoothness. The first 4minutes (240s) of the benchmark is purely CPU limited now. After 4 minutes (we’ve been flying over downtown Seattle and Setac airport and now head for the suburbs and forests towards Mt Reinier) the PCIe bus starts to matter. We’re looking at quite high FPS here though. It’s only PCIe 1.1 that drops below 30 FPS when PCIe limited. So if we were to lock at 30FPS it wouldn’t make a difference if we were using PCIe 2.0 or 3.0.

 

This is the GTX470 with BP=0

 

GTX470BP%3D0.jpg

 

Here the PCIe 1.1 is limiting us during the whole benchmark. This can also be noticed by a lot more stutters. A full x16 PCIe 2.0 bus is however good enough let us hit the CPU limit during the first 4 minutes and the stutters are very much the same as the 780 on any of the tested bus speeds. Once again the 470 performs worse at the same bandwidth compared to the 780.

 

Lets look at the 780 on x16 PCIe 1.1 (x8 PCIe 2.0) vs the 470 on x16 PCIe 2.0, but this time with BP=0.

 

780vs470BP%3D0.jpg

 

They perform almost the same. So you’d basically waste all the performance improvements the 780 has to offer over the 470. Make sure you don’t use a x8 PCIe 2.0 bus in FSX.

 

As I said BP=0 uses the PCIe bandwith more efficiently. But it also means that as PCIe bandwidth improves, the benefits of BP=0 reduces.

This is the improvements you get from using BP=0 on PCIe 1.1 bandwidth.

 

780PCIe1.1BP%3D0vsRT.jpg

 

Quite a lot when it comes to FPS and stutters.

 

This is what it looks like with PCIe 3.0.

 

780PCIe3.0BP%3D0vsRT.jpg

 

FPS wise were almost the same now. Stutter wise it’s very similar as well, apart from the vertex update stutter. That stutter is quite a hard one that happens every time you fly over a grid pattern over the earth where FSX has to recalculate all the vertex buffers. How often it happens depends on how often you pass over the grid. During normal straight and level flight @ 250kts it will happen around 3-4 times a minute. BP=0 still reduces this, the hardest stutter, quite a bit. It's not affected by the higher PCIe bandwidth available.

 

Lets take one final look at the performance of the GTX780 with BP=0, but this time include a benchmark with the CPU running at 3.5GHz as well.

 

GTX780CPUBP%3D0.jpg

 

The slower 3.5GHz CPU speed never hits the PCIe bandwidth limit using PCIe 2.0. It also nicely tracks 81% of the FPS of the 4.3GHz CPU speed using PCIe 3.0. PCIe 3.0 allows the whole benchmark to remain purely CPU limited at 4.3 GHz.

 

Let’s wrap things up.

FSX is very, very PCIe bandwidth hungry and is capable of making good use of a full x16 PCIe 3.0 slot. Anyone saying that today’s games and graphics cards can’t even really make full use of x16 PCIe 2.0, clearly hasn’t looked at FSX. A faster GPU architecture actually makes better use of the limited bandwidth available, allowing for better performance at the same bandwidth. A faster GPU will however also need more PCIe bandwidth to be able to deliver its full potential.

 

By using BP=0 and limiting the FPS we can make due with x16 PCIe 2.0 or x8 PCIe 3.0 and not really notice much difference.

 

If you don’t use BP=0 and/or don’t limit at 30 FPS you really want the full x16 PCIe 3.0 to your graphics card.

 

If you have to use a x8 PCIe slot instead of the full x16, make sure you have PCIe 3.0 and use BP=0, othervise you'll notice worse performance.

 

Using x8 PCIe 2.0 with FSX is really not advisable. It will give you noticeable worse performance regardless of setup.

Share this post


Link to post
Share on other sites

Very interesting and useful information. Thanks for taking the time to document and post this SAAB340.

 

Ted


3770k@4.5 ghz, Noctua C12P CPU air cooler, Asus Z77, 2 x 4gb DDR3 Corsair 2200 mhz cl 9, EVGA 1080ti, Sony 55" 900E TV 3840 x 2160, Windows 7-64, FSX, P3dv3, P3dv4

Share this post


Link to post
Share on other sites

If you don’t use BP=0 and/or don’t limit at 30 FPS you really want the full x16 PCIe 3.0 to your graphics card.

Hi Lars,

 

My understanding is that PCIe 3.0 is not natively supported by SB-E. Did you install a patch to enable some form of 3.0 support?  I was concerned about alleged potential stability issues so never installed this:

Use this patch along with the latest GeForce drivers to enable PCI-Express Gen 3.0 mode for GeForce Kepler-based graphics cards, on Intel Sandy Bridge-E (X79) systems. Run the executable, and reboot your system, for the patch to take effect.   If run on incompatible systems, the program window should disappear. Avoid if stability is paramount, or if hardware is operating in a mission-critical environment. Use at your own risk.  To reverse the changes made by the patch, run the same executable with "-revert" switch.


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320nx, WT 787X

 

Share this post


Link to post
Share on other sites

^I would be interested in the last query too please.

 

edit: nevermind, this patch is old news and only for x79 SB-E.


Intel i7 10700K | Asus Maximus XII Hero | Asus TUF RTX 3090 | 32GB HyperX Fury 3200 DDR4 | 1TB Samsung M.2 (W11) | 2TB Samsung M.2 (MSFS2020) | Arctic Liquid Freezer II 280mm AIO | 43" Samsung Q90B | 27" Asus Monitor

Share this post


Link to post
Share on other sites

Thanks guys. I thought I better share what I came up with.

Hi Lars,

My understanding is that PCIe 3.0 is not natively supported by SB-E. Did you install a patch to enable some form of 3.0 support?  I was concerned about alleged potential stability issues so never installed this:

 

Use this patch along with the latest GeForce drivers to enable PCI-Express Gen 3.0 mode for GeForce Kepler-based graphics cards, on Intel Sandy Bridge-E (X79) systems. Run the executable, and reboot your system, for the patch to take effect.   If run on incompatible systems, the program window should disappear. Avoid if stability is paramount, or if hardware is operating in a mission-critical environment. Use at your own risk.  To reverse the changes made by the patch, run the same executable with "-revert" switch.

Yes I ran the patch, but not sure if its actually needed anymore. I checked the PCIe version with GPU-Z and it showed 2.0. I ran the patch and it still showed 2.0. Then I did what I should have done to start with, checked in BIOS. It was set to PCIe 2. Changed to PCIe 3 and it finally showed 3.0. Not sure if it would have worked if I just changed in BIOS without the patch. I haven't had any stability issues what so ever.

 

As I saw that I could easily change PCIe speeds in the BIOS I just had to start up FRAPS and see what difference it made=)

 

Each FPS plot is an average from 5 benchmarked flights at each setting to make sure the results arn't just a one off good or bad run. I did test at a few other AA settings as well, but only one flight, so I won't treat those results as valid. It does however indicate that there is a possibility that PCIe 3.0 might be slightly helpful when the GPU is limiting the FPS due to a high AA setting for the scene. 16xS + 2x or 4x SGSS suffers huge FPS losses at the end of the benchmark with thousands of trees with transparent textures in view. Not sure if this is also the case when you get FPS drop due heavy Wx.

 

I might revisit and do some more tests later, but at the moment I'm too busy enjoying flying on my updated rig. The Titan cooler on the 780 is excellent. So much quieter than the 470 that sounded like a jet engine as soon as you put any load on it. I also got a Samsung 840Evo for my photo scenery and it made wonders to load times compared to my Velociraptor.

Share this post


Link to post
Share on other sites

Pretty neat stuff. Speaking of PCI-e and such, the 4.0 spec should be out by 2015. So there will be even more benefits to be had.

Share this post


Link to post
Share on other sites

Interesting... how are you not receiving OOM's?  That would just tube my system.


| FAA ZMP |
| PPL ASEL |
| Windows 11 | MSI Z690 Tomahawk | 12700K 4.7GHz | MSI RTX 4080 | 32GB 5600 MHz DDR5 | 500GB Samsung 860 Evo SSD | 2x 2TB Samsung 970 Evo M.2 | EVGA 850W Gold | Corsair 5000X | HP G2 (VR) / LG 27" 1440p |

 

 

Share this post


Link to post
Share on other sites

 

 


Yes I ran the patch, but not sure if its actually needed anymore. I checked the PCIe version with GPU-Z and it showed 2.0. I ran the patch and it still showed 2.0. Then I did what I should have done to start with, checked in BIOS. It was set to PCIe 2. Changed to PCIe 3 and it finally showed 3.0. Not sure if it would have worked if I just changed in BIOS without the patch. I haven't had any stability issues what so ever.

 

Lars I think if you hadn't installed the patch first you would not have seen the change after changing the BIOS, but that's just an educated hunch.  What motherboard are you using?


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320nx, WT 787X

 

Share this post


Link to post
Share on other sites

Lars I think if you hadn't installed the patch first you would not have seen the change after changing the BIOS, but that's just an educated hunch. What motherboard are you using?

I'm on ASRock Extreme4. Its PCIe 3.0.

I believe PCIe 3.0 works fine with the C2 stepping of SB-E, while there is sometimes problems on the C1 stepping. But its not officially supported by Intel I just noticed. The Xeon versions of the chip do have validated PCIe3.0.

Share this post


Link to post
Share on other sites

I'm on ASRock Extreme4. Its PCIe 3.0.

I believe PCIe 3.0 works fine with the C2 stepping of SB-E, while there is sometimes problems on the C1 stepping. But its not officially supported by Intel I just noticed. The Xeon versions of the chip do have validated PCIe3.0.

Here is nV's statement in this regard:

 

GeForce GTX 680 and GTX 670 GPUs support PCI Express 3.0. They operate properly within the SIG PCI Express Specification and have been validated on multiple PCI Express 3.0 platforms. Some motherboard manufacturers have released an updated SBIOS to enable the Intel X79/SNB-E PCI Express 2.0 platform to run at up to 8GT/s bus speeds. We have tested GeForce GTX 680 and GTX 670 GPUs across a number of X79/SNB-E platforms at 8GT/s bus speeds, but have seen significant variation in signal timing across different motherboards and CPUs. Therefore we’ve decided to only support and guarantee PCI Express 2.0 bus speeds on X79/SNB-E with our standard release drivers. Native PCI Express 3.0 platforms (like Ivy Bridge) will run at 8GT/s bus speeds with our standard release drivers. 

 

Though we cannot officially support or guarantee 8GT/s speeds for X79/SNB-E, you can manually enable faster 8GT/s bus speeds (at your own risk) on GTX 680 or GTX 670 GPUs using the following executable: force-enable-gen3.exe.  If you would like to revert back to 5GT/s bus speeds you can do so by running the following command from the DOS command line: “force-enable-gen3.exe –revert”

 

Mine is C2 stepping and it did not work until I installed the patch last night, and now it works.  As well, I had GEN3 enabled from the start when I built the system but PCIe 3.0 was not enabled by viewing  GPU-Z while running the rendering demo.   I think the fact you installed the patch first, then enabled PCIe 3.0 in the BIOS is likely why you see what you see.  If you want to test this for yourself try running the 'revert' command and recheck.

 

Lars, I run throttle wide open--that is, no limiters of any kind underneath of VSYNC on.  I may see some higher highs as it were?


Noel

System:  7800x3D, Thermal Grizzly Kryonaut, Noctua NH-U12A, MSI Pro 650-P WiFi, G.SKILL Ripjaws S5 Series 32GB (2 x 16GB) 288-Pin PC RAM DDR5 6000, WD NVMe 2Tb x 1, Sabrent NVMe 2Tb x 1, RTX 4090 FE, Corsair RM1000W PSU, Win11 Home, LG Ultra Curved Gsync Ultimate 3440x1440, Phanteks Enthoo Pro Case, TCA Boeing Edition Yoke & TQ, Cessna Trim Wheel, RTSS Framerate Limiter w/ Edge Sync for near zero Frame Time Variance achieving ultra-fluid animation at lower frame rates.

Aircraft used in A Pilot's Life V2:  PMDG 738, Aerosoft CRJ700, FBW A320nx, WT 787X

 

Share this post


Link to post
Share on other sites

Lars, I run throttle wide open--that is, no limiters of any kind underneath of VSYNC on. I may see some higher highs as it were?

Yeah, that's what I'd expect. In general Its in dense autogen (in DX9) but nothing CPU hungry you'll see most improvement.

Interesting... how are you not receiving OOM's? That would just tube my system.

OOM's? Do you mean due to the 6.5LOD? This is stock scenery in stock CRJ.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...