Thursday, July 08, 2010

64-Bit? It's On the Radar

I've been working on road processing today; one of the tricky problems with OSM data is that, because an OSM map is often a collection of vectors from separate authors, the results can be a huge number of very small segments, as nearby road features from different data sources cross each other. (Basically you get "thrash" between the two vectors from different sources and our tools solve this by adding a huge number of extra vertices.)

I am trying to run this data through an algorithm called Iterative Snap Rounding (ISR) to reduce this mess of vertices, and for the purpose of this blog article there's one thing you need to know about ISR: it is really, really slow. So for the next few minutes, I figured I'd start poking at some of the issues that came up at the X-Plane Congress in France this summer.

One question that came up was whether/when X-Plane will go 64 bit. Here's my current thinking:

We can't drop 32-bit X-Plane. Too many users have a 32 bit operating system, or a 32-bit CPU. One thing I have been resisting for X-Plane 10 is a ratcheting up of the system requirements to only top-end game machines. While 64 bit is becoming more prevalent and has the potential to be a big win for users who load the sim up with third party add-ons and have a high-end graphics card, plenty of people buy a computer first and then discover X-Plane. Those users will often have a system that is low end (by X-Plane standards).

If we start cranking the system requirements (you have to have 64-bit, you have to have a DX10 class graphics card, you have to have 2 GB of RAM) then more users who might discover X-Plane won't even be able to run the demo, and that will be bad for X-Plane's growth.

So the question is not "when will we switch from 32-to-64 bit" - it is "when will we support both 32 and 64 bit."

I think we will get there during the version 10 run, but I don't think it's that likely that we'll ship 64 bit right out of the box. 64 bit is more of a performance enhancement* than a new feature. The features we have strong motivation to get into 10.0 are:
  • Anything that raises the system requirements, because we don't want to raise system requirements after we ship in a free update.
  • Anything that enhances the authoring SDK, where it might be useful for authors to know that every version of X-Plane 10 has a feature.
  • Of course, we want to ship any feature that looks really good and gets people excited.
  • Foundation features that support other featuers have to go in first. So some enhancements that will ship in 10.0 are there because without them other tech couldn't be rolled out.
64 bit is important, but it is a feature that only helps some of the user base, and helps by making the sim more expandable; the sim is still usable without it. So we'll get there, but new features are a zero sum game so I think 64 bit is more likely to be a free patch than in-the-box.

(At this point I expect the various 64-bit OS users who have been asking for a 64-bit app for years to flame the heck out of me and point out that I am a cranky old bastard who doesn't realize that 64 bit is now everywhere and totally pervasive and that this is therefore the most important thing we could possibly do. Before you dig in, hang on one second, let me put on my asbestos flame-retardant jacket. Okay...fire away. :-)

Oops...ISR just finished...with a seg fault. Gotta go!

* As a performance enhancement, 64 bit is a weird one; because a 64-bit app uses more memory for pointer-based structures, the same data structures become larger, thrashing on-chip caches more. The real benefit to 64 bits is to allow X-Plane to use more than 3 GB of physical RAM.

10 comments:

Anonymous said...

Ben ... you've optimize X-plane so well at this point you almost have to go out of your way to find a crappy computer to make it run as slow as fsx. And I'm not kidding. I have XP 9 installed on my netbook for when I'm on the road (an Atom N270 + i945GMA) and I achieve about ~20 - 25 FPS with some of the graphics options turned off (of course) but it still looks and runs very decent.

Benjamin Supnik said...

It hurts me to think of X-plane running on that hw! J/k...its good to know it still performs decently. :-)

Anonymous said...

Ive been working on OSM importer for FSX. Not sure how often you update your .OSM files but they seem to get cleaned up by the OSM "bots" on a regular basis.

64bit in the future.. excellent!

Any hints/screenshots as to new features XP10?

Regards, MatthewS

simon said...

Ben I have a 64 bit system but am in perfect agreement with your phased approach- just too many loyal fans on older systems. but don't hold yourself back if you can avoid it! most of the newer planes I find pretty well perfect, eg bk117 and Peters a380 (but a 3d deck would be nice), so hopefully the big improvement is in your specialty, scenery. Even then it's very good now generally, amazing with Istvan's .HU creations and Xpfr's, especially with that silky framerate, that sold ME. Keeping that silky, real feel is the killer strength of xplane

Anonymous said...

Ben - here is an MS blog page on local Seattle newspaper - 46% of Win 7 installations are 64-bit, compared to less than 1% of Win XP.

http://blog.seattlepi.com/microsoft/archives/214033.asp

- Robin

dancepuppy56 said...

couldn't you release 2 Xplane packages, 32bit and 64bit (pro), with an upgrade path, could help the dollars too.

Jack Skieczius said...

I like the approach that most of the other programs coming over to 64bit have done. like Photoshop. you install both version if your on 64 bit. they made two versions really to suite everyones need.
Not sure if that works in x-plane. maybe an option somewhere tho either in program or in the installer?

Tho is 64 bit he first thing to look at or what about duel or more processors?

I know my Q400 addon will be very high-end on the graphics side so anything that comes to making the performance of x-plane better, i am all over it.

Benjamin Supnik said...

We already support multi-core...8 cores or more. :-) We will continue to push in the multi-core direction in new releases of course.

Filippo1974 said...

Just to extend this topic to a long-term perspective, what about the use of GP-GPU technologies (such as OpenCL)? Could this be considered for future releases of X-Plane (XP 11 or later)?

Larry said...

It always amazes me that many flight simmers use antiquated equipment . I thought my Amd Phenom 4 with with window 7 64 and 6 gigs of ram and an ati hd5670 video card with 1 gig of ddr5 video ram was a lower end pc.