Hi, Let me introduce myself. I am Phil Taylor and I am Senior PM for Graphics and Terrain in Aces Studio. I joined Aces during the end-game of FSX and am now involved in all the studio projects moving forward.
I am seeing a lot of threads and a lot of thrashing on this forum, and I thought I would try to address some of the discussions and draw a line in the sand. One big topic of discussion is performance (FPS) and DX10.
DX10 by itself isn’t a magic bullet for the real performance issues that become evident as you move the sliders to the right. It was a conscious design decision of the studio to load the sliders so that, on day one, no one can run the sim at full slider levels. We did that so the sim will still have life in it three years from now. For better or worse, that is our design center. It is what it is. It will be that way in FS11, and it was that way in FS9, so this conscious design decision should not come as a surprise.
As to why we didn’t hold the product back and polish more: given that the product had already been delayed by the
With that said, in retrospect there are a couple things we see that are real issues, and I will say more about that towards the end. Behind the speculation, though, is a real desire for knowledge, which I always respect. The discussion amounts to a “mash-up” of three things:
a) performance with the existing bits and existing hardware,
b) how do new hardware bits help given the state of the FSX RTM bits, and
c) what is the target architecture of the future (where are FSX and the hardware roadmap going?)
If you are still reading, I have some things to say about the current product, the issues, and where I see things headed. As I see it, there are several issues combined here:
1) There are the theoretical benefits of DX10.
2) There are the actual benefits of the DX10 stack as measured by multiple hardware vendors’ products.
3) What can be done with current hardware?
4) What about the future hardware roadmap, the FSX application architecture, and how they will combine to make life better.
5) And then there is the Aces DX10 Update Plan.
1) Theoretical benefits:
These links contain content to help explain what the DX10 feature set is and its benefits:
We are now dependant on IHV implementation skills to see the promise of these API details realized with a hardware implementation.
2) Actual benefits
With respect to DX10, the API and its design show promise of reducing some of the bottlenecks in the runtime and the driver. And new interesting features are available. How these affect FSX is just speculation at this time by any outside the Aces studio.
The software stack for D3D10 is really three parts:
1) the runtime behind the interfaces the game developers use,
2) the DDI ( Device Driver Interface ) the runtime uses to communicate with the driver, and
3) the driver and how it communicates with the actual hardware.
Many of the DX10 design points address performance in areas 1 and 2. A new driver architecture was also created to help performance in area 3. Its all really moot without great hardware underneath the software stack. Historically the D3D hardware partners have delivered great hardware, but with each new generation of hardware some learning is involved before developers can make best use of it. This is similar to game consoles in that the 2nd generation of games for console X are better than the 1st generation.
It is unclear what core and memory clock pre-production boards run at versus final clock rates of production boards; or if if all hw pipes are enabled. From that it’s hard to guesstimate what the real performance multiplier is from pre-production to production. So it is very hard to categorize what can and cannot be done in production mode today.
Until we get fully clocked production hardware from both vendors, we won’t be able to examine all the features of the API in a production environment and say with authority which are winners and which are a push on first-gen DX10 hardware. That’s key to how our DX10 investigation gets turned into a booked feature plan to make the “magic screenies” come to life.
Note: there are threads out there talking about
3) Current hardware and how to get the most from it
There are several parts to the performance cost equation outside of the GPU.
CPU, FSB speed, FSB ( Northbridge ) chipset, Memory Type, and Memory Perf are all valid parts of the cost equation on the CPU side.
An excellent “comparo” of the AMD and Intel architectures is available in this article:
It includes a good discussion of the new Intel memory controller, which provides the new Intel CPUs with a good bit of their punch.
And memory OC'ing can give good perf wins. This article
states a 5-8% system performance benefit from just changing BIOS settings for memory latency values, so there is quite a bit one can do to get better CPU side performance by smart choices among motherboards/FSB speed/Northbridge chipset/memory chips. Given that FSX is CPU-bound, and given that FSX touches a lot of memory on the CPU, enhancing memory bandwidth on the CPU is good. And that is with todays hardware, no mention of multicore.
Then there is the GPU, both DX9 and DX10.
DX9 GPUs are not all created equal. >256M cards will show some advantage. As will top of the line cards. Mid-range cards typically have less pipes ( can render fewer pixels in parallel ), have less memory ( cant handle the texture load ), have slower clock speeds ( are not fully powered ) all to hit a price point. Low end cards are even worse. And lets not even talk Integrated/Mobile. I worked at ATI, I know how the roadmaps and the product waterfall from hi-mid-low and thence to integrated/mobile works. You get what you pay for.
As far as DX10 cards - we need to understand how the DX10 GPU hardware delivers on the promise of the API. Early tests show that the promise of less call overhead and better low-batch performance can be realized. Running at production rates with actual frame data will prove this, but small tests look promising.
This means there are real benefits to be squeezed from existing hardware with the RTM bits of FSX, independant of DX10 or multicore CPUs. And that DX10 should add to the benefits.
And I haven’t even gotten to the FSX tweaks. Some of these look interesting and worthwile; some just aren’t doing what you think they are doing.
The point is, there are positive actions to be taken with today’s hardware using the FSX RTM bits. The CPU is just one part of the cost equation. And just because we don’t make more use of multicore today doesn’t mean the end of the franchise or the end of your fun using it.
4 ) CPU architecture and moving forward.
Aces made its architectural decisions about FSX 2-3 years ago.
It wasn’t clear to me, and I am sure it wasn’t clear to the rest of Aces and many of our readers in 2003 and 2004, that multicore was the future. Since those sorts of design decisions are baked in early, as it became clear in late 2005 and 2006 that the CPU landscape had changed it was just too late to make the major architectural changes required to make our internal architecture more parallel.
We use fibers and threads, but still have serialization issues to work out. Which is why our second core (and beyond) usage is low, on the order of 20%. And the changes required are not trivial changes, like simply shifting thread affinity. The order of operations required for correct rendering and sim behavior and the linkage between subsystems is what it is, and it means that none of our options include simple fixes.
Once you are on the glide path it is a very risky decision to change the architecture underneath the product. For better or worse, we decided to not do that and ship the product.
With that said, we are listening to the community.
5 ) Aces DX10 Update Plan
We are following two paths:
An investigation is under way to understand if we can do something that is:
1) targeted and isn’t a complete rewrite, and
2) gives real customer benefit.
That investigation includes areas of performance. I cannot comment on the full roster of issues under investigation, I can only say that if there are results worth reporting I will be back.
Aces is making a commitment to a freely available Web download DX10 update that will enable all FSX RTM purchasers to upgrade to DX10 support on Windows Vista with DX10 hardware.
We are making progress on understanding what DX10 does and doesn’t do, and what we can and cannot count on. When we are done with those investigations we will have a fully booked DX10 plan. And then we can turn those screenies into real rendering and not "artistic impressions".
In the long run, it’s all about fun. I believe everyone can find settings that are a blend of flyable and beautiful. Some of you can do that with existing hardware, some of you need to buy new hardware, some can do it with tweaks, some with all of the above. Regardless of the path you take, if you are having fun, we succeeded with the product.
Please bear with us while these investigations are underway. I understand the desire of some to vent their frustrations. Where the posts are targeted and constructive, we do hear you. This post and our active investigations stand as evidence that we are listening and taking action.
Moving forward, the conspiracy theories and other negativity should really be reconsidered. The Aces team put a lot of love into the product, and work far above and beyond the call to create each and every version of Flight Sim. I am continually amazed by the commitment of the team to the product.
Consider that as you put fingers to the keyboard to slag over something, and consider rewriting your comments to be more constructive. There is always a nice way to say something, and a not-so-nice way. One definitely works better than the other in getting the point across. ‘nuff said.
I do promise to report back in a few weeks, right before or right after Thanksgiving.
Thanks for listening and for your patience,
Senior PM, Graphics and Terrain, Aces Studio