Процессоры, Обзоры, статьи, тестирование,
  Компьютерный портал Hardvision Digital Сделать домашней Добавить в Избранное Обновить Напишите нам!
На главную | Карта портала | Реклама на сайте | Сегодня Четверг, 09 мая 2024
Видеосистема Процессоры Материнские платы Мобильные ПК Периферия Про софт Все обо всем
Мультимедиа Коммуникации Накопители данных MP3-плееры Система Аналитика
Поиск

Последние статьи

» Philips 190B6 – «Выбор редакции» КомпьютерПресс, 2005
» Выбор 17” LCD монитора: Philips 170B6
» Philips 190X5: Идеальный 19” LCD монитор для домашнего компьютера
» Цифровой фотоаппарат Sony Cybershot T7: мобильность цифрового фото
» Интегрированные устройства доступа Paradyne/Jetstream IAD-402, IAD – 801, IAD – 802, IAD – 1601
» КVM-переключатели - эффективное сетевое решение
» PCMCIA Creative Audigy 2 ZS Notebook: Мощь многоканального звука, упрятанная в маленькой карте расширения
» Обзор и тесты новой линейки КПК Dell Axim X50
» Протокол IPV6: будущее IP-технологий
» Рынок жаждет Wi-Fi. Тенденции , стандарты, спрос.

Хочу на портале

Мы рассмотрим все Ваши предложения и пожелания!

 

Фотоальбомы, фоторамки, печать фотографий

Узнать цену на товар:

Пример: GeForce FX 5700, Radeon 9800XT

Материал опубликован - 05/03/2001

Битва за 3D-олимп: 3DNow! vs FPU

Является ли технология 3DNow! лучшим решением для игр, чем конвейерный сопроцессор? Если так, то почему AMD K6-2 300 не намного опережает Pentium II 300? Найдет ли 3DNow! поддержку у разработчиков программного обеспечения или умрет? А может это шаг в будущее? Я попытаюсь дать ответы на эти вопросы в данной статье.

Intel выиграла первый раунд в битве за 3D-олимп. Их сопроцессор оказался мощнее. Теперь AMD контратакует с технологией 3DNow! предназначенной для замены сопроцессора в тяжелых 3D - приложениях. Первые же испытания показали превосходство 300-мегагерцового AMD K6-2 над Pentium II-400 Покупатели Pentium II - 400 оказались в шоке: они переплачивали в три раза за аналогичное быстродействие. Однако позже стало ясно, что только одна игра, Quake II, дает такое превосходство. В остальных играх К6-2 300 находился на уровне Pentium II 300 - 333. Pentium II -400 оставался вне конкуренции.

3DNow! уже присутствует на рынке около года. За это время в его адрес прозвучало много восторгов и критики. Однако, эта технология была признана лучшей в 1998 году. 3DNow! не имеет большого преимущества над конвейерным сопроцессором в сегодняшних играх из-за слабой поддержки.Даже самые современные 3D-игры используют 3DNow! в очень малой степени. Не стоит забывать, что не всем играм требуются интенсивные вычисления. Стратегии очень мало зависят от сопроцессора. Теперь понятно, почему 1200MFPS K6-2 300 не опережает 400MFPS Pentium II 400 и даже 300MFPS Pentium II 300? Из-за отсутствия оптимизации в программах!

Как можно говорить об оптимизации игры под 3DNow! если она изначально оптимизирована под Intel FPU? Некоторые утверждают, что Quake не корректно использовать для сравнения, т.к. он оптимизирован для 3DNow! Это не так! Он оптимизирован одновременно для AMD и Intel. И он к сожалению является исключением.

3D-игры в основном состоят из двух частей:

- Логика игры. Она описыват законы игрового мира, такие как гравитация, тени, освещение, попадание пуль, взрывы. Это требует интенсивных вычислений.
- Внешний интерфейс. Отображает результаты приведенных выше расчетов визуально. Это происходит с использованием API, таких как DirectX, OpenGL или Glide.

Мы можем увидеть, что в Quake II сильно оптимизированы именно графические API и практически нет оптимизации в логике игры. В то время, как обе части прекрасно оптимизированы под конвейерные сопроцессоры! Фактически только геометрические вычисления отлично оптимизированы для 3DNow! и конвейерного сопроцессора. В самой логике игры присутствует оптимизация только для сопроцессора. Значит К6-2, работающий в 4 раза быстрее обречен на жалкое существование? Нет! Если в лучшей оптимизированной игре - Quake II, оптимизация присутствует только в API и результаты просто превосходные, представьте себе какими будут результаты в полностью оптимизированной игре!

Теперь рассмотрим работу 3DNow! в графических API. Нынешние игры просто не позволяют раскрыть потенциал этой технологии. Если вы не согласны, то запустите вашу самую любимую игру. Вы заметите, что ваши враги выглядят угловатыми и нереальными. Это происходит потому, что для их отображения используется очень маленькое количество полигонов. В играх следующего поколения этот недостаток будет исправлен и вы увидете гладкие, реалистичные тела и лица противников. Большее количество полигонов подразумевает увеличение однообразных вычислений над большими массивами данных. А это является идеальным случаем для архитектуры SIMD, на которой построен блок 3DNow! В этом случае блок 3DNow! будет нуждаться в большом количестве кеша для своевременного получения данных, иначе преимущество будет не так велико. Блок FPU наоборот не будет успевать обрабатывать данные и размер кеша не будет иметь значения. Это приводит к выводу, что К6-3 с трехуровневой схемой кеша, будет генерировать просто феноменальное количество полигонов и долго будет вне конкуренции.

Реализация AGP тоже оказывает влияние на производительность в играх. AGP - детище Intel и поэтому именно ее реализация на сегодняшний день является лучшей. Чипсеты от VIA и ALI как для Super7, так и для P II уступают интеловским. Это создает проблемы с новыми видеокартами и ограничивает скорость видеосистем. НО! Это не является проблемой! Размер видеопамяти, установленной на современных видеокартах, превышает 16Мб и влияние AGP не проявляется. Все текстуры умещаются в локальной памяти видеокарты.

Теперь определим пиковую производительность 3DNow! Блок 3DNow! содержит два конвейерных исполнительных модуля. Все 3DNow! инструкции выполняются за 2 такта. Одна инструкция обрабатывает сразу две переменных. Получаем 1.2GFLOPS для К6-2 300. Это в 4 раза быстрее конвейерного сопроцессора. Но в реальных программах этот предел не будет достигнут. Так же как и для Pentium II. Но вот только Pentium II 300 гораздо ближе к пиковым показателям в 300MFLOPS, чем К6-2 к своим 1200MFLOPS. Реальная производительность 3DNow! составляет 600-700MFLOPS. По результатам тестов блок 3DNow! превосходит FPU-K6 в 4 раза и FPU-Pentium II в 2-2.5 раза на операциях с одинарной точностью.

Так почему же 3DNow! так трудно достичь пикового быстродействия? Почему трудно создать оптимизирующий компилятор(нынешние компиляторы используют 3DNow!, но не оптимизируют код) и работать вручную.

- Блок 3DNow! состоит из двух конвейеров, подключенных к одному сдвоенному исполнительному блоку. Первая часть этого блока выполняет инструкции сложения, вычитания и т.п. Вторая часть выполняет остальные инструкции, такие как умножение. Обе части работают одновременно. Таким образом могут выполняться одновременно две инструкции сложения и две умножения, что дает 4FLOPS при частоте 1Гц. Это единственный способ достичь пиковой производительности. Если в коде программы подряд идут 4 сложения и 4 умножения, то производительность падает вдвое из-за того, что одна часть блока 3DNow! не может выполнять команды второй части. Если сравнить с конвейерным FPU: 2 сложения и 2 умножения выполнятся со скоростью 1FLOPS, 4 сложения и 4 умножения выполнятся также со скоростью 1FLOPS. Т.е. оптимизация для 3DNow! сложнее, чем для конвейерного FPU и следовательно пиковая производительность менее достижима. Требуются последовательности двух одинаковых команд. Именно двух!
- В наборе команд 3DNow! есть инструкция FEMMS. Она предназначена для переключения между режимом обычного FPU и 3DNow! Это происходит потому, что блок 3DNow! использует в своей работе регистры FPU. Эта команда выполняется за два такта и вносит дополнительные задержки если инструкции 3DNow! используются без оптимизации и происходят частые переключения режимов процессора. При оптимизации инструкции 3DNow! должны быть сгруппированы попарно. Отсутствие оптимизации в Unreal'е очень наглядно.
- Если программа не использует инструкции 3DNow!, то используется стандартный сопроцессор K6-2, который имеет вдвое меньшую пиковую производительность по сравнению с Pentium II.
- Пределом для достижения пикового быстродействия становится пропускная способность шины памяти. Данные не успевают поступать с нужной скоростью и блок 3DNow! простаивает.

Теперь проведем упрощенное численное сравнение производительности Pentium II и K6-2. Для этого введем понятие реальной производительности конвейерного сопроцессора Pentium II - "RWFP". Тогда для К6-2 получаем:

Производительность K6-2 == 50% * реальной производительности 3dnow! + 50% * реальной производительности FPU == 0.5* (2 *RWFP) + 0.5 * (0.5 * RWFP) == 1.25 RWFP

Исходя из этого расчета К6-2 300 должен работать как Pentium II 375 при хорошей оптимизации. Конечно не учитывается влияние кеша второго уровня, работающего в разных условиях(100 против 187Мгц).

Выводы. Технология 3DNow! позволяет достичь двухкратного превосходства над конвейерным сопроцессором Pentium II. В реальных играх превосходство будет составлять 15-30%. С выходом новых игр, изначально оптимизированных под 3DNow! и использующих большее количество полигонов разрыв должен возрасти до 50-70%. К сожалению, на сегодняшних играх К6-2 уступает Pentium II, потому, что в основном используются инструкции сопроцессора. Готовящийся к выходу К6-3 будет иметь куш второго уровня, работающий на частоте процессора и снимет ограничение со скорости поступления данных. Это частично решит проблему. Но действительно мощное решение будет в К7, который сочетает мощь 3DNow! c мощью параллельного конвейерного сопроцессора.

Но владельцы К6-2 не должны расстраиваться. При стоимости меньшей, чем у Pentium II и равной с CeleronA, они имеют сегодня(я не имею ввиду неоптимизированные игры) равную производительность в 3D. При этом целочисленный блок работает быстрее. А при хорошей оптимизации будут иметь преимущество и в 3D. Ну а пока разработчики колебались, MS ввела поддержку 3DNow! в DX6, а производители видеокарт ввели поддержку 3DNow! в драйвера.

Первоисточник: hardware.ul.ru

Обсудим в форуме!



Последние новости

 Читать еще новости
»
»
»
»
»
»
»
»
»
»

Рассылка
Файлы
Новости
Статьи


Авторские права HardVision Digital © 2001-2024 | Дизайн и программирование by {digit}
При использовании материалов сайта, ссылка на источник обязательна.
Ведется регулярная проверка ворованного контента в Интернете алгоритмом Copyscape.