Вылет Doom после длительного сеанса не был случайностью, а имел точно известную причину. Это должно было произойти немного раньше.
На LenOwO администратор сайта Minki сообщает о воспроизведении давно известного и ожидаемого сбоя. Событие случилосьна КПК, похожем на ASUS MyPal A620, который работает на соответствующей его временам Windows Mobile 2003.
Устройство было модифицировано для использования «собственного ИБП на базе литиевых элементов 18650, который был подключен к USB-порту моего маршрутизатора для получения постоянного питания 5 В». О системе почти забыли и обратили на нее внимание лишь после того, как появилось всплывающее окно об ошибке.
Как и большинство портов исходного кода той эпохи, WinDOOM основан на оригинальном коде 1997 года, поэтому он воспроизводит большинство функций и большинство ошибок оригинальной игры. DOOM имеет многочисленные известные ошибки даже в финальном выпуске 1.9. Среди особенностей есть такая: постоянно растущее значение для отслеживания времени игры увеличивается со скоростью 35 Гц, или 35 раз в секунду, независимо от рендеринга. Со временем накапливается огромное число, которое может достичь максимального значения 2 147 483 647 тиков. На ПК x86 это всегда приводит к перебросу до минимального отрицательного значения -2 147 483 647. Игра не может обработать это корректно и завершает работу.
При частоте 35 тактов в секунду набор самого высокого значения должен занимать около 1,95 года. Это немного меньше, но неизвестно, сколько точно времени прошло, пока ошибку заметили. Также возможно, что Doom4CE, порт WinDoom для Windows CE, который, вероятно, был использован в эксперименте, снижает частоту тактов игры до 30 Гц для лучшего темпа и снижения требований к оборудованию. Подобное в свое время было распространенным явлением в консольных портах DOOM.
Главный разработчик движка DOOM Джон Кармак, несомненно, знал о таком явлении. Но, вероятно, просто не уделял этому внимания — кто будет непрерывно играть два года? Впрочем, в конце концов, более 20 лет спустя у кого-то все же дошли руки. Интересно, проработает ли столько же любая современная игра?
Источник: Tom’s Hardware
Контент сайту призначений для осіб віком від 21 року. Переглядаючи матеріали, ви підтверджуєте свою відповідність віковим обмеженням.
Cуб'єкт у сфері онлайн-медіа; ідентифікатор медіа - R40-06029.