Бившият инженер на Microsoft Дейв Плъмър разкри, че най-неприятният бъг, който е стигал до потребителска версия на Windows, не е бил в системните модули, а в култовата игра 3D Pinball (Space Cadet).
Портът за Windows NT нямал ограничител на кадрите, поради което играта се рендървала „колкото позволява процесорът“ и на по-нови машини стигала до хиляди кадри в секунда, натоварвайки изцяло едно ядро.
Подробности
Според съвременни публикации и разкази на Плъмър, на модерни конфигурации Pinball е достигал около 5000 FPS и е „заковаващ“ CPU-то. Фиксът идва от дългогодишния инженер Раймънд Чен, който добавя ограничител на честотата на кадрите — след него натоварването пада приблизително до 1%. Част от изданията цитират таван 100 FPS, но в собствен блог Чен описва, че е капнал скоростта до 120 FPS; и в двата случая ефектът е рязко намаляване на консумираните ресурси.
Цитати и реакция
„Най-гордият ми момент в Windows беше, че поправих Pinball така, че можеш да стартираш билд и едновременно да играеш, без да пречиш на системата“, разказва Чен в разговор с Плъмър в YouTube. Плъмър пък признава в социалните мрежи, че в първите издания изобщо не е добавил лимитер.
Контекст и предистория
3D Pinball се появява още във времената на Windows 95/NT и остава един от емблематичните „пакетни“ софтуери на Microsoft. По-късно Чен описва и други технически спънки около x64 варианта и причините играта да отпадне от по-новите версии на Windows — тема, която периодично се връща в общността на ретро-компютърните фенове.
Какво следва
Случаят се превърна в „златен“ урок за разработчици: дребен пропуск (липса на FPS ограничител) може да е невидим на стар хардуер, но да е катастрофален при скок в производителността. Историята на Pinball днес се разказва като пример за превенция — измервай, лимитирай, профилирай — преди „безобидна“ игра да запуши цяла система.