We have been all yearning for a 64-bit platform for as long as I can remember. Every issue with the old FSX code had the 4 GB virtual memory cap as the culprit. However, Lockheed Martin released the most anticipated version of their simulation platform: P3D V4. This day in late May 2017 was followed by a huge firework celebration, that day the future never looked brighter. After all, OOM errors are now a thing of the past and modern hardware will render all of those beautiful sunsets without breaking a sweat. Or will it? Hold your horses! We soon learned that there is a lot more to it than virtual memory limitations.
The reality is that perhaps the 4 GB virtual memory limitation has been a blessing to the average simmer. After all, it forced developers to keep performance optimization at the top of the list. The average flight simulation computer (i.e. 4 overclocked cores with a high performance GPU) that served you well throughout several versions of P3D is now starting to feel the strain of a complete unleashing of HD textures. HDR lights, dynamic lighting, detailed shadows and reflections are just a few of the new features that are jam packed in native P3DV4 add-ons. And I foresee this getting a lot worse in the not-to-distant future. After many sleepless nights testing settings and performance benchmarks with P3DV4 and several tens of thousands of dollars in PC hardware, I decided to write this “op-ed” to share my experiences.
I have left no stone untouched in my quest to have a simulator running maxed out scenery sliders not only in stunning 4K definition but also stutter-free at high frames per second. I’m fully aware that that is a big ask. But I didn’t care. If there was a way I was going to find it. So I started with what was at the time the best CPU in the planet; the 10-core monster I7 6950X. The CPU’s sidekick was nothing less than a GTX Titan X (the old architecture, not the Pascal). In a single 85 inch 4K LCD, the performance was great under maxed settings. However, since the 6950X is not known for high single-core performance, under demanding conditions core 0 (rendering core) will start to choke and the frames will fall off a cliff.
My initial objective was to run 3 X 85 inch 4K LCDs using “view groups” and FlyElise Immersive Display PRO wrapping software connected to the 3 display ports in the back of the Titan X. But this was a huge failure. I eventually realized that I spent more time reading forums than performing my own test. The claims of improved multi-core performance with the later versions of P3D were true, but with a catch. I will use an analogy in order to explain this better. All of the cores in you CPU are a highway, and core 0 is the toll booth to enter. Your P3D experience is best when you have an orderly number of cars traveling across the entire highway. But you must enter the highway at core 0 and pay your toll in a limited number of open booths. So when you have 10 cars trying to get into the highway you will have no issues. Traffic will flow perfectly with cars spread out across all sections of the highway (or cores). However, when you have 100 cars trying to get into this highway, you create what we all know as a bottleneck. A huge traffic jam at the toll booth and an empty highway. This is the most perplexing part of the whole simulator experience. How many times have you asked yourself why is “core 0” maxed out and all other cores idle? Trust me, you are not alone. And the answer is simple: every car has the same entry point! And the clock frequency of your “core 0” is the equivalent to the number of toll booths open at the same time. In order to create toll booths at every section (or core) requires to re-write the entire simulator code from scratch. So don’t hold your breath. Just play the cards you are dealt for now.
I think I finally found the optimal rig to run P3DV4; and it came at a great expense! Having tackled all of the limitations above, my though process was the following:
1. I need the fastest “Core 0” possible.
2. I need at least 8 cores in order to run other software alongside the simulator and avoid Hyper Threading.
3. Since a lot of the new features of P3DV4 are heavy on the GPU, I need a dedicated GPU for each 85 inch screen.
4. Running ViewGroups on multiple network PCs is not an option: I hate the idea of maintaining multiple identical P3D installations…. One is hard enough
5. Since 4 GB is no longer a limitation, I want to future proof the system with ample memory running at a fast XMP profile. Latency is the key here! not the clock freq!
So after a lot of research I ended up ordering the following hardware:
This is arguably the best CPU in history. Single-core performance is exceptional and with a total of 10 cores, you can really push the boundaries of multi-core processing. However, this CPU produces more heat that a soldering gun! Just to put this into perspective, during the first trial run. OC at 4.7 GHz in all 10 cores with a conservative VCore and a custom triple-rad cooling loop, the temperatures were reaching mid 90s Celsius. This is a no-go and I realized that you can squeeze a lot of performance out of this monster but at the great expense of heat. If I could find a way to keep this CPU cool, sky is the limit. So I went on a mission to find a reliable solution.
CPU Cooling: Koolance EXC-800 Portable 800W Recirculating Liquid Chiller
There you have it my friends. Perhaps the most over-kill solution ever but a solution nonetheless. This thing is expensive! But creating miracles is priceless. And that is exactly what this machine does. With a weight of 47 lbs and a footprint comparable to a second PC tower this is not for everyone. However, this external cooler is capable of pumping cold fluid (up to -10C below ambient temp without condensation) at high pressure. The numbers speak for themselves: mid 90s Celsius became mid 20s Celsius. This opened the door for a lot of overclocking headroom. So I am able to run a very stable overclock of:
Core 0: 5.2 GHz
Core 1-9: 5.0 Ghz
GPU: 3 X Titan Pascal
The Titan Pascal is widely regarded as one of the best GPUs (with the later-released 1080ti coming close). In order to run 3 large screens at native 4K resolution, a dedicated GPU for each LCD was required. I am on the fence between SLI and non-SLI configurations. Both have their benefits and drawbacks. But as of now, I am more inclined to run the GPUs in a non-SLI config and of course no NVIDIA surround. The GPUs are also connected to the water loop above using this water block. And the temperatures under 100% loads are a joke, not even worth thinking about; a mere 30C max temperature with an overclock of +200GHz clock and +300GHz memory in PrecisionX.
64GB (8 x 8GB) 288-Pin DDR4 SDRAM DDR4 3800. Timing of 19-19-19-39 with CAS Latency of 19. XMP profile runs at 3800 MHz with 1.35 colts. Not much can be said about the memory. As long as it keeps up with the rest of the hardware you are fine. One thing for sure, regardless of your RAM type, just make sure you are running it stable. RAM errors are the sneakiest ones to invade a system and often hard to identify.
MOBO: ROG RAMPAGE VI EXTREME
Even with the overkill rig describe above, I am still not out of the woods. Several times I am forced to compromise on some settings in order to run smooth frames. Before I get slammed with comments calling me out on the extreme price of the hardware, you need to understand that the alternative would be to run P3D in 3 separate rigs, with 3 separate license keys for every product including P3D Pro version.
It is important to stress the facts that as P3D is in a “work-in-progress” stage and we can expect plenty of optimizations in the near future. When settling down on a new rig, you need some headroom for future improvements in terms of number of CPU cores and GPU power. I will add detailed screenshots of the system to this article per request in the comments. I am also happy to run any stress test on demand as long as it won’t fry my system.