Hace 2 años | Por geralt_ a devblogs.microsoft.com
Publicado hace 2 años por geralt_ a devblogs.microsoft.com

La experiencia de la tableta Windows 8 organizó sus componentes como una colección de capas, con cada capa apilada sobre la siguiente. Para el propósito de la discusión de hoy, las capas importantes son la capa de Inicio y la capa de Aplicaciones: Si estás usando una aplicación, entonces la capa de Aplicaciones está en pantalla completa. Si has abierto Inicio, entonces la capa de Inicio cubre la capa de Apps. Si la última aplicación sale, entonces Inicio se abre automáticamente. Debería haber una capa a pantalla completa en todo momento...

Comentarios

Pegasete3046

No he entendido una mierda, mejor aprendo a robar.

#2 Haber estudiao.

geralt_

Traducción automática:

La experiencia de la tableta Windows 8 organizó sus componentes como una colección de capas, con cada capa apilada sobre la siguiente. Para el propósito de la discusión de hoy, las capas importantes son la capa de Inicio y la capa de Aplicaciones: Si estás usando una aplicación, entonces la capa de Aplicaciones está en pantalla completa. Si has abierto Inicio, entonces la capa de Inicio cubre la capa de Apps. Si la última aplicación sale, entonces Inicio se abre automáticamente. Debería haber una capa a pantalla completa en todo momento.

Durante el desarrollo, por supuesto, algo inevitablemente va mal, y se llega a estados en los que ni la capa de Inicio ni la de Aplicaciones se están mostrando, lo que resulta en una pantalla negra.

Ahora, una pantalla negra puede tener múltiples causas. El controlador de vídeo puede haberse estrellado. O el controlador de vídeo podría estar funcionando bien, pero el compositor se ha estrellado, por lo que no se está dando nada al controlador de vídeo. O el compositor podría estar funcionando bien, pero el shell se ha estrellado, por lo que el compositor no tiene nada que renderizar. O el shell podría estar funcionando, pero simplemente se olvidó de poner algo en la pantalla.

Para este último caso, el intérprete de comandos de Windows 8 creó una ventana de respaldo que se encontraba en una capa por debajo de todas las demás capas. Si ninguna de las otras capas estaba presente, entonces al menos tenías una ventana de respaldo. Y en las primeras versiones de depuración, esa ventana de seguridad contenía un dibujo ASCII de gatos. De esta manera, si veías los gatos, sabías que estabas en ese último caso de fallo: El shell se está ejecutando pero se olvidó de poner algo en la pantalla.

¿Por qué gatos?

Supongo que al desarrollador que escribió la ventana de respaldo le gustaban los gatos.

De hecho, al desarrollador que escribió la ventana de respaldo le gustaban tanto los gatos, que tenía una serie de dibujos de gatos. Al iniciar el sistema, dibujaban la primera imagen de un gato en la ventana de bloqueo, y cada vez que se le pedía a la ventana de bloqueo que repintara, pasaban a la siguiente imagen. Era como una historia que se contaba frase a frase, y cada frase se revelaba la siguiente vez que había un fallo catastrófico.

En la práctica, nunca se contaba la historia completa, ya que casi nunca pasábamos ni siquiera de la primera foto.

Hasta ahora.

Aquí están las fotos del gato de la ventana de la barrera de seguridad.

Si tienes la mala suerte de que la ventana de seguridad entre en acción más de nueve veces, la animación retrocede cuando llega al final y vuelve a empezar. Aquí está la animación completa:

Cuando algo iba mal y la ventana de retroceso se hacía visible, decíamos que veíamos a los gatos.

Los gatos se mantuvieron durante un tiempo, hasta que el equipo de la actuación nos pidió que los quitáramos. Verás, el arte ASCII utiliza una fuente monoespaciada, y la pantalla de los gatos era la única parte de la secuencia de inicio que utilizaba una fuente monoespaciada. Dibujar la ventana de respaldo estaba forzando la rasterización de una fuente completamente nueva, lo que estaba costando tiempo y memoria para algo que no debería verse nunca en primer lugar.

Lo siento, amantes de los gatos.