Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: fiero en 01 de Enero de 1970, 01:00:00 AM

Título: Pérdida de surfaces en pantalla completa
Publicado por: fiero en 01 de Enero de 1970, 01:00:00 AM
                                Hola,
Pues resulta que este problema no lo tenía cuando empecé la aplicación y ahora resulta que al hacer pantalla completa, volver al escritorio, y luego regresar otra ver al programa, me pierde la surface al intentar hacer un Lock().

Yo renderizo por software, con funciones relleno de polígonos propias, por eso, utilizo DX5, ya que sólo utilizo algunas funciones de DirectDraw.

Al hacer el Lock(), después de regresar del escritorio, me devuelve DDERR_SURFACELOST y al hacer Restore() me devuelve DDERR_IMPLICITLYCREATED. Será porque la creo con m_pSuperficieFrontal->GetAttachedSurface(&ddsCaps,&m_pSuperficiePosterior);

Mi preguntas son, ¿que se hace en el caso de perder una superficie así y no poder restaurarla? ¿la creo otra vez?

un saludo
                               
Título: Pérdida de surfaces en pantalla completa
Publicado por: fiero en 01 de Enero de 1970, 01:00:00 AM
                                Bueno, hola fiero :riendo:

Cuando estas a pantalla completa tienes que restaurar la superficie frontal, ya que la posterior va pegadita a esta, de ahí el error de DDERR_IMPLICITLYCREATED.

bueno, esta vez ha funcionado restaurando la superficie frontal, lo que no entiendo es qué es exactamente perder una superfie, ¿se pierde totalmente la memoria y Restore() la crea de nuevo? o simplemente se reasigna en otra zona de la ram de video y Restore() lo que hace es actualizar el puntero....

un saludo                                
Título: Pérdida de surfaces en pantalla completa
Publicado por: _Grey en 01 de Enero de 1970, 01:00:00 AM
                                Ahora no estoy seguro de si pierdes la memoria, diria que si, pero lo que es seguro es que pierdes los datos, pero si es la superficie de "vision" no tienes que cargar nada como ocurre con texturas, vertex buffers y demas....

Saludos.