The VDI (Virtual Device Interface) is a part of GEM, and can be looked at in the first instance as a standardized graphics system. From the point of view of the programmer the VDI can be seen as a very comprehensive device-independent graphics library whose output format is portable across several platforms. The VDI can be divided into the following function groups:
Since the original VDI in Atari's TOS suffers from several weaknesses and, above all, is not particularly fast, many users have found NVDI to be the replacement for the normal VDI.
Some functions of the VDI require the GDOS extension that was meant to be part of the operating system originally, but had to be offloaded by Atari due to lack of memory space in the ROMs of the first STs. Hence it (or its later replacements such as FSM-GDOS, SpeedoGDOS, NVDI, ...) have to be loaded from (floppy or hard) disk.
With consistent use of the VDI routines every programmer can ensure that their programs will run cleanly on various computer variants and in almost all resolutions.
See also: VDI fundamentals Bindings of the VDI AES