Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Pogacha en 28 de Septiembre de 2005, 01:52:23 AM

Título: Que Es Perder El Device?
Publicado por: Pogacha en 28 de Septiembre de 2005, 01:52:23 AM
 
En dx que es perder el device?
Supongo algo como un aviso del API de que toda la info de las surfaces se fue a la mierda ... pero no estoy seguro del alcance de esto ...
Hay una acción para recuperarlo o que?
Tengo que cargar todas las surfaces de nuevo ?
Esto es en DDraw y D3D solamente?

Saludos.
Título: Que Es Perder El Device?
Publicado por: zupervaca en 28 de Septiembre de 2005, 02:07:50 AM
 te lo explico con mis propias palabras con lo que puede que no sean exactas del todo

- En dx que es perder el device? significa que el recurso ha sido liberado, esto pasa mayormente cuando se pasa de modo pantalla completa a modo ventana, viceversa o cuando se cambia de resolucion de video

- Solo seras avisado mediante el intento de actualizar el device, para los demas recursos no te enteraras, a no ser que uses alguna clases de d3dx

- Hay una acción para recuperarlo o que? Tengo que cargar todas las surfaces de nuevo ? debes de volver a leer todos los datos otra vez, esto es la parte odiosa

- Esto es en DDraw y D3D solamente? ni idea :P, en d3d es seguro, ddraw es obsoleto y te recomiendo no usarlo

Si quieres saber mas sobre el tema bajate un ejemplo de como recuperar el device que hice en c-sharp, mas o menos es lo mismo que en todos los demas lenguajes, tambien tienes otra solucion y es la de crear todos los recursos como managed, asi si el device se pierde cuando lo recuperes la propia libreria de directx se encarga de recuperarlos, el inconveniente es que directx hace una copia del recurso managed en la memoria ram, no obstante el device debes de recuperarlo igualmente
Título: Que Es Perder El Device?
Publicado por: [EX3] en 28 de Septiembre de 2005, 02:18:15 AM
 
Cita de: "zupervaca"- Hay una acción para recuperarlo o que? Tengo que cargar todas las surfaces de nuevo ? debes de volver a leer todos los datos otra vez, esto es la parte odiosa
Para recuperar el Device yo no tengo que leer los datos de nuevo ni en DDraw ni en D3D. En D3D si almacenas los recursos como "managed" solo tienes que recuperar el Device y volver a configurar los RenderStates. Que sea o no la forma mas optima no lo discuto, pero si es la mas comoda y rapida.

Cita de: "zupervaca"- Esto es en DDraw y D3D solamente? ni idea :P, en d3d es seguro, ddraw es obsoleto y te recomiendo no usarlo
Ocurre en ambos, lo interesante es que en DDraw es mucho mas sencillo recuperar el Device que en D3D.

Salu2...
Título: Que Es Perder El Device?
Publicado por: zupervaca en 28 de Septiembre de 2005, 02:28:22 AM
 
CitarPara recuperar el Device yo no tengo que leer los datos de nuevo ni en DDraw ni en D3D. En D3D si almacenas los recursos como "managed" solo tienes que recuperar el Device y volver a configurar los RenderStates. Que sea o no la forma mas optima no lo discuto, pero si es la mas comoda y rapida

si hubieras leido todo mi post ...

Citartambien tienes otra solucion y es la de crear todos los recursos como managed
Título: Que Es Perder El Device?
Publicado por: [EX3] en 28 de Septiembre de 2005, 03:36:59 AM
 
Cita de: "zupervaca"si hubieras leido todo mi post ...
Lo pones, pero como que das a enteder (o al menos eso entiendo yo) que solo es posible en C# y Dx9, de ahi mi comentario ;)

Salu2...