Tipos de dispositivoDevice types

Los tipos de dispositivos de Direct3D incluyen dispositivos de la capa de abstracción de hardware (HAL) y el rasterizador de referencia.Direct3D device types include Hardware Abstraction Layer (hal) devices and the reference rasterizer.

Dispositivo HALHAL Device

El tipo de dispositivo principal es el dispositivo HAL, que admite la rasterización acelerada por hardware y el procesamiento de vértice de hardware y software.The primary device type is the hal device, which supports hardware accelerated rasterization and both hardware and software vertex processing. Si el equipo en el que se ejecuta la aplicación está equipado con un adaptador de pantalla compatible con Direct3D, la aplicación debería usarlo para las operaciones de Direct3D.If the computer on which your application is running is equipped with a display adapter that supports Direct3D, your application should use it for Direct3D operations. Los dispositivos HAL de Direct3D implementan todos o parte de los módulos de transformación, iluminación y rasterización de hardware.Direct3D hal devices implement all or part of the transformation, lighting, and rasterizing modules in hardware.

Las aplicaciones acceden directamente a adaptadores de gráficos.Applications do not access graphics adapters directly. Llaman a métodos y funciones de Direct3D.They call Direct3D functions and methods. Direct3D accede al hardware mediante HAL.Direct3D accesses the hardware through the hal. Si el equipo en que se está ejecutando tu aplicación admite HAL, obtendrá el mejor rendimiento con un dispositivo HAL.If the computer that your application is running on supports the hal, it will gain the best performance by using a hal device.

Dispositivo de referenciaReference Device

Direct3D admite un tipo de dispositivo adicional denominado dispositivo de referencia o rasterizador de referencia.Direct3D supports an additional device type called a reference device or reference rasterizer. A diferencia de un dispositivo de software, el rasterizador de referencia es compatible con todas las características de Direct3D.Unlike a software device, the reference rasterizer supports every Direct3D feature. Este dispositivo está pensado para usarse con fines de depuración y, por tanto, solo está disponible en máquinas donde se ha instalado el SDK de DirectX.This device is intended to be used for debugging purposes and is therefore only available on machines where the DirectX SDK has been installed. Dado que estas características se pueden implementar para la precisión, en lugar de la velocidad, y se implementan en software, los resultados no son muy rápidos.Because these features are implemented for accuracy rather than speed and are implemented in software, the results are not very fast. El rasterizador de referencia hace uso de instrucciones de CPU especiales siempre que es posible, pero no está diseñado para aplicaciones comerciales.The reference rasterizer does make use of special CPU instructions whenever it can, but it is not intended for retail applications. Usa el rasterizador de referencia solo para fines de pruebas o demostración de la característica.Use the reference rasterizer only for feature testing or demonstration purposes.

HAL frente a dispositivos REFHAL vs. REF Devices

Los dispositivos HAL (capa de abstracción de hardware) y los dispositivos REF (rasterizador de REFerencia) son los dos tipos principales de dispositivos de Direct3D. El primero se basa en la compatibilidad de hardware, es muy rápido y es posible que no sea compatible con todo; mientras que el segundo no usa la aceleración de hardware, por lo tanto, es muy lento, pero garantiza la compatibilidad con el conjunto completo de características de Direct3D, de forma correcta.HAL (Hardware Abstraction Layer) devices and REF (REFerence rasterizer) devices are the two main types of Direct3D device; the first is based around the hardware support, and is very fast but might not support everything; while the second uses no hardware acceleration, so is very slow, but is guaranteed to support the entire set of Direct3D features, in the correct way. En general, solo tendrás que usar dispositivos HAL, pero si estás usando algunas características avanzadas que no admite tu tarjeta gráfica, es posible que debas volver a REF.In general you'll only ever need to use HAL devices, but if you're using some advanced feature that your graphics card does not support then you might need to fall back to REF.

Otro momento en que es posible que quieras usar REF es si el dispositivo HAL produce resultados extraños, es decir, si estás seguro de que tu código es correcto, pero el resultado recibido no es el que esperabas.The other time you might want to use REF is if the HAL device is producing strange results - that is, you're sure your code is correct, but the result is not what you're expecting. El dispositivo REF garantiza un comportamiento correcto, por lo que puede que quieras probar tu aplicación en el dispositivo REF y ver si el comportamiento extraño continúa.The REF device is guaranteed to behave correctly, so you may wish to test your application on the REF device and see if the strange behavior continues. Si no es así, significa que (a) la aplicación supone que la tarjeta gráfica admite algo que no puede funcionar, o (b) se trata de un error del controlador.If it doesn't, it means that either (a) your application is assuming that the graphics card supports something that it doesn't, or (b) it's a driver bug. Si tampoco funciona con el dispositivo REF, quiere decir que se trata de un error de la aplicación.If it still doesn't work with the REF device, then it's an application bug.

Procesamiento de vértices de software y hardwareHardware vs. Software Vertex Processing

El procesamiento de vértices de hardware frente a software solo se aplica realmente a dispositivos HAL.Hardware versus Software vertex processing only really applies to HAL devices. Cuando insertas vértices a través de la canalización, estos deben transformarse (mediante las matrices de mundo, vista y proyección correspondientes) e iluminarse (mediante las luces integradas D3D): esta fase de procesamiento se conoce como T&L (para la transformación e iluminación).When you push vertices through the pipeline, they need to be transformed (by the world, view, and projection matrices in turn) and lit (by D3D's built-in lights) - this processing stage is known as T&L (for Transformation & Lighting). El procesamiento de vértices de hardware significa que esto se hace en hardware, si el hardware lo admite; Ergo, el procesamiento de vértices de software se realiza en el software.Hardware vertex processing means this is done in hardware, if the hardware supports it; ergo, Software vertex processing is done in software. El procedimiento general consiste en crear un dispositivo de T&L de hardware, si produce errores, probar el modo mixto, y, si ese produce errores, probar el software.The general practice is to try creating a Hardware T&L device first, and if that fails try Mixed, and if that fails try Software. (Si se produce un error en el software, renuncia y sal con un error).(If software fails, give up and exit with an error.)

Temas relacionadosRelated topics

DispositivosDevices