• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

DLL-powered-gauges vrs XML-powered-gauges


Resource contributor
With the recent news that P3D and FSW are "going 64-bits" and the changes in their support of (64-bits) add-ons I was wondering:
"What are the technical and internal differences between DLL-powered gauges vrs XML-powered-gauges"

What i've learned myself so far is that:
A - DLL-powered-gauges:

- are simply a standard Windows Dynamic Link Libraries.
- can be written either in Win32 or Win64-assembler / VB-code / VC++ code /
- "talks" to FSX through using "token_variables"
- is and acts like every other Windows executable code.
- can access everything <data-related> inside the Windows operating system.
- can be linked into almost any other Windows executable / source-code.
- can be dynamically loaded/injected into any Windows executable address-space.

B - XML-powered gauges:
- are written in a "specialized flavor" of W3C's XML standard language (for either FS9, FSX and/or P3D):
- "talks" to FSX through a series of interface_variables and/or status_variables like:
--> A_vars (inside sim1.dll)
--> P_vars (inside panels.dll)
--> K_events (inside controls.dll)
- can not access (executable / operating-system) dataoutside the XML-2FS(9,x) interface.

Sources used:

- https://msdn.microsoft.com/en-us/library/cc526948.aspx - esp sdk
- https://msdn.microsoft.com/en-us/library/cc526958.aspx - C++ gauges
- https://msdn.microsoft.com/en-us/library/cc526953.aspx - XML gauges
- http://www.fs2x.com/Tutorials.htm

Question: Are their any more design / technical / coding differences between DLL - and XML powered gauges?
Dlls can also make use of SimConnect for one. They also allow one to render at the sim frame rate instead of 18Hz
Here's one thread from the past - an interesting and spirited debate of C++ and XML gauge work. It's largely philosophical, but there's also mention of technical/internal differences. Bob
Last edited: