|
|

楼主 |
发表于 2008-11-27 23:28:00
|
显示全部楼层
Re:请问如何解决窗口大小变化后刷新的问题
查了下,好像真有这回事。。
下面是找到的说明:
“微软的D3D设备可以处在操作状态或放弃状态;操作状态是设备的正常的状态,设备按照预期来运行和表现所有的粉刷。当一个事件发生时,设备会转换到放弃状态,例如在满屏模式下丢失键盘焦点,导致粉刷变成不可能。丢失状态是所有粉刷操作平静失败的表现,这意味着粉刷操作不能返回成功代码,即使是在粉刷操作失败的情况下(The lost state is characterized by the silent failure of all rendering operations, which means that the rendering methods can return success codes even though the rendering operations fail);在这种情况下,IDirect3DDevice9: resenter将返回错误代码D3DERR_DEVICELOST。
根据设计,能导致设备变成丢失状态的全套场景是不确定的,某些典型的例子包括焦点丢失,例如当用户按下ALT+TAB或一个系统对话框被初始化时,设备也可以由于电源管理事件而丢失,或者当另外一个程序采用满屏操作时;另外任何来自IDirect3DDevice9::Reset的失败都将导致设备进入丢失状态。
所有继承自IUnknow的方法都可保证在设备丢失之后正常工作。在设备都是之后,每个函数通常有三个选择:
1. 失败并返回D3DERR_DEVICELOST;这意味着程序需要认识丢失的设备,以便于程序能标识那些不能按照预期发生的事情。
2. 安静地失败,返回S_OK或者其他的返回值-如果一个函数安静地失败,程序通常不能区分是成功的结果还是安静地失败”
关键是怎么解决啊~~
|
|