REF和HAL之间的区别是什么?

时间:2015-08-28 16:27:07

标签: directx directx-9

这个问题并没有完全正确,因为它在一句话中有点难以做,所以真正的问题是: 在Direct3D9中创建表示设备的对象的函数如下所示。

  HRESULT IDirect3D9::CreateDevice(
    UINT Adapter,
    D3DDEVTYPE DeviceType,
    HWND hFocusWindow,
    DWORD BehaviorFlags,
    D3DPRESENT_PARAMETERS *pPresentationParameters,
    IDirect3DDevice9** ppReturnedDeviceInterface
    );

Adapter UINT参数指的是目标计算机上使用的特定视频卡,但DeviceType参数指的是 HAL REF 。那么,指定某些特定视频卡(例如0)和 REF 设备类型的重点是什么?是不是 REF 一些由处理器模拟的抽象实例,与视频卡没有任何关系?

1 个答案:

答案 0 :(得分:0)

基本上,你是对的。参考设备在软件中实现大多数DirectX功能,不依赖于图形驱动程序。反过来,它们非常慢,应该只用于测试。您需要参考设备有两个原因:

如果您的图形卡不支持您要使用的DirectX功能,则可以使用参考设备,因为它将支持所有功能。但是,这在开发过程中才有意义(如果您暂时使用的是低端机器)。

如果您得到奇怪的结果,可能是驱动程序问题。要对此进行排除,您可以使用参考设备进行检查。如果这给您带来相同的结果,则问题出在您的代码中。如果它给你正确的结果,图形驱动程序是错误的。