Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Que Es Perder El Device?

Iniciado por Pogacha, 28 de Septiembre de 2005, 01:52:23 AM

« anterior - próximo »

Pogacha

 
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.

zupervaca

 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

[EX3]

 
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...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

zupervaca

 
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

[EX3]

 
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...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.