Savage3D: новый графический чипсет от S3

Компания S3, Inc. имеет долгую историю, полную взлетов и неудач. Еще пару лет назад S3 была одним из лидеров в области компьютерной графики и одним из крупнейших производителей графических чипсетов. Однако, за последние два года, имидж компании несколько потускнел. Благодаря низкой цене и широкой поддержке дружественных китайских производителей, платы с чипсетами от S3 широко распространены не только в России, но и по всему миру. Многие производители компьютеров интегрируют чипсеты S3 в свои системные платы. Но с наступлением эры 3D, пионер в области графических чипсетов стал здавать свои позиции. С именем S3 стали ассоциировать недорогие, но достаточно надежные и производительные чипсеты для офисных приложений. Да, для именно для офисных, т.е. для работы с 2D графикой, но никак не с 3D, а значит владельцы видеоплат с S3 "на борту" не могли наслаждаться игрой в новейшие трехмерные игры. А ведь все начиналось именно с S3, когда в конце 1995 года была запущена в производство серия чипсетов ViRGE. Идея была своевременная, однако не получив соответствующей поддержки со стороны разработчиков приложений, S3 стала терять рынок. Уже к концу 1996 года, стало очивидно, что Virge не оправдал возложенные на него надежды. Именно тогда и появился графический чипсет Voodoo от малоизвестной фирмы 3Dfx и пользователи смогли наконец почувствовать, что такое 3D графика в действии, а не только в рекламных обещаниях. Да, у Virge хорошая производительность в 2D и на платах с этим чипсетом прекрасно крутится видео, да и качество выводимого изображение не вызывает нареканий. Но вот 3D…

Что S3 вынесла из всей эпопеи с Virge, так это то, что еще одного провала на рынке 3D допустить нельзя. Проведя рекогносцировку и основательно подготовившись, S3 перешла вновь в наступление.

Итак, S3 создала новый чипсет -- Savage3D. Представляя этот продукт S3 намеревается доказать, что она не потеряла способность создавать что-то новое и восстановить утерянное реноме лидера рынка графических решений.

Savage3D представляет собой 128-разрядный чипсет с интегрированной поддержкой 2D/3D акселерации и обработкой видео. Благодаря использованию передовых технологий, Savage3D может захватить ощутимо большую часть рынка 3D графических чипсетов. Причем вероятными конкурентами Savage3D будут чипсеты RivaTNT, Voodoo2 и G200, т.е. борьба пойдет именно за лакомый кусок hi-end игрового рынка.

Savage3D имеет большой потенциал для штурма такой крепости, как сегодняшний рынок 3D видеокарт. Он воплощает в себе все лучшее из сегодняшних технологий, как то:

  • 3D ядро, работающее на частоте 125 Мгц
  • 128-bit двухканальный конвейер рендеринга
  • Интегрированный 250 Мгц RAMDAC c гамма коррекцией
  • Однопроходной рендеринг, позволяющий использовать несколько уровней детализации накладываемых текстур с использованием трилинейной фильтрации (Trilinear MipMapping).
  • Triangle Setup Engine (Генератор геометрии), выдающий 5 миллионов треугольников в секунду
  • Скорость закраски полигонов с использованием трилинейной фильтрации (Trilinear Fill Rate) — 125 млн. пикселов в секунду
  • Поддержка AGP x2, включая SBA (Sideband Addressing) и DME (DiME)
  • В новом чипсете будет реализована технология сжатия текстур от S3 (S3 texture compression — S3TC).
  • До 8Мб локальной памяти на карте (для кадрового буфера)
  • Поддержка 33 MHz шины PCI 2.1 и управление питанием шины
  • Flash ROM для обновления BIOS
  • Поддержка DDC
  • Единое интегрированное решение в чипе с 256 выводами, с размерами 27x27 мм типа PBGA

Разработчики заявляют, что Savage3D будет прекрасно работать, например на системах с процессором P200, а с переходом на PII-400 производительность возрастет. Вообщем, масштабируемость налицо. Кстати, заявлено, что под Windows98 чипсет Savage3D будет работать лучше, чем под Win95, т.е. все программное обеспечение изначально затачивается под новые ОС.

Чипсет Savage3D ориентирован и оптимизирован для использования интерфейса AGP, а в свете того, что с развитием игровой индустрии размеры текстур будут только расти, корректная реализация поддержки AGP будет иметь решающее значение. В противном случае, возможна ситуация, когда в работе конвейера 3D рендеринга именно пропускная способность AGP может стать узким местом.

Итак, посмотрим поближе на архитектуру чипсета Savage3D, что бы стало яснее, что же нам предлагается.

Ускорение 2D

Известно, что предыдущие графические чипсеты от S3 славились своей хорошей производительностью в 2D приложениях под Windows. Ожидается, что традиция будет продолжена. Savage3D содержит такой же высокопроизводительный 128-разрядный движок для 2D, как и не получивший широкого распространения, ориентированный на бизнес-приложения чипсет Trio3D.

На аппаратном уровне поддерживаются:

  • поблочная передача данных (Bitblt)
  • прорисовка линий
  • закраска полигонов
  • панорамирование и прокрута (Panning/Scolling)
  • аппаратный курсор
  • акселерация поддерживается в режимах 8-, 16-, и 32-битного представления цвета

Вообщем тут все понятно, набор стандартный, другого ничего и нельзя было ожидать. Уж чего-чего, а 2D чипсеты S3 делает давно и хорошо. Что же нам предлагается по части 3D?

Ускорение 3D

Оснащенный быстрым 128-разрядным конвейером рендеринга, Savage3D представляет собой новую архитектуру, в которой некоторые функции выполняются за один такт, что должно положительным образом сказаться на производительности и все это в сочетании с высококачественным выводом изображений. К сожалению, нет поддержки однопроходного мультитекстурирования. Но, нам обещают, что на общей производительности это не отразится.

На аппаратном уровне поддерживаются:

  • Однопроходная трилинейная фильтрация
  • Сжатие текстур
  • Составные текстуры (мультитекстурирование)
  • 8-битные палетезированные текстуры
  • Рендеринг и вывод изображений при истинном представлении цвета
  • Растеризация пустот и концентраций в 16-битных режимах
  • Отраженный свет и размытые тени
  • Коррекция перспективы
  • Передачи информации сразу о наборе смежных треугольников, для каждого из которых определяется лишь одна вершина (triangle strip and fans)
  • Прозрачность и полупрозрачность (Alpha Blending Modes)
  • Сглаживание краев (Edge Anti-Aliasing)
  • Наложение тумана по вершинам полигонов и попиксельно
  • 16- или 24-битная Z-буферизация
  • Затенение, специализированные (процедурные) текстуры и атмосферные эффекты

Частичная аппаратная поддержка:

  • bump-mapping (рельефные текстуры)
  • anisotropic filtering (анизотропная фильтрация)
  • texture morphing (преобразование текстур)
  • reflection mapping (текстуры с отражениями)
  • environment mapping (ландшафтные текстуры)

Применение трилинейной фильтрации, производящейся за один такт, должно обеспечить высокую производительность в 3D вместе с отличным качеством изображения. Благодаря наличию в Savage3D рендеринга при истинном представлении цвета, т.е. использованию 16 млн. цветов вместо традиционных 64К цветов, достигается более яркое и реалистичное изображение. Вообще стоит заметить, что с появлением i740 рендеринг в 16-битном цвете стал историей. Будущее только за true color, т.е. за истинным цветом. Архитектура Savage3D оптимизирована для использование AGP х2 для передачи текстур.

Тесты первых вариантов плат на Savage3D наглядно показали, что качество выводимого изображения новым чипсетом S3 лучше, чем например, у сегодняшнего лидера 3D рынка — Voodoo2. Такой результат достигается за счет использования при рендеринге операций над вещественными числами с высокой точностью вычислений. Много сил было затрачено на то, что бы добиться такой точности результатов вычислений на всем протяжении конвейера рендеринга, причем основной режим работы — 24 битный. И, конечно же, основную роль в улучшении качества изображения играет применение фильтрации текстур. В частности, обсчет уровней детализации производится на уровне пикселей с адекватным количеством бит, что гарантирует корректное проведение трилинейной фильтрации. Плюс ко всему, использование трилинейной фильтрации одновременно с задействованием других функций не будет приводить к снижению показателей скорости закраски полигонов, а значит при высоком качестве изображения игры не будут притормаживать.

Triangle Setup Engine

Triangle Setup Engine, движок, или установочный генератор положения треугольников в пространстве.

Применение усовершенствованного движка должно обеспечить требуемую для современных 3D акселераторов производительность, что должно положительным образом сказаться на реалистичности игр и интерактивных приложений. Новый 3D движок оптимизирован для использования возможностей AGP, в частности для хранения текстур в системной памяти, и обеспечивает максимальную производительность при использовании многих 3D функций, таких как трилинейная фильтрация, отраженный свет и затенение с размытием, коррекция перспективы и затуманивание. В результате, вполне обоснованно ожидать, что Savage3D будет поддерживаться большинством современных и будущих 3D игр и приложений на должном уровне.

S3TC

Технология сжатия текстур S3TC (S3 Textures Compression) разработана S3 и уже лицензирована MS. S3TC будет поддерживаться в API DirectX (начиная с версии 6.0) в качестве стандартной техники сжатия. Разумеется, первым чипсетом с реализацией технологии сжатия текстур на аппаратном уровне является Savage3D.

Опишим в кратце, что из себя представляет технология S3TC.

Технология S3TC влияет положительным образом на две важные вещи: производительность и качество изображения.

При использовании S3TC уменьшаются требования к размерам памяти для хранения текстур. Причем необходимые объемы памяти могут уменьшиться в 4 и 8 раз. Значение коэффициента определяется так: если изначально использовались 32-битные текстуры, то объем требуемой памяти для их хранения сокращается в 8 раз, а если текстуры были 16-битными, то в 4 раза. Вообщем, сжатие всегда происходит на 4 бита/тексел. Высвобождаемые объемы памяти разработчик может использовать для:

  • Увеличения в четыре раза разрешения всех текстур в игре и использования нескольких уровней детализации текстур вместо одного, который можно было использовать при том же объеме памяти, используемого для хранения текстур. Выгода в этом случае в том, что изображение получается более четким, гладким (без неровностей на стыках текстур) и более детализированным.

    Это скриншот из специально созданного уровня Quake2, используются 20 Мб текстуры


  • Использования тройной буферизации вместо двойной. В этом случае выгода в том, что при отключенной синхронизации с вертикальной разверткой монитора вывод изображения, а точнее смена кадров, все равно будет происходить плавно и без разрывов. При использовании только двойной буферизации, приходится включать синхронизацию с частотой обновления экрана, а это снижает производительность акселератора, т.е. значение fill rate снижается. При использовании тройной буферизации синхронизацию можно отключить, при этом изображение будет изменяться без разрывов, а снижения производительности не будет.

  • Вывода изображений в 24-битном представлении цвета и с использованием 24-битного Z-буфера. Рендеринг в 24-битном цвете позволяет избежать размывание растра и улучшает качество создаваемых за несколько проходов изображений (например, текстуры ландшафтов). Причем, если есть необходимость, то можно увеличить количество бит, определяющих каждую компоненту цвета с целью избежать потерь в точности цветопередачи при каждом проходе. Использование 24-битного Z-буфера, в некоторых случаях, также может положительно сказаться на улучшение качества изображения.
    Images show off Savage3D's 24-bit true color rendering

  • Увеличения разрешения создаваемого на экране изображения. Например, при использовании 8 Мб кадрового буфера, если изображение в игре создается с разрешением 640x480 при 16-битном представлении цвета, с двойной буферизацией и с использование 16-битного Z-буфера -- для хранения текстур остается около 6.25 Мб свободной памяти. Если разработчик игры возьмет эти 6.25 Мб и сожмет их с коэффициентом 4, т.е. в 4 раза, то общий объем текстур станет равен 1.56 Мб. Теперь, когда имеются уже сжатые текстуры, требуемый для их хранения объем памяти сократился до величины в 1.56 Мб, а значит теперь для вывода изображения можно использовать разрешение 1024x768 при 16-битном цвете, с тройной буферизацией и 16-битным Z-буфером, причем для всего этого требуется 6.0 Мб памяти. Итак, добавим к этим 6 Мб еще 1.56 Мб, требуемых для хранения сжатых текстур, и получим всего 7.56 Мб задействованной локальной памяти. При этом, у нас в запасе остается еще 0.44 Мб свободной памяти в кадровом буфере.

Заметим, что все эти варианты нельзя использовать одновременно, но возможны их некоторые комбинации.

Сжатым текстурам требуется меньшая ширина полосы пропускания для их считывания, так как только 1/4 или 1/8 часть от нормального размера текстурных данных должна быть считана для формирования текстурного пикселя (текселя). В итоге, увеличивается скорость, с которой происходит заливка полигонов (fill rate), так как именно память и шина данных зачастую являются узким местом в системе, а не вычислительные возможности акселератора. Это особенно справедливо при перекачке текстур через шину AGP. Максимальные значения скорости передачи данных через AGP-2x соответствуют 512 Мб/сек, а при 4-х или 8-ми кратном сжатии текстур, мы получим полосу пропускания через ту же AGP-2x эквивалентную значениям от 2.0 Гб/сек до 4.0 Гб/сек. В итоге, мы можем получить потрясающий прирост производительности при хранении сжатых текстур в системной памяти или в локальной памяти видеоадаптера (в кадровом буфере).

В этом месте резонно задать вопрос, а как будет работать технология сжатия текстур (и будет ли) на платах с чипсетами, не поддерживающими S3TC, но поддерживающими DirectX 6.0?

В DirectX 6.0 будет встроенный интерфейс для сжатия (компрессии) и декомпрессии "на лету". Декомпрессия с целью восстановить изначальный вид текстуры, это просто умножение на 2 значений каждых 16-ти текселей, потом выбирается результирующее значение и получается один новый тексель. Вообщем, процесс декомпрессии очень прост и чрезвычайно быстро выполняется программным путем. Сам же процесс загрузки текстур особенно не вляет на производительность. Поэтому, если нет аппаратной поддержки декомпрессии сжатых текстур, то будет вызываться функция API для выполнения декомпрессии текстур и загрузки их в ту область памяти, куда будет указано и, скорее всего, в формате ARGB1555 (т.е. 1 бит на прозрачность и по 5 бит на каждую компоненту цвета).

Если же чипсет поддерживает копрессию текстур, драйвер просто скопирует текстуру в кадровый буфер или в системную память через AGP, а акселератор считает эти сжатые данные в процессе создания изображения (рендеринга) и произведет декомпрессию блок за блоком в требуемой последовательности. Приложению требуется лишь пометить текстуру новым кодом DXT1 4CC, что бы обозначить, что текстура обработана драйвером и переведена в любой другой формат текстур (RGB565, RGB888 и т.д.).

Кстати, Microsoft поставляет вместе с DirectX6 SDK (комплект разработчика приложений) специальный плагин сжатия по технологии S3TC для Photoshop и другие инструментарии для разработчиков и художников, с помощью которых они смогут воспользоваться всеми преимуществами от применения компрессии текстур. И действительно, нет никаких видимых причин, что бы не использовать технологию сжатия текстур повсеместно, так как декомпрессия поддерживается на уровне API и выполняется автоматически, если видеоадаптер не поддерживает технологию S3TC, при этом качество изображений остается отличным.

В зависимости от размера текстур, уже cегодняшние игры могут запускаться быстрее на 5-25% при использовании карт, основанных на чипсете Savage3D. Так, игра G-Police от Psygnosis с ее режимом "Extreme Texture Mode", является прекрасным примером приложения, написанного без использования DX6 или специальных инструкций, обеспечивающих поддержку сжатия текстур, которое уже сегодня может выполняться быстрее на плате с чипсетом Savage3D.

Дополнительную информацию о технологии S3TC можно прочитать здесь.



Локальная память

Одной из важнейших составляющих любой 3D платы является память. Savage3D имеет высокоскоростной интерфейс, поддерживающий два типа памяти: SDRAM и SGRAM. Укажем некоторые подробности:

  • Поддерживается 125 MHz память с синхронной передачей данных, типа SGRAM с блочной записью
  • 64-разрядная синхронная шина памяти
  • Поддержка 2-, 4-, или 8 MB локальной памяти (кадровый буфер)
  • Можно использовать более дешевую память типа SDRAM
  • Расширение памяти осуществляется модулями типа SO-DIMM
  • Поддерживаются чипы памяти, с организацией 512Kx32 или 256Kx32

Кстати, использование основной системной памяти для хранения текстур является главным режимом работы Savage3D, но при этом, если текстуры имеют маленькие размеры, то они могут храниться и в локальной памяти.

Чипсет Savage3D будет работать на тактовой частоте 125 МГц, при этом скорость работы видеопамяти будет зависить от желаний конкретного производителя видеоадаптера. При покупке, не забудьте убедиться, что производитель видеоадаптера на базе чипсета Savage3D не сэкономил на локальной памяти.

DVD и видео конференции

Архитектура Savage3D обеспечивает высококачественное проигрывание потоков MPEG-2, используемых в интерактивных DVD приложениях и видеоконференциях. Видеоакселератор разгружает CPU за счет преобразования из планарного в сжатый формат с компенсацией смещений.

Для поддержки видео имеется:

  • Масштабирование изображения без потерь качества
  • Подсветка и полупрозрачность для наложения изображений
  • Оптимизация для работы с программными декодерами DVD
  • Обработка потоков
  • Поддержка мультиоконного видео
  • Поддержка видеотекстур MPEG-2
  • Управление яркостью, насыщенностью и контрастностью цвета
  • Наличие 60MHz VIP видео порта обеспечивает поддержку разрешений для HDTV

Использование улучшенного алгоритма масштабирования обеспечивает качественное полноэкранное проигрывание видео. Поддержка проигрывания видео одновременно в нескольких окнах и зеркалирование изображений делает платы на базе Savage3D идеальным решением для видеоконференций. Специальный, 60 MHz VIP видео порт обеспечивает недорогое решение для подключения стандпртных MPEG-2 декодеров и систем оцифровки видео.

Технология обработки потоков

Разработанная S3 технология обработки потоков (Streams Processor Technology) обеспечивает растягивание, фильтрацию и пространственно-цветовое преобразование в формате YUV для полноэкранного проигрывания видео с использованием как программных кодеров/декодеров, так и аппаратных устройств обработки MPEG потоков. Это обеспечивает одновременное отображение графики и видео с различной глубиной представления цвета, равно как и с возможностью вертикальной интерполяции и управления цветом при проигрывании видео с высоким качеством изображения.

Поддержка вывода сигнала на ТВ

Встроенный ТВ-выход должен обеспечить поддержку нового стандарта качественного вывода изображения на телевизор без мерцания, за счет дополнительного сканирования линий с компенсационной фильтрацией в стандарте NTSC/PAL (а где же SECAM? :-[ ). Встроенный кодер Macrovision обеспечивает поддержку ТВ-выхода для композитного или S-video сигналов, что должно обеспечить широкое распространение в области настольных систем (кодер поставляется как опция). Программируемый трехступенчатый фильтр мерцания вместе с компенсацией сканирования вертикальных линий гарантирует отличное качество ТВ-сигнала на выходе. Имеется возможность одновременного вывода изображения на монитор и ТВ.

Поддерживаемое программное обеспечение:

Как показала практика, не достаточно иметь хорошую архитектуру и возможности, нужна соответствующая поддержка со стороны разработчиков приложений и API. Естественным образом напрашивается вопрос: будет ли Savage3D поддерживать только стандартные интерфейсы Direct3D и OpenGL или планируется создать собственный, так называемый натив API, наподобии GLide. Как выяснилось, планируется поддержка на уровне ICD не только D3D и OpenGL, а так же специализированного API S3 MeTAL (MTL — Metal Toolkit Library). Последний расчитан для использование в играх и приложениях, в первую очередь для того, что бы не дожидаясь реализации поддержки всех возможностей Savage3D в стандартных API, разработчики смогли бы использовать весь набор имеющмихся в новом чипсете от S3 функций.

Поддерживаемые разрешения

Если внимательно посмотреть на параметры нового чипсета, то можно прийти к выводу, что Savage3D предоставляет пользователю большой выбор разрешений. Разработчики заявляют, что на их взгляд режим 1024x768 является предпочтительным. Почему? В принципе, платы на базе Savage3D могут работать с разрешением вплоть до 1600x1200 при 32-битном представлении цвета, а в 3D с разрешением 1600x1200 при 16-битном представлении цвета и 16-битным Z-буфером, но такое режим пока еще не поддерживается драйверами Direct3D. (На самом деле, в будущем планируется сделать возможным увеличение размера локальной памяти). К несчастью, реальность такова, что у большинства мониторов лишь декларирована поддержка разрешения 1600x1200, на самом деле в этом режиме они работают просто ужасно. Большинство пользователей не могут работать с разрешением, большим чем 1280x1024, так как не каждый готов заплатить порядка $3000 за крутой дисплей.

Вот таблица поддерживаемых разрешений:

 Объем локальной памяти
Разрешение/глубина цвета2 Mб4 Mб8 Mб
640x480x8/16/32xxx
800x600x8/16/32xxx
1024x768x8/16xxx
1024x768x32 xx
1280x1024x8xxx
1280x1024x16 xx
1280x1024x32  x
1600x1200x8xxx
1600x1200x16 xx
1600x1200x32  x

Подведем итоги:

Список предлагаемых возможностей впечатляет. А в сочетании с ожидаемой розничной ценой $99 за 4Мб и $149 за 8Мб версии оставляет только один вопрос: производительность и качество изображения в играх. Ведь не секрет, что именно то, как будут идти игры на новом чипсете станет решающим фактором, определит судьбу нового чипсета от S3. Разумеется, разработчики говорят, что Savage3D будет лучшим во всех отношениях. По крайней мере в "попугаях" платы на Savage3D уже бьют рекорды fps.

Вот некоторые цифры по производительности:

800x600S3 Savage3D12MB Voodoo2
Forsaken112.495.2
Turok77.764.0
Incoming87.388.1
Quake II Timedemo 160.463.3
Quake II специальный уровень с 20 Мб текстурами48.324.1

За счет аппаратной поддержки технологии сжатия текстур S3TC имеется возможность использования больших по размеру текстур, прокачиваемых через AGP. Использование трилинейной фильтрации гарантирует высокое качество изображений при 24-битном представлении цвета, причем без снижения значений fps.

Посмотрите на галерею скриншотов и демонстрацию применения аппаратных функций Savage3D.

В настоящий момент доступны только тестовые образцы плат на Savage3D, текущая версия чипсета имеет ревизию "А". Чипсет, который пойдет в промышленное производство будет иметь ревизию "В". При этом ожидается, что в окончательной версии будет достигнут прирост производительности от 5 до 40%, в зависимости от приложения.

На сегодняшний день, три производителя видеоадаптеров заявили о том, что они будут производить платы на базе Savage3D, а продажи намечены на август/сентябрь. Это Hercules, Diamond Multimedia и STB Systems. STB будет делать Nitro 3200. Hercules будет производить Terminator BEAST, причем на него уже заявлена цена в ретейл поставке на уровне $149.

Цена на сам чипсет Savage3D пока называется в районе $35 при поставках партиями в 100000 штук. Цифра вполне конкурентноспособна. Производственные мощности у S3 достаточно большие, где то на уровне возможностей Intel по производству чипсета i740. Хотя, конечно же S3 это не Intel и вряд ли решиться на серьезный демпинг в целях захвата рынка. В свое время, когда только все ожидали появления i740, мы задали вопрос о цене одному из представителей вендоров видеокарт. Он сказал буквально следующее: Intel, если захочет будет вообще бесплатно раздавать свой чипсет, так что заранее неизвестно, какя будет цена. Сегодня это $40, а через час цена будет $7. Причем понятно, что финансовые возможности Intel позволяют поощрять правильных вендоров низкой ценой и наказывать неугодных высокой. Кстати, в планы комиссии США по торговле входит расследование подобного поведение Intel. Поживем увидим…

Вообщем, главные определяющие параметры Savage3D это текстурирование и трилинейная фильтрация. Посмотрим, станут ли они залогом успеха.




17 июля 1998 Г.

Savage3D: новый графический чипсет от S3

Savage3D: новый графический чипсет от S3

Компания S3, Inc. имеет долгую историю, полную взлетов и неудач. Еще пару лет назад S3 была одним из лидеров в области компьютерной графики и одним из крупнейших производителей графических чипсетов. Однако, за последние два года, имидж компании несколько потускнел. Благодаря низкой цене и широкой поддержке дружественных китайских производителей, платы с чипсетами от S3 широко распространены не только в России, но и по всему миру. Многие производители компьютеров интегрируют чипсеты S3 в свои системные платы. Но с наступлением эры 3D, пионер в области графических чипсетов стал здавать свои позиции. С именем S3 стали ассоциировать недорогие, но достаточно надежные и производительные чипсеты для офисных приложений. Да, для именно для офисных, т.е. для работы с 2D графикой, но никак не с 3D, а значит владельцы видеоплат с S3 "на борту" не могли наслаждаться игрой в новейшие трехмерные игры. А ведь все начиналось именно с S3, когда в конце 1995 года была запущена в производство серия чипсетов ViRGE. Идея была своевременная, однако не получив соответствующей поддержки со стороны разработчиков приложений, S3 стала терять рынок. Уже к концу 1996 года, стало очивидно, что Virge не оправдал возложенные на него надежды. Именно тогда и появился графический чипсет Voodoo от малоизвестной фирмы 3Dfx и пользователи смогли наконец почувствовать, что такое 3D графика в действии, а не только в рекламных обещаниях. Да, у Virge хорошая производительность в 2D и на платах с этим чипсетом прекрасно крутится видео, да и качество выводимого изображение не вызывает нареканий. Но вот 3D…

Что S3 вынесла из всей эпопеи с Virge, так это то, что еще одного провала на рынке 3D допустить нельзя. Проведя рекогносцировку и основательно подготовившись, S3 перешла вновь в наступление.

Итак, S3 создала новый чипсет -- Savage3D. Представляя этот продукт S3 намеревается доказать, что она не потеряла способность создавать что-то новое и восстановить утерянное реноме лидера рынка графических решений.

Savage3D представляет собой 128-разрядный чипсет с интегрированной поддержкой 2D/3D акселерации и обработкой видео. Благодаря использованию передовых технологий, Savage3D может захватить ощутимо большую часть рынка 3D графических чипсетов. Причем вероятными конкурентами Savage3D будут чипсеты RivaTNT, Voodoo2 и G200, т.е. борьба пойдет именно за лакомый кусок hi-end игрового рынка.

Savage3D имеет большой потенциал для штурма такой крепости, как сегодняшний рынок 3D видеокарт. Он воплощает в себе все лучшее из сегодняшних технологий, как то:

  • 3D ядро, работающее на частоте 125 Мгц
  • 128-bit двухканальный конвейер рендеринга
  • Интегрированный 250 Мгц RAMDAC c гамма коррекцией
  • Однопроходной рендеринг, позволяющий использовать несколько уровней детализации накладываемых текстур с использованием трилинейной фильтрации (Trilinear MipMapping).
  • Triangle Setup Engine (Генератор геометрии), выдающий 5 миллионов треугольников в секунду
  • Скорость закраски полигонов с использованием трилинейной фильтрации (Trilinear Fill Rate) — 125 млн. пикселов в секунду
  • Поддержка AGP x2, включая SBA (Sideband Addressing) и DME (DiME)
  • В новом чипсете будет реализована технология сжатия текстур от S3 (S3 texture compression — S3TC).
  • До 8Мб локальной памяти на карте (для кадрового буфера)
  • Поддержка 33 MHz шины PCI 2.1 и управление питанием шины
  • Flash ROM для обновления BIOS
  • Поддержка DDC
  • Единое интегрированное решение в чипе с 256 выводами, с размерами 27x27 мм типа PBGA

Разработчики заявляют, что Savage3D будет прекрасно работать, например на системах с процессором P200, а с переходом на PII-400 производительность возрастет. Вообщем, масштабируемость налицо. Кстати, заявлено, что под Windows98 чипсет Savage3D будет работать лучше, чем под Win95, т.е. все программное обеспечение изначально затачивается под новые ОС.

Чипсет Savage3D ориентирован и оптимизирован для использования интерфейса AGP, а в свете того, что с развитием игровой индустрии размеры текстур будут только расти, корректная реализация поддержки AGP будет иметь решающее значение. В противном случае, возможна ситуация, когда в работе конвейера 3D рендеринга именно пропускная способность AGP может стать узким местом.

Итак, посмотрим поближе на архитектуру чипсета Savage3D, что бы стало яснее, что же нам предлагается.

Ускорение 2D

Известно, что предыдущие графические чипсеты от S3 славились своей хорошей производительностью в 2D приложениях под Windows. Ожидается, что традиция будет продолжена. Savage3D содержит такой же высокопроизводительный 128-разрядный движок для 2D, как и не получивший широкого распространения, ориентированный на бизнес-приложения чипсет Trio3D.

На аппаратном уровне поддерживаются:

  • поблочная передача данных (Bitblt)
  • прорисовка линий
  • закраска полигонов
  • панорамирование и прокрута (Panning/Scolling)
  • аппаратный курсор
  • акселерация поддерживается в режимах 8-, 16-, и 32-битного представления цвета

Вообщем тут все понятно, набор стандартный, другого ничего и нельзя было ожидать. Уж чего-чего, а 2D чипсеты S3 делает давно и хорошо. Что же нам предлагается по части 3D?

Ускорение 3D

Оснащенный быстрым 128-разрядным конвейером рендеринга, Savage3D представляет собой новую архитектуру, в которой некоторые функции выполняются за один такт, что должно положительным образом сказаться на производительности и все это в сочетании с высококачественным выводом изображений. К сожалению, нет поддержки однопроходного мультитекстурирования. Но, нам обещают, что на общей производительности это не отразится.

На аппаратном уровне поддерживаются:

  • Однопроходная трилинейная фильтрация
  • Сжатие текстур
  • Составные текстуры (мультитекстурирование)
  • 8-битные палетезированные текстуры
  • Рендеринг и вывод изображений при истинном представлении цвета
  • Растеризация пустот и концентраций в 16-битных режимах
  • Отраженный свет и размытые тени
  • Коррекция перспективы
  • Передачи информации сразу о наборе смежных треугольников, для каждого из которых определяется лишь одна вершина (triangle strip and fans)
  • Прозрачность и полупрозрачность (Alpha Blending Modes)
  • Сглаживание краев (Edge Anti-Aliasing)
  • Наложение тумана по вершинам полигонов и попиксельно
  • 16- или 24-битная Z-буферизация
  • Затенение, специализированные (процедурные) текстуры и атмосферные эффекты

Частичная аппаратная поддержка:

  • bump-mapping (рельефные текстуры)
  • anisotropic filtering (анизотропная фильтрация)
  • texture morphing (преобразование текстур)
  • reflection mapping (текстуры с отражениями)
  • environment mapping (ландшафтные текстуры)

Применение трилинейной фильтрации, производящейся за один такт, должно обеспечить высокую производительность в 3D вместе с отличным качеством изображения. Благодаря наличию в Savage3D рендеринга при истинном представлении цвета, т.е. использованию 16 млн. цветов вместо традиционных 64К цветов, достигается более яркое и реалистичное изображение. Вообще стоит заметить, что с появлением i740 рендеринг в 16-битном цвете стал историей. Будущее только за true color, т.е. за истинным цветом. Архитектура Savage3D оптимизирована для использование AGP х2 для передачи текстур.

Тесты первых вариантов плат на Savage3D наглядно показали, что качество выводимого изображения новым чипсетом S3 лучше, чем например, у сегодняшнего лидера 3D рынка — Voodoo2. Такой результат достигается за счет использования при рендеринге операций над вещественными числами с высокой точностью вычислений. Много сил было затрачено на то, что бы добиться такой точности результатов вычислений на всем протяжении конвейера рендеринга, причем основной режим работы — 24 битный. И, конечно же, основную роль в улучшении качества изображения играет применение фильтрации текстур. В частности, обсчет уровней детализации производится на уровне пикселей с адекватным количеством бит, что гарантирует корректное проведение трилинейной фильтрации. Плюс ко всему, использование трилинейной фильтрации одновременно с задействованием других функций не будет приводить к снижению показателей скорости закраски полигонов, а значит при высоком качестве изображения игры не будут притормаживать.

Triangle Setup Engine

Triangle Setup Engine, движок, или установочный генератор положения треугольников в пространстве.

Применение усовершенствованного движка должно обеспечить требуемую для современных 3D акселераторов производительность, что должно положительным образом сказаться на реалистичности игр и интерактивных приложений. Новый 3D движок оптимизирован для использования возможностей AGP, в частности для хранения текстур в системной памяти, и обеспечивает максимальную производительность при использовании многих 3D функций, таких как трилинейная фильтрация, отраженный свет и затенение с размытием, коррекция перспективы и затуманивание. В результате, вполне обоснованно ожидать, что Savage3D будет поддерживаться большинством современных и будущих 3D игр и приложений на должном уровне.

S3TC

Технология сжатия текстур S3TC (S3 Textures Compression) разработана S3 и уже лицензирована MS. S3TC будет поддерживаться в API DirectX (начиная с версии 6.0) в качестве стандартной техники сжатия. Разумеется, первым чипсетом с реализацией технологии сжатия текстур на аппаратном уровне является Savage3D.

Опишим в кратце, что из себя представляет технология S3TC.

Технология S3TC влияет положительным образом на две важные вещи: производительность и качество изображения.

При использовании S3TC уменьшаются требования к размерам памяти для хранения текстур. Причем необходимые объемы памяти могут уменьшиться в 4 и 8 раз. Значение коэффициента определяется так: если изначально использовались 32-битные текстуры, то объем требуемой памяти для их хранения сокращается в 8 раз, а если текстуры были 16-битными, то в 4 раза. Вообщем, сжатие всегда происходит на 4 бита/тексел. Высвобождаемые объемы памяти разработчик может использовать для:

  • Увеличения в четыре раза разрешения всех текстур в игре и использования нескольких уровней детализации текстур вместо одного, который можно было использовать при том же объеме памяти, используемого для хранения текстур. Выгода в этом случае в том, что изображение получается более четким, гладким (без неровностей на стыках текстур) и более детализированным.

    Это скриншот из специально созданного уровня Quake2, используются 20 Мб текстуры


  • Использования тройной буферизации вместо двойной. В этом случае выгода в том, что при отключенной синхронизации с вертикальной разверткой монитора вывод изображения, а точнее смена кадров, все равно будет происходить плавно и без разрывов. При использовании только двойной буферизации, приходится включать синхронизацию с частотой обновления экрана, а это снижает производительность акселератора, т.е. значение fill rate снижается. При использовании тройной буферизации синхронизацию можно отключить, при этом изображение будет изменяться без разрывов, а снижения производительности не будет.

  • Вывода изображений в 24-битном представлении цвета и с использованием 24-битного Z-буфера. Рендеринг в 24-битном цвете позволяет избежать размывание растра и улучшает качество создаваемых за несколько проходов изображений (например, текстуры ландшафтов). Причем, если есть необходимость, то можно увеличить количество бит, определяющих каждую компоненту цвета с целью избежать потерь в точности цветопередачи при каждом проходе. Использование 24-битного Z-буфера, в некоторых случаях, также может положительно сказаться на улучшение качества изображения.
    Images show off Savage3D's 24-bit true color rendering

  • Увеличения разрешения создаваемого на экране изображения. Например, при использовании 8 Мб кадрового буфера, если изображение в игре создается с разрешением 640x480 при 16-битном представлении цвета, с двойной буферизацией и с использование 16-битного Z-буфера -- для хранения текстур остается около 6.25 Мб свободной памяти. Если разработчик игры возьмет эти 6.25 Мб и сожмет их с коэффициентом 4, т.е. в 4 раза, то общий объем текстур станет равен 1.56 Мб. Теперь, когда имеются уже сжатые текстуры, требуемый для их хранения объем памяти сократился до величины в 1.56 Мб, а значит теперь для вывода изображения можно использовать разрешение 1024x768 при 16-битном цвете, с тройной буферизацией и 16-битным Z-буфером, причем для всего этого требуется 6.0 Мб памяти. Итак, добавим к этим 6 Мб еще 1.56 Мб, требуемых для хранения сжатых текстур, и получим всего 7.56 Мб задействованной локальной памяти. При этом, у нас в запасе остается еще 0.44 Мб свободной памяти в кадровом буфере.

Заметим, что все эти варианты нельзя использовать одновременно, но возможны их некоторые комбинации.

Сжатым текстурам требуется меньшая ширина полосы пропускания для их считывания, так как только 1/4 или 1/8 часть от нормального размера текстурных данных должна быть считана для формирования текстурного пикселя (текселя). В итоге, увеличивается скорость, с которой происходит заливка полигонов (fill rate), так как именно память и шина данных зачастую являются узким местом в системе, а не вычислительные возможности акселератора. Это особенно справедливо при перекачке текстур через шину AGP. Максимальные значения скорости передачи данных через AGP-2x соответствуют 512 Мб/сек, а при 4-х или 8-ми кратном сжатии текстур, мы получим полосу пропускания через ту же AGP-2x эквивалентную значениям от 2.0 Гб/сек до 4.0 Гб/сек. В итоге, мы можем получить потрясающий прирост производительности при хранении сжатых текстур в системной памяти или в локальной памяти видеоадаптера (в кадровом буфере).

В этом месте резонно задать вопрос, а как будет работать технология сжатия текстур (и будет ли) на платах с чипсетами, не поддерживающими S3TC, но поддерживающими DirectX 6.0?

В DirectX 6.0 будет встроенный интерфейс для сжатия (компрессии) и декомпрессии "на лету". Декомпрессия с целью восстановить изначальный вид текстуры, это просто умножение на 2 значений каждых 16-ти текселей, потом выбирается результирующее значение и получается один новый тексель. Вообщем, процесс декомпрессии очень прост и чрезвычайно быстро выполняется программным путем. Сам же процесс загрузки текстур особенно не вляет на производительность. Поэтому, если нет аппаратной поддержки декомпрессии сжатых текстур, то будет вызываться функция API для выполнения декомпрессии текстур и загрузки их в ту область памяти, куда будет указано и, скорее всего, в формате ARGB1555 (т.е. 1 бит на прозрачность и по 5 бит на каждую компоненту цвета).

Если же чипсет поддерживает копрессию текстур, драйвер просто скопирует текстуру в кадровый буфер или в системную память через AGP, а акселератор считает эти сжатые данные в процессе создания изображения (рендеринга) и произведет декомпрессию блок за блоком в требуемой последовательности. Приложению требуется лишь пометить текстуру новым кодом DXT1 4CC, что бы обозначить, что текстура обработана драйвером и переведена в любой другой формат текстур (RGB565, RGB888 и т.д.).

Кстати, Microsoft поставляет вместе с DirectX6 SDK (комплект разработчика приложений) специальный плагин сжатия по технологии S3TC для Photoshop и другие инструментарии для разработчиков и художников, с помощью которых они смогут воспользоваться всеми преимуществами от применения компрессии текстур. И действительно, нет никаких видимых причин, что бы не использовать технологию сжатия текстур повсеместно, так как декомпрессия поддерживается на уровне API и выполняется автоматически, если видеоадаптер не поддерживает технологию S3TC, при этом качество изображений остается отличным.

В зависимости от размера текстур, уже cегодняшние игры могут запускаться быстрее на 5-25% при использовании карт, основанных на чипсете Savage3D. Так, игра G-Police от Psygnosis с ее режимом "Extreme Texture Mode", является прекрасным примером приложения, написанного без использования DX6 или специальных инструкций, обеспечивающих поддержку сжатия текстур, которое уже сегодня может выполняться быстрее на плате с чипсетом Savage3D.

Дополнительную информацию о технологии S3TC можно прочитать здесь.



Локальная память

Одной из важнейших составляющих любой 3D платы является память. Savage3D имеет высокоскоростной интерфейс, поддерживающий два типа памяти: SDRAM и SGRAM. Укажем некоторые подробности:

  • Поддерживается 125 MHz память с синхронной передачей данных, типа SGRAM с блочной записью
  • 64-разрядная синхронная шина памяти
  • Поддержка 2-, 4-, или 8 MB локальной памяти (кадровый буфер)
  • Можно использовать более дешевую память типа SDRAM
  • Расширение памяти осуществляется модулями типа SO-DIMM
  • Поддерживаются чипы памяти, с организацией 512Kx32 или 256Kx32

Кстати, использование основной системной памяти для хранения текстур является главным режимом работы Savage3D, но при этом, если текстуры имеют маленькие размеры, то они могут храниться и в локальной памяти.

Чипсет Savage3D будет работать на тактовой частоте 125 МГц, при этом скорость работы видеопамяти будет зависить от желаний конкретного производителя видеоадаптера. При покупке, не забудьте убедиться, что производитель видеоадаптера на базе чипсета Savage3D не сэкономил на локальной памяти.

DVD и видео конференции

Архитектура Savage3D обеспечивает высококачественное проигрывание потоков MPEG-2, используемых в интерактивных DVD приложениях и видеоконференциях. Видеоакселератор разгружает CPU за счет преобразования из планарного в сжатый формат с компенсацией смещений.

Для поддержки видео имеется:

  • Масштабирование изображения без потерь качества
  • Подсветка и полупрозрачность для наложения изображений
  • Оптимизация для работы с программными декодерами DVD
  • Обработка потоков
  • Поддержка мультиоконного видео
  • Поддержка видеотекстур MPEG-2
  • Управление яркостью, насыщенностью и контрастностью цвета
  • Наличие 60MHz VIP видео порта обеспечивает поддержку разрешений для HDTV

Использование улучшенного алгоритма масштабирования обеспечивает качественное полноэкранное проигрывание видео. Поддержка проигрывания видео одновременно в нескольких окнах и зеркалирование изображений делает платы на базе Savage3D идеальным решением для видеоконференций. Специальный, 60 MHz VIP видео порт обеспечивает недорогое решение для подключения стандпртных MPEG-2 декодеров и систем оцифровки видео.

Технология обработки потоков

Разработанная S3 технология обработки потоков (Streams Processor Technology) обеспечивает растягивание, фильтрацию и пространственно-цветовое преобразование в формате YUV для полноэкранного проигрывания видео с использованием как программных кодеров/декодеров, так и аппаратных устройств обработки MPEG потоков. Это обеспечивает одновременное отображение графики и видео с различной глубиной представления цвета, равно как и с возможностью вертикальной интерполяции и управления цветом при проигрывании видео с высоким качеством изображения.

Поддержка вывода сигнала на ТВ

Встроенный ТВ-выход должен обеспечить поддержку нового стандарта качественного вывода изображения на телевизор без мерцания, за счет дополнительного сканирования линий с компенсационной фильтрацией в стандарте NTSC/PAL (а где же SECAM? :-[ ). Встроенный кодер Macrovision обеспечивает поддержку ТВ-выхода для композитного или S-video сигналов, что должно обеспечить широкое распространение в области настольных систем (кодер поставляется как опция). Программируемый трехступенчатый фильтр мерцания вместе с компенсацией сканирования вертикальных линий гарантирует отличное качество ТВ-сигнала на выходе. Имеется возможность одновременного вывода изображения на монитор и ТВ.

Поддерживаемое программное обеспечение:

Как показала практика, не достаточно иметь хорошую архитектуру и возможности, нужна соответствующая поддержка со стороны разработчиков приложений и API. Естественным образом напрашивается вопрос: будет ли Savage3D поддерживать только стандартные интерфейсы Direct3D и OpenGL или планируется создать собственный, так называемый натив API, наподобии GLide. Как выяснилось, планируется поддержка на уровне ICD не только D3D и OpenGL, а так же специализированного API S3 MeTAL (MTL — Metal Toolkit Library). Последний расчитан для использование в играх и приложениях, в первую очередь для того, что бы не дожидаясь реализации поддержки всех возможностей Savage3D в стандартных API, разработчики смогли бы использовать весь набор имеющмихся в новом чипсете от S3 функций.

Поддерживаемые разрешения

Если внимательно посмотреть на параметры нового чипсета, то можно прийти к выводу, что Savage3D предоставляет пользователю большой выбор разрешений. Разработчики заявляют, что на их взгляд режим 1024x768 является предпочтительным. Почему? В принципе, платы на базе Savage3D могут работать с разрешением вплоть до 1600x1200 при 32-битном представлении цвета, а в 3D с разрешением 1600x1200 при 16-битном представлении цвета и 16-битным Z-буфером, но такое режим пока еще не поддерживается драйверами Direct3D. (На самом деле, в будущем планируется сделать возможным увеличение размера локальной памяти). К несчастью, реальность такова, что у большинства мониторов лишь декларирована поддержка разрешения 1600x1200, на самом деле в этом режиме они работают просто ужасно. Большинство пользователей не могут работать с разрешением, большим чем 1280x1024, так как не каждый готов заплатить порядка $3000 за крутой дисплей.

Вот таблица поддерживаемых разрешений:

  Объем локальной памяти
Разрешение/глубина цвета 2 Mб 4 Mб 8 Mб
640x480x8/16/32 x x x
800x600x8/16/32 x x x
1024x768x8/16 x x x
1024x768x32   x x
1280x1024x8 x x x
1280x1024x16   x x
1280x1024x32     x
1600x1200x8 x x x
1600x1200x16   x x
1600x1200x32     x

Подведем итоги:

Список предлагаемых возможностей впечатляет. А в сочетании с ожидаемой розничной ценой $99 за 4Мб и $149 за 8Мб версии оставляет только один вопрос: производительность и качество изображения в играх. Ведь не секрет, что именно то, как будут идти игры на новом чипсете станет решающим фактором, определит судьбу нового чипсета от S3. Разумеется, разработчики говорят, что Savage3D будет лучшим во всех отношениях. По крайней мере в "попугаях" платы на Savage3D уже бьют рекорды fps.

Вот некоторые цифры по производительности:

800x600 S3 Savage3D 12MB Voodoo2
Forsaken 112.4 95.2
Turok 77.7 64.0
Incoming 87.3 88.1
Quake II Timedemo 1 60.4 63.3
Quake II специальный уровень с 20 Мб текстурами 48.3 24.1

За счет аппаратной поддержки технологии сжатия текстур S3TC имеется возможность использования больших по размеру текстур, прокачиваемых через AGP. Использование трилинейной фильтрации гарантирует высокое качество изображений при 24-битном представлении цвета, причем без снижения значений fps.

Посмотрите на галерею скриншотов и демонстрацию применения аппаратных функций Savage3D.

В настоящий момент доступны только тестовые образцы плат на Savage3D, текущая версия чипсета имеет ревизию "А". Чипсет, который пойдет в промышленное производство будет иметь ревизию "В". При этом ожидается, что в окончательной версии будет достигнут прирост производительности от 5 до 40%, в зависимости от приложения.

На сегодняшний день, три производителя видеоадаптеров заявили о том, что они будут производить платы на базе Savage3D, а продажи намечены на август/сентябрь. Это Hercules, Diamond Multimedia и STB Systems. STB будет делать Nitro 3200. Hercules будет производить Terminator BEAST, причем на него уже заявлена цена в ретейл поставке на уровне $149.

Цена на сам чипсет Savage3D пока называется в районе $35 при поставках партиями в 100000 штук. Цифра вполне конкурентноспособна. Производственные мощности у S3 достаточно большие, где то на уровне возможностей Intel по производству чипсета i740. Хотя, конечно же S3 это не Intel и вряд ли решиться на серьезный демпинг в целях захвата рынка. В свое время, когда только все ожидали появления i740, мы задали вопрос о цене одному из представителей вендоров видеокарт. Он сказал буквально следующее: Intel, если захочет будет вообще бесплатно раздавать свой чипсет, так что заранее неизвестно, какя будет цена. Сегодня это $40, а через час цена будет $7. Причем понятно, что финансовые возможности Intel позволяют поощрять правильных вендоров низкой ценой и наказывать неугодных высокой. Кстати, в планы комиссии США по торговле входит расследование подобного поведение Intel. Поживем увидим…

Вообщем, главные определяющие параметры Savage3D это текстурирование и трилинейная фильтрация. Посмотрим, станут ли они залогом успеха.