Multiple-Monitor Operations (Direct3D 9)
当设备成功重置 (IDirect3DDevice9::Reset) 或在全屏操作中创建 (IDirect3D9::CreateDevice) 时,创建该设备的 Direct3D 对象将标记为拥有该系统上的所有适配器。 此状态称为独占模式,Direct3D 对象拥有独占模式。 独占模式意味着由任何其他 Direct3D 对象创建的设备既不能采用全屏操作,也不能分配视频内存。 此外,当 Direct3D 对象采用独占模式时,除全屏设备以外的所有设备都将处于丢失状态。 有关详细信息,请参阅 丢失的设备 (Direct3D 9) 。
除了独占模式外,Direct3D 对象还会通知设备将使用的焦点窗口。 当该 Direct3D 对象拥有的最终全屏设备重置为窗口模式或销毁时,将释放独占模式。
当 Direct3D 对象拥有独占模式时,设备可以分为两个类别。 第一类设备具有以下特征。
- 它们由创建全屏设备的同一 Direct3D 对象创建。
- 它们的焦点窗口与全屏设备相同。
- 它们表示与任何全屏设备不同的适配器。
此类别中的设备对其重置或创建能力没有限制,并且不会处于丢失状态。 此类别中的设备甚至可以进入全屏模式。
不属于第一个类别的设备(由另一个 Direct3D 对象创建、使用不同的焦点窗口创建,以及为具有已全屏设备的适配器创建的设备)无法重置并一直处于丢失状态,直到独占模式丢失。 因此,多监视器应用程序可以将多个设备置于全屏模式,但前提是所有这些设备都用于不同的适配器,由同一 Direct3D 对象创建,并共享相同的焦点窗口。
相关主题