Vector-based graphical user interface

Computer interface

A vector-based graphical user interface is a mostly conceptual type of graphical user interface where elements are drawn using vector information instead of raster information.

An example of a vector-based window, found in a privately funded vector-based graphical user interface research project. 2D GUI. All window decorations and elements inside them are vector-based, the background is generated from multiple sine waves and the shapes are defined in-runtime. The final image is rasterized, anti-aliased and optionally composited, here the compositing is disabled.

## Pros and cons

[edit]

The benefits of a completely vector-based graphical user interface would include:

* more efficient, independent scalability; The resolution (measured in dots per inch or DPI) could be set higher or lower than 1px:1px without causing pixelation, enabling better use of high resolution monitors.

Cons might include:

* Difficulty integrating raster-based applications. With some effort, this could be accomplished by texturing the entire raster-based application to a vector-based plane (though the disadvantages of raster-based graphics would still stand).
* Slower rendering, greater system requirements. Because today's monitors display only raster-based information, the vector information would have to be rasterized (and optionally anti-aliased) before appearing.

## Usage in 3D graphical user interfaces

[edit]

Since current 3D Graphics are usually vector-based, rather than raster-based, vector-based graphical user interfaces would be suitable for 3D graphical user interfaces. This is because raster-based 3D models take up an enormous amount of memory, as they are stored and displayed using voxels. Current operating systems such as Windows Vista, Mac OS X, and UNIX-based operating systems (including Linux) have enjoyed much benefit from using 3D graphical user interfaces. In Windows Vista, for example, Flip3D textures each window to a 3D plane based on vector graphics. Even though the window itself is still raster-based, the plane onto which it is textured is vector-based. As a result, the windows, when rotated, appear flat. In Linux desktops, Compiz Fusion can texture each raster-based workspace onto a 3D vector-based cube. As operating systems evolve, eventually the entire window would be made from 3D vector graphics, so that when rotated, it does not appear "flat". Also, advanced lighting may make 3D graphical user interfaces more aesthetically pleasing.

## Usage in 2D graphical user interfaces

[edit]

As most computer monitors become more and more high resolution, everything displayed would be smaller. However, if the screen resolution were turned down, everything would appear pixelated. Thus, resolution independence is currently being designed to solve this problem. With raster graphics, all icons need to be extremely high resolution, so as to not appear pixelated on higher resolution screens. This may take up enormous amounts of memory, and hard disk space.[citation needed] If vector graphics were used instead, it could be easily scalable and never lose data nor appear pixelated.

Some graphical user interfaces on operating systems such as IRIX use vector-based icons. A number of vector-based icon sets are also available for window managers such as GNOME and KDE.

With Windows, applications built using Windows Presentation Foundation (which is native[citation needed] to Windows Vista, but can be downloaded for Windows XP and Server 2003) are vector-based and scale losslessly based on Windows DPI settings. However, even without this, it has always been possible to build applications to be DPI-aware.[1] Additionally, in Vista, the Desktop Window Manager detects when an app is not DPI aware and, if the computer is set to a different DPI than normal, uses bitmap scaling to render the window at a larger size.[2]

New version of AmigaOS 4.1 enhanced in 2008 its Workbench with 2D vector graphical interface based on Cairo libraries, but pragmatically integrated it with a 3D Compositing Engine based on Porter-Duff Routines.

## See also

[edit]

* Zooming user interface
* Resolution independence

## References

[edit]

1. ^ MSDN: How to Write High-DPI Applications
2. ^ High DPI Support in Windows Vista Aero