HAL:hardware abstraction layer ,硬件抽象层,直接和硬件对话的一层。HAL是一种设备驱动程序,通常由设备生产厂商提供,你可以通过常规DirectX
调用直接和他进行通信。条件是当硬件能直接支持你所要执行的功能的时候HAL才被使用!
HEL:hardware emulation layer,硬件仿真层,运用于当硬件不支持你所要求的性能的时候。
HEL和HAL之间的切换对用户而言是透明的。如果你要求DirectX处理某项任务,HAL直接处理了,说明是通过硬件完成的,反之,HEL会通过一个软件
仿真来完成此项任务!!!
DirectX是一种具有前瞻性的设计思路,他假定那些高级的功能由硬件实现,但是,如果硬件不支持其中某些功能特性,那又该如何处理呢?
这就是HEL和和HAL双重模式的基本设计思路!!