2012-06-02 49 views
1

我想將一些基於.NET1.1下的DX9的代碼轉換爲DX9,.NET4和SlimDX。從DX9移植到SlimDX - DeviceLost位置

舊的代碼有一些設置事件處理程序:

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

您需要使用您喜歡的TestCooperativeLevel的方法將在本地的DirectX檢查結果代碼,並採取相應的行動。 MDX的事件處理方法有一些不幸的性能缺陷,這就是爲什麼我們避免實現該系統的原因。

+0

請你指點一下這樣的樣本嗎? –