从DX9移植到SlimDX - DeviceLost位置

时间:2012-06-02 15:04:55

标签: c# directx slimdx

我正在尝试将一些基于.NET1.1下的DX9的代码转换为DX9,.NET4和SlimDX。

旧代码设置了许多事件处理程序:

graphics.DeviceLost     += new EventHandler( this.InvalidateDeviceObjects );
graphics.DeviceReset    += new EventHandler( this.RestoreDeviceObjects );
graphics.Disposing      += new EventHandler( this.DeleteDeviceObjects );
graphics.DeviceResizing += new CancelEventHandler( this.EnvironmentResizing );

我注意到在SlimDX.Direct3D9中,DeviceLost不再存在。我和其他人有类似的问题。

DeviceLost存在于SlimDX.Direct3D9.ResultCode命名空间中,但我不知道这是否有用。

干杯,

1 个答案:

答案 0 :(得分:1)

您需要像在本机DirectX中一样使用TestCooperativeLevel方法来检查结果代码并采取相应措施。 MDX的事件处理方法存在一些不幸的性能缺陷,这就是我们避免实现该系统的原因。