Jump to content
Sign in to follow this  
777simmer

Does PMDG777 use hyperthreading?

Recommended Posts

Hyperthreading just only means there could be 2 threads at the same time on 1 physical core. So if fsx/pmdg is generating more threads where the calculations are the same hyperthreading is usable and is controlled by OS not fsx (in fact fsx doesn't know the difference of a logical and a physical cpu). It does not matter if one is able to set cores within taskmanager; this is just a possibility to control cpu usage and has it's first footsteps in server environments where it is essential to control server processes (so a database doesn't use all the 12 cores and webserver's are knocked out in case of a failure. just for instance).

 

An example: there are 500 calculations per second required to get a flight situation calculated. You can do it in one thread (which uses 500 calculations on a particular core) but you can fork it and do it in 2 threads. If done in 2 threads each thread has to communicate to each other and each thread do 250 calculations thus saving 50% cpu calculation time which can be spent to other calculations. Because of the synchronisation and some time delay you'll have some overhead thus hyperthreading is not as double as fast as two single cores. But it's cheap to manufactor (cheaper than 2 physical cores) and show's it's pro's if software is programmed to use so which is especially in server and workstation environments.

 

Also if those 500 calculations are forked and you don't have hyperthreading enabled, those 2 threads would be assigned to 2 physical cores. So software parallelisation makes sense if there are extreme complex calculations to be made. And if there are those, the threads would be spread to 2 cores but preferably to 1 physical core if hyperthreading is enabled or to 1 physical core on those newer amd cpu's if possible.

 

In short term: try it out. Chances are that fsx fps would be lower with ht enabled (and if you have to clock down the cpu) because of those calculations done by pmdg aren't a fps eater if compared to the graphical calculations done within cpu.


Windows programs are all multi-threaded and all run on a single processor. The system gives a time slice to each thread in turn, so it appears they all run at once, but in fact they all take turns to run on the processor. Each turn saves out the state of the current thread and switches in the last state of the next thread to continue processing. With a Hyperthreading core, the core acts like two logical processors and is more efficient than acting as single core with threads starting and stopping all the time. Looking at FSX running on a CPU with multiple HT cores shows that Windows places the threads across the cores, not the logical processors. The core still must accept other threads, but it can do that more efficiently with HT than if it was a single core. With HT turned off another thread will properly interrupt the current thread to get process time. Affinity Masks can only prevent cores from being used by a thread, they are still available to all processes in the system. To save heat build-up the intense processes must be spread over the CPU with AM, HT on or off may make a tiny difference depending on the layout of the chip, and could be hotter. In the “old days” motherboards with 4 CPUs may have had one pair with more efficient cooling, the intense threads, usually SQL Server would be forced on those with AM. Irrespective of how many cores FSX will use, the underlying system of concurrent disk and network activity benefits from HT on. Usually HT off is less efficient.

 

You're right. But with hyperthreading enabled I have to clock down to 4,3GHz and this is eating more fps than having more cores. Also there is only 1 core which uses 100% cpu load, the other's are at 30-50% all the time.

Share this post


Link to post
Share on other sites

Sounds fair, but I can't see where the extra heat comes from when an HT enabled core has one maxed out logical processor, compared to HT off and the same process running.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Share on other sites

Where the heat comes from... I don't know. But it's a fact, just google it or search for overclocking guides. They all say turn HT off.
 
But I made a few tests and here are the results:
I've clocked my I7 3770k to 4,3GHz @1,2Volts
 
The situation is the same: I've tuned fsx.cfg with venetubo. I've switched off info screens, turned on wideview aspect and texture_max_load=4096. I installed german airports 3 EDDT and selected rnw 08R for testing. Date was set to 1st may, 2014 @1000zulu time (gives 12:00 local). I tried to turn off any dynamical influences so ships, cars on street and even atc and ai traffic and selected clear weather to get some comparable results.
 
Here are the pictures:
System after clocking with prime95 running after about 2min:

http://www.pic-upload.de/view-23078607/0_starting_point.png.html

And same setting with hyperthreading off after about 2min:

http://www.pic-upload.de/view-23078608/0_starting_point_ht_off.png.html

2 degree of difference. Doesn't make much but it's a bit and maybe could be the limit if overclocking and leading to earlier throttling of the cpu.

 

Now to the sim to answer 777simmers question.

Hyperthreading on and affinity mask set:

http://www.pic-upload.de/view-23078609/1_ht_on.png.html

 

Hyperthreading on and no affinity mask set:

http://www.pic-upload.de/view-23079102/1_ht_on_noAffinity.png.html

 

Hyperthreading off and no affinity mask set:

http://www.pic-upload.de/view-23078605/1_ht_off.png.html

 

 

What we can clearly see on the first picture is a spike on core 1 and a drop on core 0 (both physical core #0!). So it seems the os tried to give a thread to the other logical unit of the same physical core which leads to a drop rather an improvement. My personal conclusion would be there's no ht support within fsx at all. But we can also see an improvement of 1fps between ht on and off with affinity mask set.

 

So I'd suggest to disable hyper threading or to enable it but to set affinity mask.

 

Edit: new picture included.

Share this post


Link to post
Share on other sites

As mentioned above, if you set the Affinity Mask to 14 (with 4 cores), you free up Core0 where the "outside FSX" code runs.

 

So what you get:

 

Core0:  "Outside FSX" code + some FSX fibres

Core1:  Main FSX load

Core2+3:  FSX scenery loading


Bert

Share this post


Link to post
Share on other sites

What we can clearly see on the first picture is a spike on core 1 and a drop on core 0..

 

You say pic 1 is HT on but what is the AM used there?


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Share on other sites

http://#####.wordpress.com/fsx-software-and-hardware-guide/

 

There Word Not Allowed gives a brief explanation of how to get the AffinityMask value for both HT enabled and disabled. According to him (and to what you see in the calculator, which makes sense), using AffinityMask=84 when HT is enabled inutilizes core 0 (threads 1 and 2), and only enables cores 1, 2 and 3 (threads 3, 5 and 7, which should be the "physical" ones if I got it right).

 

Since I'm no expert in the subject, my question is: does HT make a difference regarding external programs? By this I mean performance related to other programs run in the background while FSX is running, say ActiveSky, Chrome, music programs, etc.? Or it's no difference at all?

Share this post


Link to post
Share on other sites

As mentioned above, if you set the Affinity Mask to 14 (with 4 cores), you free up Core0 where the "outside FSX" code runs.

 

So what you get:

 

Core0:  "Outside FSX" code + some FSX fibres

Core1:  Main FSX load

Core2+3:  FSX scenery loading

Yes now I remember. That's the reason you should set affinity mask: to set the mainload outside of core #0 to give the fps limiting calculations a "clear" core which leads to higher loads.

 

You say pic 1 is HT on but what is the AM used there?

AF was set to the values venetubo suggest's. I've loaded my clean fsx.cfg, downloaded tweaked one and moved it to it's destination within %APPDATA%\Microsoft\FSX\.

 

 

http://#####.wordpress.com/fsx-software-and-hardware-guide/

 

There Word Not Allowed gives a brief explanation of how to get the AffinityMask value for both HT enabled and disabled. According to him (and to what you see in the calculator, which makes sense), using AffinityMask=84 when HT is enabled inutilizes core 0 (threads 1 and 2), and only enables cores 1, 2 and 3 (threads 3, 5 and 7, which should be the "physical" ones if I got it right).

 

Since I'm no expert in the subject, my question is: does HT make a difference regarding external programs? By this I mean performance related to other programs run in the background while FSX is running, say ActiveSky, Chrome, music programs, etc.? Or it's no difference at all?

Yes, I looked over it and venetubo only enables the first logical cores to the physical ones excluding core 0 (binary mask: 01010100=84). So fsx itself does not use hyper threading at all (it even doesn't know there are 8 cores because it only see 3 ones).

 

As regarding other programs: cpu load would be so low, there is no sense to calculate things in parallel threads. It's handled by OS to it's cores. You should not see any difference at all.

Share this post


Link to post
Share on other sites

ohoh I opened up pandoras box!

 

I have already accepted that FSX does not use HT.

And I have it of to reduce heat.

 

All I wanted to know is, does PMDG benefit from HT and if so, how much?

Does it help to turn on HT so we can have the PMDG calculation on those 4 hyper cores.

 

But Olli already answered that: there are no PMDG exe. running that you could move from core 0 to the hyper cores.

In short term: try it out. Chances are that fsx fps would be lower with ht enabled (and if you have to clock down the cpu) because of those calculations done by pmdg aren't a fps eater if compared to the graphical calculations done within cpu.

 

Forst of all, thx for all that info.

Real good stuff!

 

If what you say is true.....pmdg are not fps eater.....than it makes even less sence to turn on HT. However, although I have not checked on my new installation yet....I bet there is a big huge difference in fps when flying PMDG or stock C172!

Now to the sim to answer 777simmers question.

Hyperthreading on and affinity mask set:

http://www.pic-upload.de/view-23078609/1_ht_on.png.html

 

Hyperthreading on and no affinity mask set:

http://www.pic-upload.de/view-23079102/1_ht_on_noAffinity.png.html

 

Hyperthreading off and no affinity mask set:

http://www.pic-upload.de/view-23078605/1_ht_off.png.html

 

 

 

So I'd suggest to disable hyper threading or to enable it but to set affinity mask.

 .

Again, great info, and I enjoyed reading your post :-)

 

However it does not answere my question: "Does PMDG use HT" (not FSX but PMDG software!)

 

I do not plan on using HT unless addon software benefits (a lot) from it.

And I dont use Affinity Mask.

 

I plan on using the 1/2Vsync method with FSX.

This gave me extremely smooth flight before.

FSX will be locked internally at 30fps and to be able to maintain 30fps I will have to use FFTF 0.15 or so in the FSX.cfg.

This changes the priority render (not my words nor my wisdom here, just trying to put down

what I understand if it)...from graphical quality to more fps.

 

Anyway....if you lower FFTF too far (could be 0.15...0.14...0.13) then at some point you scenery loading will be too slow and become blurry.

 

So, with that in mind.....when I use Affinity Mask on top of the above plan/strategy, then I will have one core less for scenery loading.

Normally the main part of the simulation runs on core 0 and scenery loading is on core 1,2, and 3.

With Affinity Mask I end up with, according Bert Pieke above (thx Bert):

 

Core0: "Outside FSX" code + some FSX fibres

Core1: Main FSX load

Core2+3: FSX scenery loading

 

So only 2 cores for scenery loading......and thus blurries again.

 

I already tried that on my last install, and got blurries.

 

Ofcourse I could then get rid of that FFTF 0.15 again to speed up scenery loading.....But in the end....

 

To me it seems that Afinity Mask only makes sence if you have 6 core CPU and can sacrifise core 0, move FSX main part to core 1 and still not get blurries with scenery loading taking place on core 2,3,4,5!

Yes now I remember. That's the reason you should set affinity mask: to set the mainload outside of core #0 to give the fps limiting calculations a "clear" core which leads to higher loads.

 

I get blurry scenery when I use Affinity mask in combination with FFTF 0.15 in the .cfg


Rob Robson

Share this post


Link to post
Share on other sites

Two cores is plenty for scenery loading... no blurries on a well tuned system.


Bert

Share this post


Link to post
Share on other sites

Since I'm no expert in the subject, my question is: does HT make a difference regarding external programs? By this I mean performance related to other programs run in the background while FSX is running, say ActiveSky, Chrome, music programs, etc.? Or it's no difference at all?

 

 

HT on benefits highly threaded code, e.g. Win OS code running concurrent disk and networking.

 

Here Rob Ainscough find out that HT off clobbers his system: 

 

http://forum.avsim.net/topic/440977-affinitymask-2388-and-cpu-core-10-not-always-running/?p=2979074

 

http://forum.avsim.net/topic/440977-affinitymask-2388-and-cpu-core-10-not-always-running/


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Share on other sites

ohoh I opened up pandoras box!

 

I have already accepted that FSX does not use HT.

And I have it of to reduce heat.

 

All I wanted to know is, does PMDG benefit from HT and if so, how much?

Does it help to turn on HT so we can have the PMDG calculation on those 4 hyper cores.

 

But Olli already answered that: there are no PMDG exe. running that you could move from core 0 to the hyper cores.

 

Forst of all, thx for all that info.

Real good stuff!

 

If what you say is true.....pmdg are not fps eater.....than it makes even less sence to turn on HT. However, although I have not checked on my new installation yet....I bet there is a big huge difference in fps when flying PMDG or stock C172!

 

Again, great info, and I enjoyed reading your post :-)

 

However it does not answere my question: "Does PMDG use HT" (not FSX but PMDG software!)

 

I do not plan on using HT unless addon software benefits (a lot) from it.

And I dont use Affinity Mask.

 

I plan on using the 1/2Vsync method with FSX.

This gave me extremely smooth flight before.

FSX will be locked internally at 30fps and to be able to maintain 30fps I will have to use FFTF 0.15 or so in the FSX.cfg.

This changes the priority render (not my words nor my wisdom here, just trying to put down

what I understand if it)...from graphical quality to more fps.

 

Anyway....if you lower FFTF too far (could be 0.15...0.14...0.13) then at some point you scenery loading will be too slow and become blurry.

 

So, with that in mind.....when I use Affinity Mask on top of the above plan/strategy, then I will have one core less for scenery loading.

Normally the main part of the simulation runs on core 0 and scenery loading is on core 1,2, and 3.

With Affinity Mask I end up with, according Bert Pieke above (thx Bert):

 

Core0: "Outside FSX" code + some FSX fibres

Core1: Main FSX load

Core2+3: FSX scenery loading

 

So only 2 cores for scenery loading......and thus blurries again.

 

I already tried that on my last install, and got blurries.

 

Ofcourse I could then get rid of that FFTF 0.15 again to speed up scenery loading.....But in the end....

 

To me it seems that Afinity Mask only makes sence if you have 6 core CPU and can sacrifise core 0, move FSX main part to core 1 and still not get blurries with scenery loading taking place on core 2,3,4,5!

 

I get blurry scenery when I use Affinity mask in combination with FFTF 0.15 in the .cfg

 

What Oli said is task manager gives no HT. But task manager is only for executables. PMDG does not execute any task manager executables! PMDG does run as of fsx "commands" not because this is a own executable. This is a very big difference! No, PMDG does not gain any profit when using ht as the calculactions aren't requiring this. But be able to set a cpu core to an exe does NOT answer the question of being able to ht because PMDG is uses external threads outside fsx. But because fsx is the "father process" it is not shown in task manager explicitly. This to believe is a noobish fault I am telling my students again and again (in another manner!). Exe and threads are not comperatible. In fact FSX is generating about 57 threads on my hardware. Thus this are 57 own threads which can be mounted to core's whichs is managed by the OS and moste of them are on different core's. But 1 core is eating most of the power avail. So setting affinity mask will lower consumtion on this fps eating core.

 

But in short: no PMDG seems to not use any benefit's of using hyperthreading! (not because it is just not generating any exe's ^^)

Share this post


Link to post
Share on other sites

Need to correct some major misconceptions going on here:

 

1. Any FSX addon aircraft necessarily runs within the FSX.exe process. This is a requirement for FSX and for Windows applications in general. When we say we do things "outside FSX" what we mean is that we are not using default FSX SDK stuff for our avionics/systems, animations, and so on. FSX does not "know" about the presence of our FMC, the hydraulic or pneumatic system, the intricacies of the fuel system etc. For those of you who aren't versed in Windows programming - a dll *is* Windows's solution to this issue of not being able to run separate exes that modify another already running one. That's what our gauge dlls are - they contain custom "outside" code that latches onto the FSX.exe process.

 

And for the record - exactly the same is true for the Majestic Q400, which I assume is what several of you are going on about as being so different than anything else. They run the sim in an invisible kind of slew mode and their gauge dll code contains that open source FDE library that drives the slewing of the aircraft around the world. (I've addressed in a previous long post last year why this isn't something that works for our purposes) There is not a separate Q400.exe process that's running.

 

2. There is no such thing as coding something specifically to "use hyperthreading". HT is a hardware level thing on the CPU. Any multithreaded application will take advantage of HT - they're virtual cores that act just like normal ones and operate by leveraging idle cycles on the real physical cores. FSX (and essentially any video game) run the vast majority of their code in a single threaded manner. It often has to be this way because of the serialized nature of one event feeding another event in order and so on. It's very difficult to multithread video games - I can't find the link at the moment, but Valve Software (makers of Steam, the Half-Life, Portal and Left-4-Dead games etc) wrote a white paper years ago explaining how difficult and sometimes impossible this is to do. That company has billions of dollars and some of the best coders in the world - if they say this is extremely hard to do then it's probably the truth. I believe we do have a few multithreaded things in the code, but this is all handled by the FSX.exe process and by Windows - there's no way to specifically target HT-enabled CPUs.

 

Well I Know an aircraft developer that has been running it's FBW,autopilot and FADEC code outside of FS for over 9 years.... Not PMDG

 

3. This kind of statement is ridiculous and we're tired of it. Virtually everything in every one of our products going back to the original FS2002/FS9 737 runs in the "outside" manner described above in point 1. 11+ years ago we were doing this. Every single one of our airplanes is "FBW" in a software sense - we don't use the default FSX control system, it's all intercepted externally and processed to generate more realistic control characteristics etc. Vangelis calls it "fly by software" here internally. Just because we don't slap a fancy marketing name on it and run around advertising it as a revolutionary "new" feature doesn't mean we haven't been doing it forever.


Ryan Maziarz
devteam.jpg

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

Share this post


Link to post
Share on other sites

 

 


Just because we don't slap a fancy marketing name on it and run around advertising it as a revolutionary "new" feature doesn't mean we haven't been doing it forever.

 

See, being the best out there for a generation or two is good marketing, but sometimes just not good enough :)

 

 

 


2. There is no such thing as coding something specifically to "use hyperthreading". HT is a hardware level thing on the CPU. Any multithreaded application will take advantage of HT - they're virtual cores that act just like normal ones and operate by leveraging idle cycles on the real physical cores. FSX (and essentially any video game) run the vast majority of their code in a single threaded manner. It often has to be this way because of the serialized nature of one event feeding another event in order and so on. It's very difficult to multithread video games - I can't find the link at the moment, but Valve Software (makers of Steam, the Half-Life, Portal and Left-4-Dead games etc) wrote a white paper years ago explaining how difficult and sometimes impossible this is to do. That company has billions of dollars and some of the best coders in the world - if they say this is extremely hard to do then it's probably the truth. I believe we do have a few multithreaded things in the code, but this is all handled by the FSX.exe process and by Windows - there's no way to specifically target HT-enabled CPUs.

 

As I understand it, HT is actually making continuous single threads somewhat slower, which is why it is generally nor recommended as worth paying extra for FSX.

 

I do wonder how that would tie in with a software addon that uses extensively the threading capability. I imagine there are things in the systems that really do not need synchronous processing within simframes.

 

 

 


1. Any FSX addon aircraft necessarily runs within the FSX.exe process. This is a requirement for FSX and for Windows applications in general. When we say we do things "outside FSX" what we mean is that we are not using default FSX SDK stuff for our avionics/systems, animations, and so on. FSX does not "know" about the presence of our FMC, the hydraulic or pneumatic system, the intricacies of the fuel system etc. For those of you who aren't versed in Windows programming - a dll *is* Windows's solution to this issue of not being able to run separate exes that modify another already running one. That's what our gauge dlls are - they contain custom "outside" code that latches onto the FSX.exe process.

 

I do suppose you *could* run the SimConnecty part of the simulation on external executables, but I don't think that to be a particularly good idea. Had there been similar access to panel system as there is to simconnect system, would be easier to externalize a fair bit more. I don't care to comment whether that would be for any good.

 

 

 


And for the record - exactly the same is true for the Majestic Q400, which I assume is what several of you are going on about as being so different than anything else. They run the sim in an invisible kind of slew mode and their gauge dll code contains that open source FDE library that drives the slewing of the aircraft around the world. (I've addressed in a previous long post last year why this isn't something that works for our purposes) There is not a separate Q400.exe process that's running.

 

To be fair, they are pretty much the only house that shipped a product with such a level of disconnect to a wide audience. Of course that did bring it's separate set of issues with it. Quite a bit with the fact that keeping main FSX sim thread and the airplane thread in sync is not quite simple.

Share this post


Link to post
Share on other sites

Where the heat comes from... I don't know. But it's a fact, just google it or search for overclocking guides. They all say turn HT off.

 

But I made a few tests and here are the results:

I've clocked my I7 3770k to 4,3GHz @1,2Volts

 

The situation is the same: I've tuned fsx.cfg with venetubo. I've switched off info screens, turned on wideview aspect and texture_max_load=4096. I installed german airports 3 EDDT and selected rnw 08R for testing. Date was set to 1st may, 2014 @1000zulu time (gives 12:00 local). I tried to turn off any dynamical influences so ships, cars on street and even atc and ai traffic and selected clear weather to get some comparable results.

 

Here are the pictures:

System after clocking with prime95 running after about 2min:

http://www.pic-upload.de/view-23078607/0_starting_point.png.html

And same setting with hyperthreading off after about 2min:

http://www.pic-upload.de/view-23078608/0_starting_point_ht_off.png.html

2 degree of difference. Doesn't make much but it's a bit and maybe could be the limit if overclocking and leading to earlier throttling of the cpu.

 

Now to the sim to answer 777simmers question.

Hyperthreading on and affinity mask set:

http://www.pic-upload.de/view-23078609/1_ht_on.png.html

 

Hyperthreading on and no affinity mask set:

http://www.pic-upload.de/view-23079102/1_ht_on_noAffinity.png.html

 

Hyperthreading off and no affinity mask set:

http://www.pic-upload.de/view-23078605/1_ht_off.png.html

 

 

What we can clearly see on the first picture is a spike on core 1 and a drop on core 0 (both physical core #0!). So it seems the os tried to give a thread to the other logical unit of the same physical core which leads to a drop rather an improvement. My personal conclusion would be there's no ht support within fsx at all. But we can also see an improvement of 1fps between ht on and off with affinity mask set.

 

So I'd suggest to disable hyper threading or to enable it but to set affinity mask.

 

Edit: new picture included.

 

 

 

 

I asked what the AM was for your picture http://www.pic-upload.de/view-23078609/1_ht_on.png.html was because that looks like a process forced to run on the second Logical Processor (LP) of a maxed out HT core, which Windows would not do - I assume you forced it through a mask.

 

What you could do is a graph of the same two processes on a non-HT core, whereby because there's only one processor you would need two graphs of the two processes instead of the two graphs of the two LPs. The two processes on the non-HT core would be less efficient.

 

The situation you describe with your picture of Hyperthreading on and affinity mask set is merely a demonstration that two threads forced to run on a pair of HT cores are more effective than two threads forced to run on one non-HT core - the reason for the existence of HT.

 

HT should be enabled, FSX/P3D uses what's going on under the hood; highly threaded disk and network activity.


Steve Waite: Engineer at codelegend.com

Share this post


Link to post
Share on other sites
I asked what the AM was for your picture http://www.pic-uploa..._ht_on.png.html was because that looks like a process forced to run on the second Logical Processor (LP) of a maxed out HT core, which Windows would not do - I assume you forced it through a mask.

 

 
No, you can not override windows assignments to cpu cores. With affinity mask you just only set the "task manager cores for an application" on an alternate way. Most applications do an autoscan of how many cores are available. With this affinity mask you can override it by "hiding" cores to the application with task manager OR if the application has a config for it which it is reading (thus disabling the logical doubles is just the same as in task manager). Maybe aces knew of thread collision within HT configurations which can be the possibility why they included this option within their config.
 
And yes... dll's are extra functions/objects which are called by main and therefore pmdg (and other) processes can only see the core's fsx is using. Wasn't aware the "outside" things were not done by code injections or through an dbus like interface where you could have a separate executable (I'm no windows programmer).
 
And yes, it is difficult to program smp for 1 calculation because of the mentioned synchronisation. But if a game has some more calculations to be made and the project team is big enough (I'm speaking of business applications of 100+ programmers!) it is possible and also made; just think about a webserver; but it is in no means identical to video games.
 
I know of gta using different cores for simulation muscles, vehicle physics, background variable calculations etc... but this has to be made available through the core of an application (fsx in this case) and is not overcomeable by pmdg or any others.

Share this post


Link to post
Share on other sites

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...