Not mine, but FSX of course...
The number of posts regarding FSX performance is staggering, but not particularly surprising. Unlike console systems, PC's come in a lot of different flavors and the number of hardware and driver combinations is practically infinite. This is the bane of PC development.
I am at a loss for why some users had good FSX performance in a demo or in the beta and poor performance in the release. I am also at a loss why one user with a super system will have worse performance than a user with a system that is a few years old (although I'm guessing their "sliders" are not set the same). I did read a thread from a user that has a fantastic system running a beta of Vista but has poor performance with FSX. I'm no Vista expert, but I have to wonder how much of that particular problem has to do with driver issues as I know some of the Vista video drivers had issues a month ago. As I've mentioned many times I'm running on a XPS Gen 2 laptop that is well over a year old and my perf isn't that bad (although it is if I crank everything up). We used a desktop machine recently that is much more powerful than my laptop for some video capture and we were looking at each other wondering why we weren't getting more fps. So a lot of this is a mystery to us non-devs, and we share in the frustration as well.
So what are we doing about it you ask? Well we aren't having all-team meetings to discuss performance, but we are reading the forums and looking at what users are doing to try and improve performance. If there is a good solution out there we are going to look at what is going on "under the covers" and see what we can do to improve things. We are looking into improving multi-core processing, and of course working toward the DX10 update. I personally am not involved in any of this work, I just know that it's going on around me. I have great confidence in the team that we will be able to improve some things for some hardware configurations, but I'm not sure much can be done for older hardware, lack of ram, and sliders set beyond what their system is capable of. I should also say that the DX10 update is the only planned code update that I know of, so I have to assume that any perf gains we make internally will have to wait until that release. Any release is a non-trivial event in our studio, so it would be a big deal to release anything earlier than the DX10 update. But who knows, stranger things have happened...
A couple other bits of information I've heard over the past few months you may find interesting. In order to move FSX nearer to the cutting edge of game graphics we felt we had to move to shader 2.0 support at least (wanted to do more). This decision is a significant factor in frame rates being lower for FSX than what you would have thought we would have based on FS2004 technology. Many aspects of the rendered image on your screen are running through a shader even though it may not seem like it. If we had built FSX without this shader support, we would have higher frame rates but we would be much farther behind the times for the general gaming industry. Our requirement to support backward compatibility for aircraft and other content is holding us back from fully taking advantage of everything a modern graphics card has to offer. IF we were to do what nearly every other cutting edge game does and create a one-off engine with no backward compatibility, we could tax the video cards more heavily. I'm sure the community that invests in add-ons (and creates add-ons) would implode if we did that (and none of us want that to happen). Comparing a game without backward compatibility requirements is an apples and oranges comparison. Better multi-core support was seriously considered but the risks associated with taking that route were too great to dive into when trying to finish the product. For us we had to get the product stable for shipping and trying to debug such a complex product on multi-core would have de-stabilized all of our efforts and pushed out the release date an unknown period of time. Business realities which few users probably understand or respect forced our hand on that one. Maybe we can make progress on that front now that we have shipped. Lastly, if I understand it correctly, because we provide full multi-monitor support, we cannot support all of what SLI has to offer. I think a dev would have to elaborate more on this to actually be useful information...
Flight simulations are the only entertainment product that I know of which require open and unrestricted sight lines out to the world. Comparisons are constantly being made to first person shooters which have incredible frame rates and amazingly rich environments. I'm as impressed with them as the next guy, but they cannot render a realistically scaled and open representation of the Earth. If any of them actually can do that and do it in a way where I can go anywhere on the planet seamlessly, then I would like to see it. And if they can do it with frame rates users often quote with great enthusiasm, then we won't be in business for very long.
Of course not being a dev, I may have gotten some of this wrong (although I don't think so) and considering there aren't very many FS team members blogging, and I will encourage them to blog through me if they want to get information out to users, or to post directly on a community forum. As we build out our own website I expect we will have a direct avenue for sharing information through it as well. When we have solutions we will try to get the information out as quickly as we can.
when DX10 update is planned(+ -)?!?
In order to get DX10 to work, one will REQUIRE Vista & a DX10 graphics card. No other way around that. That will also require (if you're wise) 2 Gb of system RAM and a PCIexpress motherboard (I know of no plans for AGP versions of DX10 graphics cards as yet). In other words, if ACEs are planning for FSX to go forwards as a DX10 application, your users are REQUIRED to update their hardware to cutting- or near cutting-edge. Thereore, it strikes me that much of the concerns about backwards compatibility then evaporates (and from your post it appears that backwards compatibility is part of what is holding the application back at the moment.) That opens up the opportunity to really let loose with implementing what is possible with DX10.
So here is my humble suggestion. If ACEs & MS are serious about making FS a DX10 application (I seem to remember Bill Gates stating that FSX will be a DX10 flagship application), then please, please use this opportunity to have a FRESH START and dump as much of the backwards compatibility concerns as possible. This is the opportunity that has been forced on you to make a very significant advance to the FS franchise. Those who are not upgrading software/hardware for Vista/DX10 will be peeved by this, but the DX10 bullet has to be bitten by you and them sooner or later.
I have been reading your blogs and other MS FSX developer posts for some time now, in particular in the lead up to the FSX release. I also hang out in the AVSIM forums, but I have never posted there, only as a reader who spends a lot of my time trying to pick up tips and tricks to try an get myself as prepared as possible for the imminent release of FSX in Australia (26th October). I have the latest FSX demo installed on my humble 2 year old PC (P4 3GHZ, 1GB RAM, ATI X850XT 256MB AGP card, SB AUDIGY 2 card) and I am getting between 10-15 FPS with mid-high settings after implementing some of the suggestions I read about on the forums. Unlike quite a few posters on the AVSIM forums I am relatively happy with the fluidity of the FPS I have been getting in FSX demo. I have also pre-ordered the FSX Deluxe edition, but must admit I am filled with a certain amount of trepidation when getting my full version of FSX because I am sure this will exact a greater toll on my system than the demo ever will. The last thing I wanted to mention before getting to the real purpose of my response is that I am a family man and I wont be planning an upgrade to my PC anytime soon (ie. > 2 years) since my PC is more than enough for everything except recent release such as Oblivion, Company of Heroes and now FSX.
Ok, now where am I posting here for and not on the AVSIM forums? I am hoping that is self evident by the flaming currently going on there. I have read your current blog and whilst I understand why you have said , but I have a couple of comments to make:
1)Windows VISTA : Much has already been said about its benefits but in the coming months how much of the market is really going to transition to this new operating system immediately - my guess - only early adopters, maybe 5-10% of the market. On top of this V1.0 of Vista will take some time before the mainstream market starts the transition, say 6-12 months from its initial release, perhaps even longer, because this is always been the cycle of new operating systems.
2)DX10 : This is a different story but the cost of first DX10 graphics cards will be high and I predict very costly to the average consumer for the next 6-12 months, at least until mainstream versions are released that are affordable to people like myself later next year.
3)DUAL CORE SUPPORT : Again, whilst this will mean a larger current install base of PCs out there that have dual cores, the overwhelming market is still mainly single core 3GHZ class machines, with 1 GB RAM and 256MB cards. Dual core support, whilst a trendy buzz word is being ignored by a lot of software developers in favour of relying more on the GPU and other middleware, such as Havok and Speedtree to offload the graphics, physics and rendering workload. And they are still developing their software for exactly my class of machine.
So where does this leave FSX in the first 12 months of its release?
Many PC game enthusiasts, such as myself, will be willing to give FSX a go on their current systems, but I doubt many will not be willing to upgrade their machines every time something more demanding than their PC can handle is released. Some will return their copies to the store of purchase, whilst some, like myself, will work at tuning the game to work a best as possible on their existing machine and do this through trawling forums for hints, tips, tweaks and hacks. And if that doesn’t work, default to shelving the game and go back to it when they upgrade to their next PC.
I really like FSX. It is better than FS9 right out of the box, it fixes all the things I had ongoing issues with FS9 – persistent texture blurring and tearing, poorly modelled default planes, bland and ill defined terrain, poor cloud modelling with heavy FPS hit, the list goes on. FSX undoubtedly has along lifespan ahead of it, but early commercial success of this release will be marked by how smooth the transition is from machines that currently run FS9 with all the add-ons.
Backward compatibility, whilst a performance hitter, was the right decision. It means for users like myself, the transition from FS9 to FSX will be smoother and some of my recent FS9 plane and terrain add-ons can feasibly work (with updates from the add-on developers) on both FS versions. This is a very good thing and much appreciated.
But performance IS a major issue that needs to be looked at, and I would go as far should be the major focus of the team, post FSX release, especially for the next 3 months.
Why not do a patch for mainstream users to allow us to have better performance? Why should it be a a low priority than DX10 or Dual Core support, if it can help all users across the board?
Obvious optimisations, now that the code base in complete, would be to reduce the memory load to under 1GB to fit into many PC’s with 1GB of memory? My GPU is plenty powerful enough with 256MB RAM, and I am happy to switch off bloom and run water in 1.x high mode (I like it better anyway!) but I need my Autogen, and I need clear crisp textures with lots of detail, otherwise I may as well go back to FS9.
And why not integrate what has already suggested on the AVSIM forums to compress the higher detail textures into smaller formats to facilitate better loading onto the GPU and system memory even if it means a slight loss in texture detail. What about looking into more Autogen detail options and lower resolution trees and release all these as part of consolidated patch to the wider non-sim community even if the work takes too much effort to integrated into the sim.
Yes do DX10 update, dual core support etc, but give the current install base such as myself some chance of running the sim smoothly with med-start of high settings ie. and better looking than FS9 with add-ons.
Despite what others say, to me 20-25 FPS consistent, is a reasonable and achievable goal for mid-range systems like myself.
Can you at please least relay this feedback onto the ACES team - looking forward to the FSX.1 Patch whenever it becomes available, just don't let it wait until DX10!
George “Geronimo” Jansen
As a payware developer, I would personally have no probelm if you dropped the backward compatibility for the next release, so you could have free reign on how you want to design the product for the next few years. I can understand when people are parting cash for addons but freeware people complain about it too, no one complained when battlefield 1942 mods wouldn't be compatible with battlefield 2, thats life - somethings have to happen to see advancment.
You guys have done great work on the current engine though and I look foward to picking up my copy as soon as its available to get tinkering.
Re: Backward compatibility
I think this is both the bane and salvation of FSX. While it has held up the transition to a better performance level of the simulator, it has also increased marketability (people aren't willing to give up all of their FS9 addons) and the similarity has made it possible for people to find quick patches to enhance performance. The product hasn't even been released yet, and some of the lead people have already determined fixes for the autogen problem. I think we'll be just fine with FSX as more developers continue to tweak it, but also think it needs to be the last of the "backward compatible" series, if that is what is holding things back.
When you have the chance, I would be interested in any information you can share about how FSX determines the default settings for an individual computer. There seem to be 3 main factors, CPU, GPU, and memory....how do each of those fall in to determining performance?
Thanks, Paul for a thoughtful and informative perspective.
Paul, those are good words, but they do leave as bitter aftertaste for me. it is the job of MS and the testers to test performance on the wide range of hardware and I know I certainly done so as tester. I reported performance problems for very beta but always we were left to believe performance was okay on the machines of the devs because they were running later builds. Well I am now running the released version and honestly it is not brilliant as is reflected by the customers. comments. If the devs are indeed following newsgroups and forums they won't feel very good, going back to FS5 (not 5.1) I have not seen a release being received so brutally. To blame that on the hardware of the users, or the wide diversity of hardware seems to be, to put it bluntly and without disrespect, lame. According to MS we need this (take from the FSX site):
# Windows XP SP2 / Windows Vista
# Processor: 1.0 Ghz
# RAM: Windows XP SP2 - 256MB, Windows Vista – 512MB
# Hard Drive: 14GB
# Video Card: 32MB DirectX 9 compatible
Now seriously... I seen some required specs over the years, but this one takes the cake. I challenge anybody to get it to run on those specs, without wanting to do bodily harm to some PR person who written those specs.
What makes it worse right now is that any serious communication with the developers seems impossible. We (commercial developers/distributors) need some answers. Answers we like or the answers we do not like, that is not so important right now. But when you meet with major companies to discuss what we are going to send them next year you need answers. Right now we don't have of them.
The question of how FSX your PC's capabilities is addressed in an article on our new website which will be launched sometime soon. I'll let that article do the work.
As silly as it sounds, designing add-on aircraft has changed my life. It paid for the fertility treatments that produced my son. It allows me to connect with others in the real aviation community and learn far more about real aircraft that I had ever imagined. It has allowed me to hear first hand, amazing stories of heroism from WWII and Vietnam vets.
As a freeware and commercial aircraft designer I wouldn't have a problem with dropping backward compatibly. BUT, only if I didn't have to stop using my low/no cost application and now spend $3500 for 3DSM. Most us designers are part timers and that much cash is beyond our means. Maybe MS could include their own tool thus ensuring 100% compatibility with each version. We designer could all have a tool we know work with the game and all of its' feature. And yes, I'd be willing to pay extra for it. (Just not $3500 extra)
Don't forget about CFS3. It had dismal frame rates, had no backward compatibility and limited add-on designers to Gmax only. While those weren't the only reasons it tanked, I'm sure they played a large part.
As for frame rates and such, I purposely don't design on a screaming machine. I figure if my add-ons look and fly great on my PC, they should do the same for vast majority of those who use them. I often wonder how "clean" software would be if the programmers had to user "average" PCs to do their work. If MS folks had to build the game on 1 year old hardware/software with average components, I bet the frame rates would be stellar.
I have discovered something on my system and I am curious as to why it is happening. In FS9 when I compare the ctrl-z displayed FPS to the real FPS it is really close. In FSX when I compare the ctrl-z displayed FPS to the real FPS it is about half. This explains to me why 15 FPS still feels smooth. It could be comforting to those paying big bucks for fast systems that the FPS counter is displaying half their actual frame rate.
Here are two screen shots that show this. The FS9 version shows 50.3 ctrl-z and 54 (ATI Tray Tools) in the upper right corner. The FSX version shows 16.2 ctrl-z and 30 in the upper right corner: