Jump to content
Sign in to follow this  
dazz

FSX limitations vs Aircraft development

Recommended Posts

I thought I would ask this here in the PMDG forums as you guys are well known for good/optimized A/C codingThe question is if it's possible to code aircrafts for FSX in a way that they take advantage of multiple cores better or this is an FSX limitationIf I'm not wrong PMDG uses many rutines that circumvent FSX's APIs and was wondering if that also allows to program things in a more multithreaded way or FSX will always be "funneling" threads in a way that renders those efforts uselessOf course I'm not interested in the details if it's actually feasible, it's just to have an idea about how FSX will scale with future generations of CPUs that will be 8 or 16 core unitsThanks

Share this post


Link to post

Dario-It can be done...The larger issue however is where the bottlenecks are and how much impact we can have in getting around them.The single biggest performance-sucker in FSX/FS9 involves trapping mouse activity in the VC and because of how this function is handled within FSX- moving the entire aircraft logic to other cores- you'd hardly notice a difference...This was going to be fixed by the folks at ACES- but that obviously didn't happen.


Robert S. Randazzo coolcap.gif

PLEASE NOTE THAT PMDG HAS DEPARTED AVSIM

You can find us at:  http://forum.pmdg.com

Share this post


Link to post

Thanks Robert, very much appreciated. I remember Ryan also comented on the VC clickspots performance issues in FSX. It's a shame MS didn't give a heck for their user base and let ACES release a SP3 that would keep the engine from bottlenecking the whole system that way.I'm afraid Sandy Bridge & Bulldozer might scale more in number of cores than in raw processing speed and people will be dissapointed with the limited performance boost after moving to a whole new platform in the future, but it's far too soon to talk. Or maybe by that time we have a brand new sim already (with backwards compatibility? wishfull thinking). Time will tell. Thanks again

Share this post


Link to post

I for one hope any new sim does NOT have backwards compatibility - the thing needs to be scrapped and built from scratch. The FSX core had its root in FS98, stuff got added on forever, and they were always concerned with making old addons work with the new sim. One particular area where this directly affected things in FSX was the graphics corruption issue that ******* Altuve solved earlier this year. The core thing that contributed to that was a backwards compatibility texturing mode for really old models.Regarding multicore (and this is for everyone, I realize you may know this Dario) - a lot of people don't realize that it's not a simple task at all to multithread code, especially when it involves sequences of operations that are serial by their very nature. Huge game companies like Valve and Epic Games have struggled with this in their game engines and have written technical papers about it. When you say "make something take advantage of multithreading" or similar statements, that may not even be possible depending on what exact function it is you're talking about. Video games in general have a lot of things that need to happen in series and even if you multithread stuff, you're often just waiting for some other thread to finish to give you the data you need, which is no better than standard threading... I'm not a programmer myself but I've read a lot about the issue in various publications and it's been explained to me by very good programmers like our own Vangelis over the years.


Ryan Maziarz
devteam.jpg

For fastest support, please submit a ticket at http://support.precisionmanuals.com

Share this post


Link to post
I for one hope any new sim does NOT have backwards compatibility - the thing needs to be scrapped and built from scratch. The FSX core had its root in FS98, stuff got added on forever, and they were always concerned with making old addons work with the new sim. One particular area where this directly affected things in FSX was the graphics corruption issue that ******* Altuve solved earlier this year. The core thing that contributed to that was a backwards compatibility texturing mode for really old models.
Agreed, I'd pick the better sim over backwards compatibility any day. It's just that at this point I prefer not to expect too much, including MS recoding it from scratch, but that would be awesome!
Regarding multicore (and this is for everyone, I realize you may know this Dario) - a lot of people don't realize that it's not a simple task at all to multithread code, especially when it involves sequences of operations that are serial by their very nature. Huge game companies like Valve and Epic Games have struggled with this in their game engines and have written technical papers about it. When you say "make something take advantage of multithreading" or similar statements, that may not even be possible depending on what exact function it is you're talking about. Video games in general have a lot of things that need to happen in series and even if you multithread stuff, you're often just waiting for some other thread to finish to give you the data you need, which is no better than standard threading... I'm not a programmer myself but I've read a lot about the issue in various publications and it's been explained to me by very good programmers like our own Vangelis over the years.
Someway I knew if PMDG has not made it by now, it's because it's simply not possible because of some FSX limitation, and even if the clickspot thing would be sorted out, the very nature of a flight simulator would not allow to split tasks in several/unlimited threads in all the stages, but just wanted to make sure to be prepared for the future and don't make (any more) foolish hardward choices/upgrades.You explained it perfectly Ryan. In a web server for example threads can be executed in paralel because John Doe doesn't need to wait untill Peter Who gets his response, but in an application where threads need to be "joined" for a final result things are not so straightforward.The affinitymask in FSX seems to simply split execution time of the FSX main thread amongst the available cores, but that doesn't increase total CPU utilization for 2 or more cores in my experience. Actually it might be better to limit it to 2 or 3 cores (something that Jesús has suggested in the past, except for the fact that he used 3 or 4 cores) I'll redo my tests with my new I5 750 and different planes and settings and addons running in the background, but at this point I think I'd take a faster dual core over a quad, and by the looks of things that's not likely ever going to change.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...