Бившият инженер на Microsoft Дейв Плъмър наскоро призна, че най-неприятният

...
Бившият инженер на Microsoft Дейв Плъмър наскоро призна, че най-неприятният
Коментари Харесай

Най-гадният бъг в историята на Windows: Инженер от Microsoft разкрива как бъг в култовата игра Pinball едва не „убива“ Windows 95

Бившият инженер на Microsoft Дейв Плъмър неотдавна призна, че най-неприятният бъг, който в миналото е ималo в издание на Windows не е бил срив в систематичните стратегии, а съдбовна неточност в паметната игра Pinball. Този аркаден симулатор, прочут на потребителите на Windows 95 и NT е бил пренесен от изходния код на C, където разработчикът е основал собствен личен графичен и звуков енджин.

Именно в този съставен елемент се криел казусът: играта не ограничавала честотата на фрагментите и се изобразявала толкоз бързо, колкото разрешавал процесорът.

По време на представянето на играта това съвсем не се е усещало. Машините, основани на 200MHz MIPS R4000 работеха с най-много 60-90 фрагмента в секунда (FPS) и изглеждаше, че това е повече от задоволително. Но когато компютрите станаха по-мощни, минусът излезе нескрито. Pinball стартира да натоварва цялото ядро на процесора, изстисквайки от него до 5000 фрагмента в секунда. Проблемът стана толкоз видим, че различен деец от Microsoft (Реймънд Чен) решил да изследва повода. Той присъединил изхода за честотата на фрагментите и открил, че броячът просто стопира да вкарва стойности, защото скоростта от дълго време е надхвърлила трицифрено число.

Решението било да се добави ограничител. Чен задал ограничаването на 100 фрагмента в секунда и потреблението на запаси мигновено спаднало до 1%.

След това разработчиците могат да основават Windows билдове и да започват Pinball по едно и също време, без да има заплаха от провисване на системата, споделя той. За инженерите по това време това е бил прегледен образец за това по какъв начин нищожен подробност в кода може да прерасне в сериозен проблем при смяна на хардуерните условия.

Плъмър означи, че съществуването на неточност в крайния артикул постоянно се е възприемало като стеснение. Вътре в екипа това се е приемало съществено: счупените билдове или некачествените промени са били одобрявани безмилостно от сътрудниците, а именитият проектант на Windows Дейв Кътлър е направил коментар, намеквайки, че създателят очевидно не е бил в най-хубавата си форма, когато е писал кода. Плъмър си спомня, че всички смешки приключвали сега, в който грешката се появявала в изданието – тогава отговорността ставала безусловно действителна.

Днес историята на Pinball се възприема по-скоро като виц за една „ ненаситна “ игра, само че за инженерите на Microsoft от края на 90-те години тя била урок, че всяка неточност в архитектурата рано или късно става забележима – изключително когато става въпрос за програмен продукт, който се употребява от милиони компютри по света.

Източник: kaldata.com


СПОДЕЛИ СТАТИЯТА


КОМЕНТАРИ
НАПИШИ КОМЕНТАР