The PC Industry, Multicore, and FSX ( with a little DX10 thrown in for good measure )

This is a recap of an post, that I wanted to capture here.

I'd like to take the time to address 2 areas that come up often:

1)FSX designing for multicore
2)FSX designing for DX10

1)FSX designing for multicore

As I stated in a previous post last year, the switch from Ghz to Multicore took most everyone by surprise in the entire industry. Reading a little history and thinking it through is informative.

All during 2004, when FSX was still in design stage and could be easily changed, the roadmaps were still predominantly Ghz based and multicore was a "variant".

Take AnandTech, a highly regarded site and look at their reviews throughout 2004.

Q1 2004 review
no mention of cores

Q3 2004 review
cores are a "variant", as in "it would make sense if the FX-57 were to come with a dual core variant"

Q4 2004 review
It is only at the end of Dec 2004, with this review, that cores have been elevated somewhat in importance but note Ghz hasnt been deprecated hence quotes like this:
"There are other areas besides the high-end multi-core arena, and we haven't seen the end of increasing clock speeds yet"

Now move to 2005, and lets look at Toms' Hardware
and this review has a section "Sorry Guys, Clock Speed Does Matter" so the fact that the technology pony had jumped the tracks from Ghz to cores hadnt sunk it, even at sites whose job it was to keep up with this.

It isnt until 2006 that it has really sunk in and permeated the community. Mainstream sites have picked it up, like

Still enthusiast sites like mention:
"Now through to the end of 2006, we will see Conroe taking up roughly 20% of Intel's shipments by then end of the year while the Pentium D processor will remain the largest bulk of Intel's desktop shipments."

So from a volume standpoint multicore wasnt seen as a majority in 2006 thru the entire 1st quarter and March IDF.

So while its easy to say "why didnt you see this coming" I think when you look at the available data it should be pretty clear that it wasn't that easy to see it coming.

Given where FSX was, by end of 2005 and early 2006, when this data started to sink in the project was so far past design the team couldnt react to rearchitect within the existing plan. It wasn't really an option to ditch the existing plan.

Even with that, we do have some multicore usage today and are working to get more. We reacted as we could within the original plan. So be careful with comments like "not once did they think" as that just isnt true.

2)FSX designing for DX10

With the last slip in Vista, combined with the associated slip in DX10 hw, the new DX10 schedule put it outside of the FSX ship timeframe. We didnt get DX10 prototype hardware until after the product was in manufacturing. Well after.

DX10 is a fairly major rewrite. And without hw on a title like FSX it is a major challenge to make forward progress. So we didnt think it wise to wait and shipped on DX9. We did think about what could be done with DX10 and we do have a good plan. And many of our existing features that challenge the DX9 pipeline should get better in DX10.

So we are really looking at what can be done with cool new features like texture arrays, large constant buffers for shaders, long shaders, low overhead API calls, better small batch Draw call behavior, etc. I have promised to go thru the "artistic impression" screenshots we have released and detail what features we see in them. We need to ship SP1 first and get back on to DX10 so I can talk to what features will actually be in the DX10 update and not a wish list. So give me time on that discussion.

In conclusion, given the jump from FS2004 to FSX, I think people should be a bit more careful in making accusations about the dev team and its thought process. We were most decidedly not sitting still. And its entirely too easy to play Monday-morning quarterback.