Бывший инженер Microsoft случайно заставил классический Pinball работать на частоте 5000 кадров в секунду
Легендарная 3D Pinball for Windows скрывала неожиданную техническую проблему, которая десятилетиями оставалась незамеченной пользователями. Дэйв Пламмер, бывший инженер Microsoft и создатель таких важных компонентов Windows как диспетчер задач и встроенная поддержка ZIP-архивов, признался в случайном создании одного из самых ресурсоемких багов в истории операционной системы.
Проблема возникла при портировании популярной игры с Windows 95 на Windows NT в середине 1990-х годов. Пламмер разработал совершенно новый игровой движок вокруг оригинальной логики пинбола для обработки видеорендеринга и звука. Однако в коде движка затаился критический баг, который долгое время оставался незамеченным.
Пламмер рассказал у себя на ютубе:
Мой игровой движок имел баг – он отрисовывал кадры с максимально возможной скоростью.
На момент разработки игра тестировалась на процессоре MIPS R4000 с частотой 200 МГц, что обеспечивало комфортные 60-90 кадров в секунду. Такая производительность казалась разработчику вполне достаточной для аркадной игры подобного типа.
Настоящие проблемы проявились спустя несколько лет с появлением многоядерных процессоров.
Кто-то заметил, что на многоядерных машинах игра постоянно использует целое ядро для воспроизведения пинбола.
Игра продолжала отрисовывать кадры с максимальной скоростью, но теперь достигала невероятных 5000 FPS благодаря возросшей мощности современных девайсов.
Исправление бага легло на плечи другого ветерана Microsoft – Рэймонда Чена. В интервью для канала Dave's Garage Чен с теплотой вспоминает добавление ограничителя частоты кадров, который установил максимум в 100 FPS.
Мой самый гордый момент в разработке Windows. Я исправил Pinball так, чтобы можно было запустить сборку проекта и одновременно играть в пинбол.
Пламмер относит эту ошибку к худшим багам Windows, которые он когда-либо выпускал в релиз. Несмотря на то, что сейчас инженер смеется над произошедшим, корпоративная культура Microsoft того времени относилась к подобным промахам крайне серьезно.
Если у тебя был баг, который попал в продукт и требовал исправления в Service Pack, это никогда не было поводом для смеха. Это считалось постыдным.
Интересно, что Windows NT демонстрирует удивительную совместимость с современными девайсами, что теоретически позволило бы запустить оригинальную багованную версию игры на мощных процессорах вроде AMD Ryzen 9 9950X3D. Такой эксперимент мог бы побить все рекорды частоты кадров, хотя более вероятным исходом стал бы культовый звук ошибки Windows NT 4.0.
- Спустя 33 года после выхода Windows 3.1 разработчица из Microsoft рассказала историю легендарной желто-красной цветовой схемы в стиле тележки с хот-догами
- Dell: 500 миллионов PC остаются на Windows 10 вместо перехода на Windows 11
- Microsoft ускорит запуск "Проводника" в Windows 11 и переработает контекстное меню