Космология

Почему атомы не падают в себя как черные дыры?

Любит | Нелюбов | Ответы | Вид | 5587


Лайл МакЭлхани инженер-программист (1990-настоящее время)   
@ | Обновлено Right Now


Еще в начале 90-х годов я работал разработчиком программного обеспечения в компании Philips в подразделении «Компакт-диск». Это был гибридный формат компакт-дисков и бизнес-инициатива, которая не увенчалась успехом, но в то время Philips, Sony и группа компаний, производящих видеомагнитофоны, все инвестировали.

Для компакт-дисков (интерактивных компакт-дисков) требовался специальный проигрыватель, специальное аппаратное обеспечение, что-то среднее между игровой консолью и DVD-проигрывателем, которое собирались изготовить эти производители, выпуская его в качестве аппаратного стандарта.

Плеер был в основном очень бюджетным компьютером с очень простой графической способностью: он мог отображать «настоящий цвет» назад, когда на потребительских компьютерах было только 16 или 256 цветов. Он имел 1 МБ ОЗУ, и в нем содержалась операционная система в дополнение к одной программе, которая могла загружаться одновременно. У него был специальный формат файла, называемый «файл в реальном времени», который вводил концепцию потоковой передачи данных с диска. Это было предназначено для использования с видео, которое должно было быть добавлено к игрокам позже, и никогда не происходило.

Итак, я с группой разработчиков программного обеспечения в Philips, и мы должны разработать программное обеспечение для демонстрации «интерактивных мультимедиа» с аппаратным обеспечением, которое оказалось недостаточно приспособленным для их маркетинговых заявлений. Несколько проектов уже провалились, так как были созданы дорогие мультимедийные материалы, но разработчики не смогли получить аппаратное обеспечение для воспроизведения медиафайлов с приемлемым качеством. Несколько партнеров-производителей шумели (это подразделение Philips было совместным предприятием для всех).

В нашем подразделении назначен тип менеджера подразделения из Philips в Европе, и я попал в новую производственную группу, которую он возглавляет. Из-за политики компании местное руководство не хочет, чтобы он преуспел, поэтому они считают своего самого младшего парня (меня) и неопытного разработчика контракта единственными разработчиками для «команды документальной истории искусства». Нам дается 30 дней, чтобы доказать идеи этого парня о том, как производить для этого оборудования, но он не технический. У него были отличные идеи о том, как повысить рентабельность производства мультимедиа, но игрок по-прежнему не сможет передавать изображения и звук с «телевизионным качеством NTSC».

Одна из проблем с проигрывателем CD-I заключалась в необходимости динамического управления памятью и аналогичных стандартных типов библиотек. После загрузки этих библиотек оставалось очень мало памяти для приложения и еще меньше для графических и аудиоданных, используемых для создания «мультимедиа». Борьба с конкурирующими потребностями в стандартном библиотечном оборудовании со стороны приложения, размера приложения и места для данных, которые приложение должно было загрузить, была главной проблемой неудачных проектов.

Моим решением было разделить «приложение проигрывателя» на два отдельных приложения: одно было «строителем», а другое - «тупым проигрывателем», который не использовал стандартные библиотеки и даже не имел менеджера памяти. У нас были версии для разработчиков проигрывателя CD-I с 2 МБ ОЗУ, и я использовал это для «приложения-строителя», которое загружало каждую часть документального фильма, представляющего собой отдельную загружаемую сущность, а затем записывало в файл данные в графической и звуковой памяти. Конечным результатом «компоновщика» был один файл размером 740 МБ (размером с компакт-диск), который содержался в каждом блоке данных 2 КБ, где в памяти должен располагаться этот блок данных 2 КБ. Используя формат «файла в реальном времени», у меня было точное время, когда с диска считывался блок данных 2K, поэтому преобразование документального фильма в поток было связано с предварительным расчетом того, где и когда должны поступать данные с диска, и размещением этих данных как можно ближе к гигантскому файлу размером 740 МБ. «Глупый игрок» становился все более и более простым, поскольку я обнаружил, что предварительный расчет того, где и когда будут поступать данные, устранял 97% того, что требовалось приложению игрока. Финальное приложение «тупой игрок» было всего 57K, и оно представляло документальные фильмы «в стиле Кена Бернса», просто ожидая, что данные будут волшебным образом там, где они должны быть, и просто используя их. Все, что можно было предварительно рассчитать, сводилось к тому, что «тупой игрок» превращался в чрезвычайно простой оператор переключения между отображением и звуковыми буферами. Поток данных с точным временем позаботился обо всем остальном. и помещая эти данные как можно ближе в гигантский файл размером 740 МБ, который должен был быть. «Глупый игрок» становился все более и более простым, поскольку я обнаружил, что предварительный расчет того, где и когда будут поступать данные, устранял 97% того, что требовалось приложению игрока. Финальное приложение «тупой игрок» было всего 57K, и оно представляло документальные фильмы «в стиле Кена Бернса», просто ожидая, что данные будут волшебным образом там, где они должны быть, и просто используя их. Все, что можно было предварительно рассчитать, сводилось к тому, что «тупой игрок» превращался в чрезвычайно простой оператор переключения между отображением и звуковыми буферами. Поток данных с точным временем позаботился обо всем остальном. и помещая эти данные как можно ближе в гигантский файл размером 740 МБ, который должен был быть. «Глупый игрок» становился все более и более простым, поскольку я обнаружил, что предварительный расчет того, где и когда будут поступать данные, устранял 97% того, что требовалось приложению игрока. Финальное приложение «тупой игрок» было всего 57K, и оно представляло документальные фильмы «в стиле Кена Бернса», просто ожидая, что данные будут волшебным образом там, где они должны быть, и просто используя их. Все, что можно было предварительно рассчитать, сводилось к тому, что «тупой игрок» превращался в чрезвычайно простой оператор переключения между отображением и звуковыми буферами. Поток данных с точным временем позаботился обо всем остальном. «Глупый игрок» становился все более и более простым, поскольку я обнаружил, что предварительный расчет того, где и когда будут поступать данные, устранял 97% того, что требовалось приложению игрока. Финальное приложение «тупой игрок» было всего 57K, и оно представляло документальные фильмы «в стиле Кена Бернса», просто ожидая, что данные будут волшебным образом там, где они должны быть, и просто используя их. Все, что можно было предварительно рассчитать, сводилось к тому, что «тупой игрок» превращался в чрезвычайно простой оператор переключения между отображением и звуковыми буферами. Поток данных с точным временем позаботился обо всем остальном. «Глупый игрок» становился все более и более простым, поскольку я обнаружил, что предварительный расчет того, где и когда будут поступать данные, устранял 97% того, что требовалось приложению игрока. Финальное приложение «тупой игрок» было всего 57K, и оно представляло документальные фильмы «в стиле Кена Бернса», просто ожидая, что данные будут волшебным образом там, где они должны быть, и просто используя их. Все, что можно было предварительно рассчитать, сводилось к тому, что «тупой игрок» превращался в чрезвычайно простой оператор переключения между отображением и звуковыми буферами. Поток данных с точным временем позаботился обо всем остальном. сокращение «тупого игрока» до предельно простого оператора переключения между отображением и звуковыми буферами. Поток данных с точным временем позаботился обо всем остальном. сокращение «тупого игрока» до предельно простого оператора переключения между отображением и звуковыми буферами. Поток данных с точным временем позаботился обо всем остальном.

Мы доставили вовремя. Это была одна из первых успешных постановок CD-I, и мы продолжили делать еще 12. В среднем они длились 7 часов, при этом этот «потоковый файл в реальном времени» воспроизводился несколько раз, фильтруя фрагменты 2К по той части мультимедиа, с которой потребитель взаимодействовал в данный момент. Каждое произведение было также переписано на 7 языках в дополнение к оригинальному английскому.

Когда я работал в Electronic Arts, я использовал метод предварительного вычисления времени выполнения для 3D-версии Road Rash. У 3DO плеера были схожие проблемы с памятью и стандартными библиотеками. И все же я снова использовал эту технику для экранов вне поля для гольфа в Tiger Woods PGA Golf.

| |



Онлайн-курс
«Машинное обучение для людей»
Один из самых трендовых курсов в сфере Цифровой экономики.