GerätetypenDevice types

Direct3D-Gerätetypen sind HAL-Gerät (Hardwareabstraktionsschicht) und den Referenz-Rasterizer.Direct3D device types include Hardware Abstraction Layer (hal) devices and the reference rasterizer.

Hal-GerätHAL Device

Der primäre Gerätetyp ist das HAL-Gerät. Dieses unterstützt die hardwarebeschleunigt Rasterung und die Hardware- und Software-Vertex-Verarbeitung.The primary device type is the hal device, which supports hardware accelerated rasterization and both hardware and software vertex processing. Wenn der Computer, auf dem die Anwendung ausgeführt wird, mit einer Grafikkarte mit Direct3D-Unterstützung ausgestattet ist, muss die Anwendung Direct3D-Vorgänge verwenden.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. Direct3D-Hal Geräte implementieren alle oder Teile der Transformations-, Beleuchtungs- und Rasterungsvorgänge über die Hardware.Direct3D hal devices implement all or part of the transformation, lighting, and rasterizing modules in hardware.

Anwendungen greifen nicht direkt auf Grafikadapter zu.Applications do not access graphics adapters directly. Sie rufen Direct3D-Funktionen und -Methoden auf.They call Direct3D functions and methods. Direct3D greift über die HAL auf die Hardware zu.Direct3D accesses the hardware through the hal. Wenn der Computer, auf dem die Anwendung ausgeführt wird, die Hal unterstützt, erhalten Sie durch die Nutzung des HAL-Gerätes eine optimale Leistung.If the computer that your application is running on supports the hal, it will gain the best performance by using a hal device.

ReferenzgerätReference Device

Direct3D unterstützt ein zusätzliches Gerät – das Referenzgerät bzw. den Referen-Rasterizer.Direct3D supports an additional device type called a reference device or reference rasterizer. Im Gegensatz zu einem Softwaregerät unterstützt der Referenz-Rasterizer alle Direct3D-Funktionen.Unlike a software device, the reference rasterizer supports every Direct3D feature. Dieses Gerät ist zum Debuggen gedacht und daher nur auf Computern verfügbar, auf denen das DirectX SDK installiert wurde.This device is intended to be used for debugging purposes and is therefore only available on machines where the DirectX SDK has been installed. Da diese Funktionen mit dem Ziel einer möglichst hohen Genauigkeit statt für eine hohe Geschwindigkeit implementiert wurde, sind die Ergebnisse nicht besonders schnell.Because these features are implemented for accuracy rather than speed and are implemented in software, the results are not very fast. Der Referen-Rasterizer nutzt wenn möglich spezielle CPU-Anweisungen. Er ist jedoch nicht für den Einsatz in fertigen Anwendungen gedacht.The reference rasterizer does make use of special CPU instructions whenever it can, but it is not intended for retail applications. Verwenden Sie die Referenz-Rasterizer nur für Featuretests oder zu Demonstrationszwecken.Use the reference rasterizer only for feature testing or demonstration purposes.

HAL-und ref-GeräteHAL vs. REF Devices

HAL-Geräte (Hardware Abstraction Layer, Hardwareabstraktionsschicht) und REF-Geräte (REFerence Rasterizer, Referenz-Rasterizer) stellen die beiden wichtigsten Typen von Direct3D-Geräten dar. HAL-Geräte arbeiten über Hardware und sind sehr schnell. Sie unterstützen jedoch möglicherweise nicht alle Elemente. REF-Geräte nutzen keine Hardwarebeschleunigung. Daher sind sie sehr langsam. Bei REF-Geräten ist jedoch sichergestellt, dass alle Direct3D-Funktionen korrekt unterstützt werden.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. In der Regel benötigen Sie nur HAL Geräte. Wenn Sie jedoch erweiterte Funktionen nutzen, die die Grafikkarte nicht unterstützt, dann müssen Sie unter Umständen auf ein REF-Gerät zurückgreifen.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.

Ein REF-Gerät können Sie auch dann verwenden, wenn HAL-Gerät ungewöhnliche Ergebnissen liefert. So können Sie prüfen, ob Ihr Code überhaupt in Ordnung ist.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. Das REF-Gerät verhält sich immer ordnungsgemäß. Sie können Ihre Anwendung daher über das REF-Gerät testen und dabei überprüfen, ob das ungewöhnliche Verhalten weiterhin auftritt.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. Wenn dies nicht der Fall ist, nutzt die Anwendung (a) eine nicht von der Grafikkarte unterstützte Funktion, oder es handelt sich (b) um einen Treiberfehler.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. Wenn der Code auch mit dem REF-Gerät nicht funktioniert, handelt es sich um einen Anwendungsfehler.If it still doesn't work with the REF device, then it's an application bug.

Hardware-und Software Scheitelpunkt VerarbeitungHardware vs. Software Vertex Processing

Der Unterschied zwischen der Hardware- und Software-Vertex-Verarbeitung betrifft nur HAL-Geräte.Hardware versus Software vertex processing only really applies to HAL devices. Wenn Sie Vertizes in die Pipeline schieben, müssen diese transformiert (über die Welt-, View- und Projektionsmatrizen) und beleuchtet (über die integrierte Beleuchtung von D3D) werden. Dieser Verarbeitungsschritt heiß T&L (Transformation & Lighting).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). Die Verarbeitung von Hardware Scheitel Punkten bedeutet, dass dies auf Hardware erfolgt, wenn Sie von der Hardware unterstützt wird. ERGO die Verarbeitung von Software Scheitel Punkten erfolgt in Software.Hardware vertex processing means this is done in hardware, if the hardware supports it; ergo, Software vertex processing is done in software. Normalerweise wird zuerst ein Hardware-T&L-Gerät erstellt. Falls dieses fehlschlägt wird ein Mixed-Gerät verwendet. Schlägt auch dies fehl, wird ein Software-Gerät verwendet.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. (Fall das Software-Gerät fehlschlägt wird der Vorgang mit einem Fehler beeendet.)(If software fails, give up and exit with an error.)

Verwandte ThemenRelated topics

GeräteDevices