Jump to content

Microsoft Талисман

Talisman — это проект Microsoft по созданию новой архитектуры 3D-графики, основанной на быстром размещении 2D-«частичных изображений» на экране, адаптации мозаичного рендеринга . Теоретически такой подход мог бы значительно сократить объем пропускной способности памяти, необходимой для 3D-игр, и тем самым привести к более дешевым графическим ускорителям . Проект состоялся во время внедрения первых высокопроизводительных 3D-ускорителей, которые быстро превзошли Talisman как по производительности, так и по цене. Никакие системы на базе Talisman никогда не выпускались коммерчески, и в конце 1990-х годов проект был закрыт.

Описание [ править ]

Обычное 3D [ править ]

Создание 3D-изображения для отображения состоит из ряда шагов. Сначала отображаемые объекты загружаются в память из отдельных моделей . Затем система отображения применяет математические функции для преобразования моделей в общую систему координат — картину мира . На основе этого взгляда на мир создается серия многоугольников (обычно треугольников), которые аппроксимируют исходные модели, если смотреть с определенной точки зрения — камеры . Затем система композитинга создает изображение, визуализируя треугольники и применяя текстуры снаружи. Текстуры — это небольшие изображения, которые наносятся на треугольники для придания реалистичности. Полученное изображение затем комбинируется с различными специальными эффектами и перемещается в буферы дисплея. Этот базовый концептуальный макет известен как конвейер отображения .

В общих чертах изображение мало меняется от одного кадра к другому; как правило, при любом переходе от кадра к кадру объекты на дисплее, скорее всего, слегка сдвинутся, но их форма и текстура вряд ли вообще изменятся. Изменение геометрии — относительно легкая операция для ЦП , загрузка текстур из памяти значительно дороже, а последующая отрисовка полученного кадра во фреймбуфер — самая затратная операция из всех.

Например, рассмотрим настройки рендеринга той эпохи с 24-битным цветом, с базовым 3D-композицией с трилинейной фильтрацией и без сглаживания : при разрешении 640 x 480 потребуется 1900 Мбит/с пропускной способности памяти; при разрешении 1024 x 768 потребуется 4900 Мбит/с. Ожидается, что даже базовое сглаживание примерно удвоит эти цифры. [1] Для справки: от SGI современные на тот момент машины RealityEngine2 имели высокую на тот момент пропускную способность памяти около 10 000 Мбит/с, что и стало причиной того, что эти машины широко использовались в 3D-графике. Типичный ПК того времени, использующий AGP 2X, мог обеспечить скорость всего 508 Мбит/с.

Первой атакой на эту проблему стало введение графических ускорителей , которые занимались хранением и отображением текстур. Эти карты, как и оригинальная Voodoo Graphics , заставляли ЦП пересчитывать геометрию для каждого кадра, а затем отправлять результирующую серию координат на карту. Затем карта выполнила остальную часть операции; применение текстур к геометрии, рендеринг кадра, применение фильтрации или сглаживания и вывод результатов в локальный буфер кадров. Потребности в полосе пропускания в такой системе были резко снижены; для сцены с 10 000 треугольников может потребоваться от 500 до 1000 кбит/с, в зависимости от того, сколько геометрических точек могут быть общими между треугольниками.

Плиточный рендеринг [ править ]

По мере увеличения сложности сцены необходимость заново создавать геометрию для того, что по сути представляло собой фиксированный набор объектов, сама по себе стала узким местом. Гораздо большего улучшения производительности можно было бы добиться, если бы видеокарта также сохраняла и манипулировала полигонами. В такой системе весь конвейер отображения может быть запущен на карте, требуя минимального взаимодействия с процессором. Для этого потребуется, чтобы видеокарта была намного «умнее»; в отличие от очень простых операций, связанных с применением текстур, карта теперь должна иметь полноценный процессор, способный вычислять функции, используемые при 3D-моделировании. В то время ряд компаний изучали этот путь, так называемые карты « трансформации и освещения » или T&L, но сложность и стоимость систем оказались значительными.

Одним из решений, которое изучалось в этот период, была концепция тайлового рендеринга . Это было основано на наблюдении, что небольшие изменения положения камеры можно смоделировать, манипулируя небольшими 2D-изображениями, «плитами». Например, перемещение камеры в сцену можно смоделировать, взяв каждый тайл и немного увеличив его. Аналогично, другие движения в сцене можно смоделировать с применением соответствующего аффинного преобразования . Однако этот процесс является лишь приблизительным, поскольку по мере увеличения движения визуальная точность будет снижаться. Такая система может снизить необходимость пересчета геометрии в среднем каждые два-три кадра.

Проблема с этим подходом заключается в том, что не все тайлы обязательно должны каждый раз перерисовываться, а только те, которые содержат объекты, расположенные близко к камере. Если вся геометрия отправляется на карту, то эту задачу можно решить полностью на карте, но для этого потребуются карты, аналогичные по сложности системам T&L. Если геометрия находится под контролем ЦП, то в идеале карта должна иметь возможность запрашивать ЦП для повторного рендеринга только тех объектов в тайлах, которые устарели. Во многих случаях это потребует изменения конвейера рендеринга ЦП. В любом случае карте и/или драйверам необходимо знать о порядке и положении объектов, что обычно скрыто в коде.

Талисман [ править ]

Talisman представлял собой полный набор программного и аппаратного обеспечения, который пытался решить проблему мозаичного рендеринга. Система поделилась некоторой информацией о плитках и объектах внутри них, чтобы выяснить, какие плитки устарели. Если тайл устарел, процессору предлагалось повторно отрисовать объекты в этом тайле и отправить результаты обратно в драйвер, а затем на карту. После того, как определенный фрагмент был отображен на карте, он сохранялся на карте в сжатом формате, чтобы его можно было повторно использовать в будущих кадрах. Microsoft подсчитала, что каждый тайл можно повторно использовать в среднем примерно для четырех кадров, тем самым снижая нагрузку на процессор примерно в четыре раза.

В Talisman буферы изображений были разбиты на «куски» размером 32 x 32 пикселя, которые индивидуально визуализировались с использованием 3D-объектов и текстур, предоставляемых процессором. Указатели на фрагменты затем сохранялись в z-упорядоченном списке (спереди назад) для каждых 32 строк сканирования на дисплее. Одна из проблем заключается в том, что фрагменты не могут быть аккуратно «сшиты вместе» — проблема, которая иногда наблюдалась в различных видеоиграх с использованием программного рендеринга . Чтобы избежать этого, Talisman также сохранил отдельный «краевой буфер» для каждого фрагмента, в котором хранится область «переполнения», закрывающая пробелы в отображении.

Конвейер рендеринга [ править ]

В обычной 3D-системе геометрия периодически генерируется, отправляется на карту для компоновки, компонуется в кадровый буфер, а затем в конечном итоге захватывается видеооборудованием для отображения. Системы талисманов по существу обратили этот процесс вспять; Экран был разделен на полосы высотой в 32 строки, и пока видеооборудование рисовало одну из этих полос, оборудование вызывало сторону Талисмана и приказывало ей подготовить детали для следующей полосы.

Система отреагировала бы, извлекая любые фрагменты, которые были видны в этой полосе, учитывая текущее местоположение камеры. В типичном случае многие фрагменты будут скрыты другими фрагментами и могут быть проигнорированы во время композиции, что позволяет сэкономить время. В этом причина z-сортировки фрагментов, которая позволяет эффективно извлекать их в «порядке видимости». Если фрагменты можно было изменить без искажений, вызывалось соответствующее аффинное преобразование для обновления фрагмента на месте. Если это было невозможно, скажем, из-за того, что камера слишком сильно сдвинулась с момента последнего полного обновления, процессору предлагалось предоставить новую геометрию для этого фрагмента, которую карта затем визуализировала и помещала обратно в хранилище.

У Talisman не было аналога фреймбуфера, который по требованию отображал фрагменты изображения непосредственно на экране по мере продвижения строки сканирования монитора вниз по экрану. Это интересный аналог Atari 2600 , который использует аналогичную систему для рендеринга 2D-изображений на экране, метод, известный как «гоночный луч». В обоих случаях это уменьшило объем необходимой памяти и пропускную способность памяти, используемую между системой отображения и видеооборудованием. В обоих случаях это также потребовало значительно более тесной интеграции между видеосистемой и программами, на которых она работает. В случае с Talisman программы должны были хранить свои объекты в определенном формате, который понимали драйверы программного обеспечения Talisman, что позволяло быстро извлекать их из памяти во время прерываний .

История [ править ]

Введение [ править ]

Проект Talisman был попыткой Microsoft коммерциализировать концепции, над которыми экспериментировали в течение некоторого времени. В частности, систему PixelFlow, разработанную в исследовательской лаборатории Hewlett-Packard в Университете Северной Каролины в Чапел-Хилл . прямым родителем Talisman можно считать [2]

Когда Talisman впервые был представлен широкой публике на конференции SIGGRAPH в 1996 году , они пообещали резкое снижение стоимости реализации графической подсистемы. [3] Они планировали работать с поставщиками, чтобы продать концепцию Talisman для включения в системы отображения других компаний. То есть предполагалось, что Talisman станет частью более крупного медиа-чипа, а не целой 3D-системы, которая будет стоять отдельно в системе. Их базовая система будет поддерживать 20–30 000 полигонов на дисплее с разрешением 1024 x 768 при разрешении 32 бит/пиксель, со скоростью рендеринга полигонов 40 Мпикселей/с и скоростью компоновки слоев изображения 320 Мпикселей/с.

Эскаланте [ править ]

В то время Microsoft работала с несколькими поставщиками над разработкой эталонной реализации, известной как Escalante . Samsung и 3DO вместе работали над разработкой однокристального DSP -процессора сигналов (MSP), сочетающего в себе функциональность Talisman с дополнительными мультимедийными функциями. Cirrus Logic предоставит чип СБИС , который будет извлекать данные, помещенные в память MSP, применять эффекты и отправлять их на отображение. Этот чип, известный как «Процессор полигональных объектов» (POP), периодически опрашивался другим чипом Cirrus Logic, «Композитором слоя изображения» (ILC), который был привязан к видеосхеме. Кроме того, Escalante намеревался использовать 4 МБ RDRAM на двух 8-битных каналах с частотой 600 МГц, обеспечивая пропускную способность 1,2 ГБ/с. [4] Позже в борьбу вступили Philips с запланированной новой версией своего процессора TriMedia , в которой большая часть Talisman была реализована в одном процессоре, и Trident Microsystems с аналогичными планами.

Именно в разгар проекта Talisman жанр шутеров от первого лица начал выходить на первый план в играх. Это создало рыночный спрос на ускорители, которые можно было бы использовать с существующими играми с минимальными изменениями. К тому времени, когда эталонный дизайн Escalante был готов к производству, рыночные силы уже привели к появлению серии новых дизайнов карт с настолько улучшенными характеристиками, что карты Talisman просто не могли конкурировать. Карты с большим объемом оперативной памяти , предназначенные для обеспечения чрезвычайно высоких скоростей, решили проблему пропускной способности, просто форсируя проблему, вместо того, чтобы пытаться решить ее с помощью умной реализации.

Кроме того, концепция Talisman требовала тесной интеграции между системой отображения и использующим ее программным обеспечением. В отличие от новых 3D-карт, появившихся на рынке в то время, системы Talisman должны были иметь возможность запрашивать процессор для повторной визуализации частей изображения, чтобы обновить их фрагменты. Это требовало, чтобы игры имели в памяти определенную организацию, чтобы отвечать на эти запросы. Чтобы помочь разработчикам в этой задаче, Direct3D был изменен, чтобы более точно соответствовать потребностям Talisman. Однако для любой уже написанной игры или для тех, которые не хотели быть привязанными к Талисману, это делало систему D3D медленнее и значительно менее интересной.

Исчезновение [ править ]

В результате этих изменений Talisman так и не стал коммерческим продуктом. Cirrus Logic и Samsung отказались от этой системы где-то в 1997 году, в результате чего Microsoft отказалась от планов выпустить Escalante в 1997 году, а внешним наблюдателям показалось, что весь проект мертв. [5]

Однако вскоре после этого произошло краткое возрождение, когда Fujitsu заявила, что работает над однокристальной реализацией, которая будет доступна в 1998 году, и появились слухи о подобных проектах в S3 Graphics и ATI Technologies . [6] Ни одна из этих систем так и не была поставлена, и Талисман был тихо убит. Это очень порадовало сторонних поставщиков графических ускорителей, а также людей из Microsoft, которые поддерживали их на рынке с помощью DirectX .

Наследие [ править ]

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

Ссылки [ править ]

  1. ^ Аллен Боллман, «Что такое талисман?» Архивировано 13 сентября 2006 г. в Wayback Machine , Microsoft Research, SIGGRAPH, 1996 г.
  2. ^ Комбинированный выпуск: Microsoft Talisman «переиздает» концепцию Chapel Hill
  3. ^ Джей Торборг и Джеймс Каджия, «Талисман: товарная 3D-графика в реальном времени для ПК», SIGGRAPH 1996
  4. ^ Фрэнсис Вейл, Intel MMX против Microsoft Talisman: Эбботт и Костелло делают мультимедиа , 21-е место; Сеть VXM, 1997 г.
  5. ^ Фрэнсис Вейл, Талисман, Часть II: Microsoft все еще не понимает 3D-изображения , 21-е место; Сеть VXM, 1997 г.
  6. ^ Марк Хэчман, F"ujitsu, чтобы воплотить в жизнь талисман Microsoft" , Electronic Buyer's News , 16 сентября 1998 г.

Внешние ссылки [ править ]

  • Chicken Crossing , короткометражный фильм, созданный в реальном времени с использованием концепций Talisman, представленный на SIGGRAPH '96.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7316671479397c133c8f6841c5bf0f19__1714087200
URL1:https://arc.ask3.ru/arc/aa/73/19/7316671479397c133c8f6841c5bf0f19.html
Заголовок, (Title) документа по адресу, URL1:
Microsoft Talisman - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)