sábado, enero 12, 2008

Experimento: DWM en acción

En los días pasados hablamos un poco sobre el funcionamiento de Windows Aero, la composición de escritorio, y Desktop Window Manager (DWM). En este artículo haremos un pequeño experimento para que observe que es el propio sistema operativo el que compone imágenes en pantalla, a diferencia de lo que ocurre en versiones anteriores de Windows.

Quizá haya experimentado alguna vez lo siguiente: Un programa se ha bloqueado (deja de responder) y, como consecuencia, si pasa ventanas por encima de la ventana bloqueada observa un feo efecto que consiste en que la ventana que mueve "va tapando" a la ventana bloqueada, hasta que ésta pierde por completo su representación. ¿Por qué ocurre esto? Como ya sabe, Windows determina que un programa está bloqueado cuando, entre otras cosas, no ha respondido a mensajes durante un tiempo prudencial (5 segundos en las implementaciones actuales). Uno de estos mensajes es WM_PAINT, que más o menos le dice a la ventana en cuestión: "Hay una nueva parte visible, así que píntate de nuevo". Cuando un proceso está bloqueado, no trata ningún tipo de mensajes, así que la ventana irá perdiendo su forma conforme vayamos tapando zonas de la misma pasando otras ventanas por encima. En Windows Vista esto no ocurre pues es DWM el encargado de componer cada ventana en búferes distintos. Las ventanas en segundo plano no necesitan responder a WM_PAINT, pues el motor de composición de escritorio ya tiene su representación completa.

Para llevar a cabo el experimento, necesitará dos sistemas, uno con Windows XP instalado y otro con Windows Vista. Para simular el "bloqueo" de la aplicación, haremos uso de la función "Suspend" de Process Explorer (http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx), por lo que necesitará que esté presente en cada sistema operativo.
  • Arranque el sistema con Windows XP instalado.
  • Inicie una aplicación cualquiera, como Bloc de notas, por ejemplo.
  • Abra Process Explorer y seleccione el proceso Notepad.exe con el botón derecho del ratón.
  • Elija Suspend.
  • Mueva la propia ventana de Process Explorer sobre la ventana de Bloc de notas y observe el resultado.
  • Ahora arranque el sistema con Windows Vista instalado.
  • Repita los pasos anteriores y observe que la ventana de Bloc de notas no se ve afectada en absoluto. Por supuesto, necesitará tener activada la composición de escritorio en el sistema operativo.

8 comentarios:

FRANCISCO dijo...

Doctor, Quiero eliminar el siguiente mensaje: Device IO Notification Window. Me sale cuando apago el sistema. Es algo muy molesto e innecesario. Gracias de antemano.

FRANCISCO dijo...

Me parece que es un problema con KB905474 (actualizacion). Quiero eliminarlo a traves del panel de control, pero no se puede remover del directorio. ¿Como hago?

David J. Fisher dijo...

Estimado doctor, ¿cómo puedo eliminar el insidioso problema de HOST del windows Vista que me aparece sin cesar a modo de ventanita irritante? No sé a qué se debe y no sé cómo solucionarlo.

Gracias

Anónimo dijo...

Hola!!

no se si es el lugar adecuado para preguntar esto pero yo también tego el mismo problema, al apagar el ordenador me aparece el molesto mensaje de que "Device IO notification window no responde". No será un virus, ¿no?

Gracias de antemano

Anónimo dijo...

A mí también me ocurre lo mismo: al apagar el ordenador me sale el mensaje: "Finalizar programa: Device IO Notification Window". Por favor, me puede decir alguien qué significa y cómo quitarlo? Gracias.

carlos dijo...

Al cerrar el PC me aparece el icono "Decive IO notification Window y me gustaría eliminarlos. Gracias

Anónimo dijo...

fail!!!!!!!!!!!!!!!

ernesto.mata77 dijo...

hola no se como me comunicaran de esto pero a micompu le aparesio una pantaya ke no puedo abrir. solo dice. DWM notification windows. porfa si alguien sabe ke significa o como lo elimino porfa mandenme un email con su respuesta a ernesto.mata77@yahoo.com. gracias se boy a agradeser mucho.