Кольца Земли
Шрифт:
Он повел Антона в дальний конец музея, где попадались таблички с годом производства столетней давности. Однако в планы Антона не входило изучение истории техники. Он попросил извиняющимся тоном:
– Не могли бы вы сначала показать устройства для виртуальной реальности. Сегодня у меня очень мало времени. Я еще неоднократно побываю в вашем чудесном музее, чтобы осмотреть все подробнейшим образом…
– По музеям галопом не ходят! – ответил старый экскурсовод и обиженно затряс головой.
– Потом я вам объясню все обстоятельства, и вы мне простите мою торопливость. У вас действительно
– Да! Вы правы! Ко мне приехал журналист из Америки. Он будет делать репортаж о музее. Экспонаты моей коллекции будут представлены во Всемирном Музее Истории Техники в Нью-Йорке. Не все конечно… Уже отобрано больше десяти. Таких нет нигде в мире, и, заметьте, они действующие…
– Я вас поздравляю!
– Лучший комплимент для коллекционера – это внимание к его коллекции…
– Заверяю, что будут и такие комплименты!
– Хочется вам верить! Так что вы хотели смотреть в первую очередь?
– Шлемы для виртуальной реальности.
– Следуйте за мной, если вы настаиваете…
– Благодарю!
Старик пошаркивая довольно резво двинулся в другой конец павильона. Антон шел следом, не отставая. В музее не было других посетителей. Они подошли к полкам, где выставлены устройства для моделирования трехмерных графических объектов. Их была не одна сотня. Ничего себе! И откуда столько денег?!
– Вы заверяли, что все экспонаты действующие. Можно, я попробую их в работе!
– Это музей, а не лавка!
– Я не могу найти подходящее устройство для работы. Если такое есть у вас, то я хорошо заплачу за его прокат. Мне оно понадобится на две недели или меньше…
– А если оно придет в негодность?
– Я заплачу столько, что вы купите другое и еще останетесь с прибылью…
– Тогда купите сами! Зачем выбрасывать лишние деньги…
– К сожалению, я не знаю, какое мне подойдет, и нет времени на поиски.
– Вы не знаете, чего хотите!
– Вы правы. Как раз тот случай, – вдруг Антона осенило. – Предлагаю компромисс! Я сейчас у вас выберу подходящую модель, а вы мне поможете найти и купить аналогичную. Я оплачу ваши хлопоты.
– Не знаю, не знаю…,– заколебался Слоним.
– Неужели вы откажете в помощи человеку?! Если бы вы знали, как это важно для меня!
– Я добрый человек, поэтому сдаюсь. Надеюсь, вы заплатите вперед за риск…
– Я готов! Сколько?
– Залог тысяча пятьсот и за амортизацию триста. Залог вам вернут, если ничего не случится.
– Согласен! – ответил Антон и подумал: «А старик-то скряга». Подобный шлем новый стоил столько…
На своем скрине Антон ввел сумму и направил электронный чек на счет, который указал Слоним.
Расход Антон понес не напрасно. В коллекции музея он нашел шлем, где были использованы дисплеи того же типа, что и в устройстве, предоставленном странными заказчиками. Слоним отыскал досье на экспонат и пояснил, что дисплеи сняты с производства, так как было несколько случаев повреждения глаз. Фирма-изготовитель дисплеев проиграла судебный процесс и обанкротилась. Складские запасы успели кому-то сбыть, хотя по решению суда они подлежали уничтожению. Теперь коллекционеры за них платили большие деньги. Узнав все это, Антон простил
старику его жадность.– Может, вы решитесь все же отдать мне шлем напрокат?
– Что мне с вами делать?! Удвойте залог, и я согласен.
– Договорились! Давайте составим контракт.
– Зачем нам формальности?! Вы доплачиваете залог и забирайте шлем. Я вам верю. Оставьте только свой адрес и имя… Потом я вычту из залога по десятке за день и все дела.
– Я оставлю, только у меня просьба. Никому не говорите о нашей сделке. Если каким-то образом узнает моя семья, у меня будут крупные неприятности.
– Будьте спокойны на этот счет! Это и моя маленькая коммерческая тайна…
Поздно вечером после тщательной подготовки Антон забронировал на полчаса нужные для эксперимента вычислительные ресурсы Супермозга, и опробовал программу в условиях, близких к условиям реальной эксплуатации. Результат первого пуска программы был выше всяких ожиданий. Однако второй запуск разочаровал. Освещение объектов получалось такое же неживое, как и без программы Антона… Антон повторил компиляцию программы, то есть построил ее заново из исходного текста. Опять первая сцена прошла нормально, а на второй проявилась та же ошибка. Ему показалось, что он обнаружит ее без особого труда. Однако шли минуты, часы, а причина ошибки еще не была установлена.
Когда небо за окном стало серым, Антон злой и голодный отправился на кухню. Он терялся в догадках. Ведь структура программы была им тщательно продумана. Все функции проверены по входу и выходу. Каждая в отдельности работает правильно, а вместе отрабатывают только один цикл. Нетрудно было догадаться, что в работе модулей возникают взаимные помехи. Один из них портит какие-то переменные другого. Обычная ситуация в сложных программных комплексах. Методы поиска таких ошибок были известны. Все упиралось во время. Программа содержала более тысячи переменных и сотни модулей…
Антон решил отоспаться. Потом со свежими силами, действуя системно, он локализует ошибку. Жаль, что напрасно потратил столько арендованного компьютерного времени. Это ему влетит в копеечку, можно сказать, что пару дней он отработал в «бункере» бесплатно. Если еще и срок не выдержит…
После сна он действительно справился с проблемой за час. По таблицам перекрестных ссылок просмотрел все программные объекты и обнаружил, что один из модулей использовал глобальный объект как локальный. Когда этот модуль отрабатывал, остальные функции, использующие глобальный объект, переставали работать.
Несмотря на досадный сбой, Антон встретил воскресный вечер в приподнятом настроении. Завтра можно будет предъявить программу заказчикам для испытаний. Еще оставалась работа по оптимизации базовой системы и подготовка документации. За одну сотую секунды должна была отработать и базовая программа, и антонова надстройка к ней. Сейчас Антон мог располагать едва третьей частью от полного цикла прорисовки кадра. Он уже просматривал исходные тексты и был уверен, что сократит длительность цикла до требуемой величины. Разработчики базовой системы явно экономили свое время, а не ресурсы пользователей…