5000 FPS por una bolita: un veterano de Microsoft cuenta su mayor fracaso.
El exingeniero de Microsoft Dave Plummer recientemente confesó, que el error más desafortunado que haya cometido en una versión de Windows no fue un fallo en las utilidades del sistema, sino un error fatal en el mítico juego Pinball. Este simulador arcade, conocido por los usuarios de Windows 95 y NT, fue portado desde el código fuente en C, donde el desarrollador creó un motor propio para procesar gráficos y sonido. Fue en ese componente donde se ocultaba el fallo: el juego no limitaba la tasa de fotogramas y los dibujaba tan rápido como permitía el procesador.
En el momento del lanzamiento del juego eso casi no se notaba. Las máquinas basadas en MIPS R4000 a 200 MHz mostraban como máximo 60–90 fotogramas por segundo (FPS), y parecía más que suficiente. Pero a medida que los ordenadores se volvieron más potentes, la carencia salió a la luz. Pinball empezó a cargar un núcleo entero del procesador, exprimiéndolo hasta 5000 fotogramas por segundo. El problema se hizo tan evidente que otro veterano de Microsoft, Raymond Chen, decidió investigar las causas. Activó la visualización de la tasa de fotogramas y descubrió que el contador simplemente dejaba de mostrar valores, porque la velocidad hacía tiempo que superaba las cifras de tres dígitos.
La solución fue añadir un limitador. Chen fijó el límite en 100 fotogramas por segundo, y el consumo de recursos se redujo instantáneamente hasta el 1 por ciento. Según él, fue entonces cuando los desarrolladores pudieron compilar las versiones de Windows y ejecutar Pinball al mismo tiempo sin riesgo de que el sistema se colgara. Para los ingenieros de aquella época fue un ejemplo claro de cómo un detalle insignificante en el código puede convertirse en un problema serio cuando cambian las condiciones del hardware.
Plummer señalaba que tener un error en el producto final siempre se percibía como un hecho vergonzoso. Dentro del equipo se lo tomaban en serio: por las compilaciones rotas o los cambios de mala calidad los colegas se burlaban sin piedad, y el legendario arquitecto de Windows, Dave Cutler, podía soltar un comentario ácido, insinuando que el autor claramente no estaba en su mejor forma al escribir el código. Plummer recordaba que todas las bromas terminaban en el momento en que el bug llegaba a la versión final; entonces la responsabilidad se volvía completamente real.
Hoy la historia de Pinball se percibe más bien como una anécdota sobre un juego "glotón" en recursos, pero para los ingenieros de Microsoft a finales de los 90 fue una lección de que cualquier descuido en la arquitectura tarde o temprano se hace visible. Especialmente cuando se trata de software que llega a millones de ordenadores en todo el mundo.