jueves, julio 27, 2006

Defecto del Reproductor de Windows Media 11 (Windows Vista Beta 2)

En este artículo se ofrecen los detalles de un defecto del Reproductor de Windows Media 11 incluido en Windows Vista Beta 2: Aunque el Administrador de tareas muestre un consumo nulo o ínfimo del reproductor, "por lo bajo" está modificando un determinado valor del registro ¡varias veces cada segundo! Esta es una práctica no muy deseada en el software. Me puse en contacto con el equipo de Windows Media y, afortunadamente, el problema ya está resuelto en versiones posteriores a Beta 2.

Una de las cosas que suelo realizar cuando estoy probando cierto software es observar detalladamente su rendimiento (consumo de CPU, RAM, context switches, etc.). En esta ocasión le tocó el turno al Reproductor de Windows Media 11. Con el reproductor abierto y Process Explorer configurado para mostrar la lista de procesos ordenada por incremento de context switches, me encontré con lo siguiente:


Es decir, en ese momento el proceso Wmplayer.exe estaba situado el tercero de la lista con nada más y nada menos que 286 Context Switch Delta. El consumo de CPU es claramente nulo, pero eso no indica que todo vaya bien, ¿qué estaría haciendo el reproductor para generar una cantidad tan enorme de context switches cada poco tiempo? Un primer candidato son los accesos al registro de manera continuada, lo que se conoce como registry polling, algo totalmente evitable pues el sistema operativo ya proporciona mecanismos para informar a las aplicaciones si una clave del registro cambió o no, haga clic aquí para obtener más información. Seguidamente me puse a analizar el sistema con Regmon, que esclareció totalmente el asunto:


Como ven, el reproductor estaba modificando un valor del Registro ¡decenas de veces cada segundo! Supongo que esto se debía a un error de diseño de alguna parte del reproductor. Si tiene curiosidad, el valor implicado es HKCU\Software\Microsoft\MediaPlayer\Preferences\BackgroundScanCompleteDate, que apareció por vez primera en la versión 10 del reproductor y que, con casi toda probabilidad, se encarga de llevar un control de la última vez que se ha examinado la biblioteca multimedia con el fin de rellenar sus campos. En la versión 10 del reproductor sólo se modifica ese valor una vez por ejecución de la aplicación.

Estado actual del problema

Me puse en contacto con el equipo de Windows Media y, consecuentemente, el problema ya está corregido en una versión interna, posterior a Beta 2.

Este es un ejemplo para que observe que incluso Microsoft a veces utiliza métodos no muy "elegantes" en su software que atentan contra el rendimiento del mismo. Mark Russinovich ya analizó otros casos similares en esta entrada de su blog, y esta otra.

3 comentarios:

Anónimo dijo...

no se si me puedas ayudar espero que si solo quisiera saber por que no me deja instalar el windows 11 en mi pc y como solucionarlo.
te agredeceria si me ayudas mi correo es
warrcraftt@hotmail.com
gracias

JUAN CARLOS dijo...

HOLA QUE TAL EL PLACER DE SALUDAR A TODOS! ME LLAMO JUAN CARLOS Y SOY DE MONTEVIDEO URUGUAY! TENGO EL SIGUIENTE PROBLEMA CON EL REPRODUCTOR DE WINDOWS MEDIA 11: HASTA HACE 2 DIAS FUNCIONABA LO MAS BIEN Y SIN NINGUN TIPO DE INCOMVENIENTE...NO SE QUE FUE LO QU PASO QUE:AL INICIARLO SE PONE RRE LENTO Y AL SELECCIONAR LA REPRODUCCION DE CUALQUIER ARCHIVO EJEMPLO CUALQUIER TEMA...SE PONE RRRRREQUETE LENTO Y ME CONSUME EL 100% DE MI EQUIPO!! COSA QUE ANTES NO!! NO LO PUEDO USAR1 ME PUEDEN AYUDAR??? DESDE YA MUY PERO M,UY AGRADECIDO A TODOS! POR LAS DUDAS..LES DEJO LOS REQUISITOS DE MI EQUIPO OK!!... PENTUIM 4 3.0 1gb DE RAM WINDOWS XP VERSION 2005 TARJETA DE VIDEO ACELERADORA EN 3D DE 256 mb. GRACIAS NUEVAMENTE Y ESPERO AYUDA OK! SALUDOS.JUAN CARLOS...........

Sfigueroa dijo...

Tengo exactamente el mismo problema, si alguien me puede decir como solucionarlo se lo agradecería!