MMX Device

MMX is a special instruction set that some microprocessors support which provides increased performance for multimedia and 3-D processing. Direct3D uses MMX support, if it is installed, to increase rendering speed.

MMX devices are not hardware-accelerated devices like HAL devices. The transformation, lighting, and rasterizing modules are completely implemented in software. However, MMX devices provide much better performance than other types of software-emulated Direct3D devices.

If your application uses the IDirect3D2 interface, it must explicitly create an MMX device. However, beginning with the IDirect3D3 interface, MMX and RGB devices implement exactly the same feature set (see RGB Device). If an application attempts to create an RGB device and the microprocessor supports MMX technology, Direct3D will automatically create an MMX device.

Your application creates an MMX device by invoking the IDirect3D3::CreateDevice method and passing the value IID_IDirect3DMMXDevice in the first parameter. For additional information on creating Direct3D devices, see Creating a Direct3D Device. If the application explicitly requests that an MMX device is created and the user's computer does not support MMX technology, CreateDevice will fail.