Каталог
DirectX 11 ReduxС ранним выпуском 5800 серии AMD оказалась в довольно выигрышном положении. Компания предлагает пользователям графические решения с поддержкой DX11 на месяц раньше, чем станет доступен сам DirectX 11 с релизом Windows 7. NVIDIA же, углубившись в разработку своей новой архитектуры, в отношении внедрения возможностей DX11 в свои чипы довольно существенно отстала от ATI. Помимо очевидных маркетинговых преимуществ, Cypress впервые за долгое время стал стандартом де-факто для API Microsoft нового поколения. Ведь с ранним выходом чипа от AMD и отсутствием отлаженного и доведенного до ума конкурента от NVIDIA разработчики игр, желающие начать использование следующей версии библиотек DX уже сейчас, просто не имеют альтернативы. А, значит, игры будут разрабатываться в первую очередь с упором на архитектуру AMD, стремясь максимально полно задействовать ее возможности (а, как мы выяснили недавно, это не так просто), и стараться сглаживать недостатки. В прошлый раз ATI испытывала такой триумф только в 2002 году, когда Radeon 9700 PRO открыл эру DirectX 9; DX10 появился вместе с уникальной для своего времени унифицированной архитектурой G80, и долгое время NVIDIA доминировала из-за постоянных задержек и неудач канадской фирмы. Тем не менее, как и всегда, конечным пользователям не стоит судить о возможностях той или иной видеокарты по наличию поддержки API определенной версии. Во-первых, на данный момент пока нет даже каких-либо инструментов для оценки производительности RV870 в среде DirectX 11. Во-вторых, в первую очередь DirectX - это инструмент разработчика, и именно программист волен использовать те или иные инструменты, разработанные в Microsoft. Мы рассмотрим основные нововведения DX11 ниже. Стоить помнить, что DirectX 11 версии построен на базе DX10 (в то время как десятая модель API кардинально отличалась от своего предшественника), поэтому AMD не потребовалось проводить коренных изменений для трансформации видеоконвейера RV770 в то, что мы можем наблюдать в Cypress. Наиболее значимыми нововведениями Direct3D стали система тесселяции, которая разбита на три этапа, и вычислительные шейдеры (Compur Shader). Первым делом на этапе подготовки к процессу тесселяции (после вершинных, до геометрических и пиксельных шейдеров) используются Hull Shader («скорлупка», из следующего абзаца будет легко понять, почему разработчики так назвали его). Этот тип шейдеров несет ответственность за выборку необходимых для формирования лоскутов модели и контрольных точек (направлений тесселяции). Затем в работу вступает отдельный аппаратный вычислительный блок высокого уровня сложности, в обязанности которого входит построение на базе изначальной геометрической модели и информации, просчитанной из Hull шейдеров, более сложной и детально проработанной структуры. Этот этап разработан для того, чтобы несколько разгрузить процесс формирования базовой геометрии сцены, когда излишняя проработка деталей требует огромной вычислительной мощности. С помощью процесса тесселяции в DX11 стало возможным без существенных затрат получить значительно более сложную модель объекта. Нет необходимости тратить дополнительные тысячи и десятки тысяч полигонов – с помощью Hull шейдеров отныне разработчик может создавать детальную модель, не нагружая GPU чрезмерно. Не стоит путать данную технологию с распространенными картами нормалей и бампмэппингом – хотя цель у этих разработок близка, алгоритмы различны, и, естественно, аппаратная тесселяция силами графического процессора – более прогрессивный, быстрый, и качественный вариант создания детализированных трехмерных объектов. Стоит отметить, что тесселятор не является непосредственно программируемым, он просто формирует новые поверхности на основании данных, которые поступают из шейдера с описанием точек «скорлупы». Тем не менее, фиксированный набор функций, который может быть рассчитан модулем, достаточно широк. После того, как сам процесс тесселяции завершен, результаты вычислений вместе с изначальными данными Hull шейдера попадают в Domain Shader, который, в свою очередь, уже производит все необходимые операции по совмещению и оценке полученных данных. Именно на этом этапе могут быть применены карты нормалей. Естественно, данное действие не является обязательным и приведено лишь в качестве примера. В зависимости от имеющихся инструкций, Domain шейдер может просто передать совокупные данные в обработку геометрическому шейдеру. Как вы видите, тесселяция является очень интересным способом получения более детализированной и, соответственно, реалистичной картинки. Тем не менее, использование этой функции целиком зависит от разработчика, ведь из конвейера D3D 11 версии эта стадия может быть вообще убрана, RV870 просто предоставляет аппаратную реализацию возможности стандарта, но никак не применяет тесселяцию в тех случаях, где это не предусмотрели программисты. Вообще, рассмотренная технология во многом появилась в DirectX 11 благодаря AMD. Первые версии блоков тесселяции компания ATI представляла еще в 2001 году, однако ни разу они не были оценены разработчиками по достоинству и не набрали популярность на PC (конечно, важная причина кроется и в отсутствии поддержки разработки у NVIDIA). Тесселятор, например, используется в Xbox 360, графический чип которого под кодовым названием Xenos разработан ATI, хотя его консольная реализация на порядок проще имеющейся сейчас в Cypress. В том же виде, в котором он присутствует в приставке Microsoft, тесселятор перешел в R600, но распространения, опять же, не получил. Но теперь, с введением стадий тесселяции в конвейер DX11, оба графических гиганта будут иметь чипы с поддержкой этой возможности, и, надеемся, со временем она будет применяться повсеместно. Принятие тесселяции на вооружение в DX11 – настоящая награда для AMD за длительные годы разработки этой возможности. Еще одно важнейшее нововведение в грядущем поколении Direct3D – вычислительные шейдеры. Они позволяют программам получать прямой доступ к математическим ресурсам GPU и работать с ним напрямую как с вычислительным, а не графическим процессором. Данный тип шейдеров может быть использован как в игровых приложениях, так и в программах любого другого типа, но во втором случае, когда эта возможность задействуется вне графического конвейера, обычно упоминается термин «прямых вычислений», DirectCompute, вместе вычислительных шейдеров. В любом случае, смысл от этого не меняется. А имеющиеся уже сейчас программы, использующие CUDA у NVIDIA и FireStream у ATI, показали, сколь огромным может быть ускорение от переноса вычислений некоторого типа с CPU на GPU (эта тенденция получила общее название GPGPU – General Purpose GPU, использование графических процессоров для вычислений общего типа). Безусловно, именно DirectX 11 (вместе с OpenCL) наконец-то сможет стать единым инструментом для проведения вычислений такого типа, однако в данный момент мы рассматриваем в первую очередь игровую видеокарту, и, как это ни странно, AMD предложила очень интересное применение, казалось бы, неуместным в обычной компьютерной игре вычислительным шейдерам. Речь идет об обсчете прозрачных текстур силами Compute Shader. Технология получила название Order Independent Transparency (внеочередная обработка прозрачности). Ее достоинство – возможность однопроходного рендеринга прозрачных поверхностей в оптимальном порядке. Хотя и раньше такой техникой пользовались, реализуя ее, например, средствами пиксельных шейдеров, с помощью вычислительных Compute Shader проделать необходимые операции можно будет существенно быстрее. Естественно, поддержка тесселяции и нового типа вычислительных шейдеров – отнюдь не все, что отличает DirectX 11 от предшественника. В одиннадцатой версии API серьезные изменения претерпели стадии текстурирования Direct3D конвейера. Например, максимальный размер текстур был увеличен до 16K x 16K, то есть теперь могут быть использованы изображения вплоть до огромного разрешения в 256 Мп. На практике это означает, что DX11 позволяет работать с текстурами сколь угодно огромного размера – скорее закончится локальная видеопамять, чем будет достигнуто программное ограничение API. Также были добавлены две новых схемы сжатия текстур, BC6H и BC7. Как и в случае с добавлением тесселяции в конвейер D3D, их можно назвать детищем AMD. Дело в том, что эти алгоритмы компрессии были разработаны именно ATI, и затем включены в DX11 Microsoft. BC6H – первый в мире метод сжатия текстур, специально оптимизированный для HDR графики. Ранее для данных целей применялись менее эффективные BC3/DXT5. Он способен достигать впечатляющего соотношения компрессии 6:1 (с потерями качества). В то же время, BC7 теоретически должен стать заменой распространенным BC3/DXT5 в случае со стандартными RGB текстурами, он позволяет в три раза уменьшать размер изображений. Несмотря на то, что без реальных игр все эти теоретические рассуждения бесполезны, мы оцениваем значимость введение обязательной поддержки аппаратной тесселяции и новых методов сжатия текстур в DX11 очень высоко. Ведь фактически это серьезный толчок к росту качества графики компьютерных игр, на новый уровень выводятся как геометрическая, так и текстурная составляющие картинки. Тесселяция может без особых потерь производительности создавать более детализированные и проработанные 3D-модели, а новые технологии компрессии позволят натягивать на геометрический каркас текстуры более высокого разрешения и качества, не выходя за разумные пределы потребления видеопамяти. Мы надеялись представить в материале какие-либо скриншоты для сравнения изображения, полученного методами DX10 и DX11, но, к сожалению, найти достойные варианты вовремя не удалось. Тем не менее, по синтетическому бенчмарку, показанному Microsoft на GameFest 2008, можно верно оценить ценность нововведений. Переработке подвергся не только конвейер рендеринга Direct3D, еще одним значимым моментом DirectX 11 является улучшенная поддержка многопоточных вычислений. Отныне API поддерживает возможность получения указаний на создание ресурсов, управление состояниями или, скажем, принудительное завершения исполняемой команды от нескольких активных нитей. Ранее DX мог обрабатывать такой управляющий поток только в случае использования единственной нити. Эта оптимизация направлена на более рациональное использование ресурсов CPU, а значит, в ситуациях, когда производительность в графических приложениях будет упираться в видеокарту, мы сможем получить пусть небольшой, но заметный в критических ситуациях выигрыш в скорости. То есть это нововведение нацелено не на помощь самому CPU в случаях, когда его производительности не хватает, а именно на лучшее использование графической карты. Справедливости ради стоит отметить, что данная возможность не требует DX11 (может быть реализована с помощью специальной надстройки в DX10/10.1), однако впервые она будет представлена именно с DX11. Наконец, DirectX 11 вводит в обращение новый высокоуровневый язык шейдеров (High Level Shader Language) версии 5.0, в котором был добавлен ряд инструкций, сфокусированных на ускорении стандартных операций. Впервые появились классы и интерфейсы, которые позволят писать более структурированный и сегментированный код. Все это идет рука об руку с новыми алгоритмами интеллектуальных динамических связей шейдеров и их менеджмента. [N8-Первые игры DirectX 11] Каждый раз с выпуском новой версии DirectX и выхода карт, ее поддерживающих, встает вопрос о доступности игр для этой связки. Естественно, для разработки программных продуктов под очередной API, для начала требуется хотя бы иметь аппаратную платформу, соответствующую его требованиям. Это и служит логичным объяснением того, что какой бы «мягкой» ни была смена поколений DirectX, сначала на рынок выходит аппаратное обеспечение, и лишь затем игры. Не имея на руках видеокарт, девелоперы попросту не могут выпустить свои новинки одновременно с поступлением в продажу GPU. Вместе с выпуском Radeon HD 5800, AMD называет и первые игры с поддержкой новых технологий. Первая из них – Battleforge от Electronic Arts, карточная онлайн RTS. Изначально не планировалось, что игра и HD 5870 выйдут одновременно, однако EA и AMD смогли взять ситуацию под контроль и выпустить «сладкую парочку» одновременно. Таким образом, у AMD есть полное право утверждать, что существует DX11 игра, максимальное качество графики в которой может быть достигнуто с использованием только лишь аппаратного обеспечения ATI. Правда, похоже, что из всех нововведений DirectX 11 игра задействует только лишь High Definition Ambient Occlusion, но факт остается фактом. Следующим большим тайтлом с DX11, на который AMD обращает внимание, является S.T.A.L.K.E.R.: Зов Припяти. Игра уже сейчас доступна на полках магазинов. К сожалению, точно неизвестно какие именно из нововведений DX11 использовали при разработке GSC Game World, однако Сталкер всегда был требователен к мощности PC, так что будет очень интересно в дальнейшем исследовать производительность карт нового поколения в этой игре. Еще одна игра, вокруг которой AMD старательно создавала ажиотаж на пресс-брифингах – DiRT 2. Эта аркадная гонка уже вышла на консолях, набрав немало положительных обзоров и высоких итоговых баллов, релиз на ПК намечен на 11 декабря. Задержка обусловлена именно доработкой графического движка и внедрением интересных функциональных возможностей. Так, DiRT 2, похоже, будет первой игрой, которая в полной мере использует основные возможности DX11, будь то тесселяция, более качественная фильтрация теней и т.д. Более того, игра даже поддерживает AMD Eyefinity (об этой технологии, позволяющей выводить изображение на связку из 6 мониторов, мы поговорим позже), так что фанатам инновационных решений и продвинутым геймерам определенно стоит подождать PC-версию игры и запастись при этом последними видеокартами AMD. Наконец, Rebellion Games совместно с AMD недавно представила на суд общественности первые детали и подробности о своем проекте Aliens vs. Predator. Наверное, эта игра оказалась наиболее впечатляющей изо всех продемонстрированных, так как Rebellion показывали действите тесселяции и HDAO в реальном масштабе времени. К сожалению, скриншоты не передают всего шарма картинки, отличия наиболее заметны в движении. В любом случае, пока что продукт все еще находится на стадии разработки, и новую игру серии AvP не стоит ожидать раньше первого квартала следующего года. [N9-DirectCompute, OpenCL и будущее CAL] Как бы ни были интересны GPGPU вычисления, это одна из самых сложных для описания возможностей современных карт. Теоретически вычисления на GPU могут стать новой вехой развития ПК и даже привести в будущем к интеграции CPU и GPU, однако на данном этапе все плюсы технологии сложно ощутить на практике. На данный момент для этих целей у AMD и NVIDIA существуют несовместимые друг с другом API. Хотя OpenCL и DirectCompute изменят сложившийся порядок вещей, обновленное программное обеспечение подоспеет еще нескоро. Так, ни у AMD, ни у NVIDIA попросту нет готовой реализации OpenCL для Windows и Linux. NVIDIA реализовала OpenCL на своих картах восьмой серии и старше для Mac OS X 10.6 Snow Leopard, под той же ОС работают и платы 4800 семейства у AMD, но по понятным причинам провести тестирование HD 5870 на Mac не представляется возможным. По нашим сведениям, обе конкурирующие на графическом рынке компании разрабатывают OpenCL драйвера и модули для Windows. Уже сейчас существуют тестовые сборки, которые распространяются среди разработчиков, однако говорить о времени финального релиза пока рано. Стоит заметить, что даже текущие тестовые реализации OpenCL изначально разрабатывались под DX10 платформу, поэтому, скорее всего, после выхода первых реализаций OCL нас в скором времени ждут новые версии. Уже сейчас AMD говорит об OpenCL версии 1.1, которая должна использовать в полной мере возможности карт с поддержкой DirectX 11. Все это, по идее, не должно никак волновать конечного пользователя, однако такое положение вещей вряд ли приемлемо для разработчиков, а значит, реально работающий, эффективный и отлаженный софт появится еще не скоро. DirectCompute, напротив, находится в лучшей форме. NVIDIA уже сейчас поддерживает этот стандарт на своих DX10 картах, бета драйвера AMD, которые использовались в сегодняшнем тестировании, также реализуют DC на платах Radeon HD 5800. К сожалению, все DX10 GPU более ранних выпусков, будь то 2000, 3000 или 4000 серии, пока что обделены такой возможностью, однако AMD обещает внедрить для них полную поддержку DirectCompute в финальном Catalyst 9.10. Да и в целом уже сейчас ясно, что, несмотря на хорошую рекламу и раскрутку OpenCL, DirectX реализация DirectCompute более продуманна. Мы не будем предвосхищать события и делать необоснованные прогнозы, но, похоже, OpenCL останется более популярной именно на Mac OS, так как в этой UNIX-системе DirectCompute попросту отсутствует и альтернативы у Apple нет. У DC имеются и некоторые преимущества перед OCL. Например, четко выделено три уровня реализации стандарта – для DX10 (4.0), DX10.1 (4.1) и DX11 (5.0) графических карт. Чем выше версия, тем больше продвинутых возможностей доступно программистам. Хотя именно старший DirectCompute 5.0 является существенным шагом вперед по сравнению с предыдущими версиями, так как именно DX11 карты впервые разрабатывались именно с оглядкой на внедрение DirectCompute. Так, например, именно эта реализация языка впервые позволила работать с числами с плавающей запятой двойной точности и комбинированными операциями. В AMD считают, что разработчики в первую очередь должны ориентироваться именно на наиболее прогрессивный DirectCompute 5.0, но цель такого утверждения вполне ясна. Вполне естественно, что компания занимает такую позицию, при которой будут обеспечены максимальные продажи новых разработок. Тем не менее, как мы уже отметили, карты DX10/DX10.1 поколения не оставлены за бортом, и это однозначно радует. Ведь на данный момент доля DX11 решений ничтожно мала (всего две карты и доступны на рынке – HD 5870 и 5850), тогда как DX10 GPU широко распространены. Девелоперам было бы глупо отвергать DC 4.0, тем самым собственноручно сужая целевую группу потребителей ПО. Так что стоит ожидать первых программ для архитектуры DirectCompute именно четвертой версии. По мере развития рынка будет понятно, какой реальный выигрыш дают новые версии языка, и стоит ли игра свеч. Кстати говоря, ситуация с софтом для DirectCompute на данный момент полностью аналогична положению с DirectX 11 играми, которое будет позже в этом году. Разработки в этом направлении ведутся – так, Cyberlink уже показали за закрытыми дверьми новую версию PowerDirector, которая задействует мощности GPU, но сколько осталось ждать до выхода программы в свет, пока еще не ясно. Тем временем, для AMD продвижение прикладных программ DC, по сути, не столь важно, как DX11 игр, так что сроки появления последних более четко определены. Принимая во внимания тот факт, что DirectCompute – единственный реально работающий на железе обоих вендоров GPGPU API, мы попытались провести сравнительное тестирование. Несмотря на отсутствие системных программ для DC, в наличии у нас оказалось техническая демонстрация. К сожалению – производства NVIDIA. Естественно, в таких условиях нельзя назвать бенчмарк полностью честным, ведь демо полностью заточено под микроархитектуру чипов NV, однако вряд ли поклонники ATI будут разочарованны результатами новых Radeon. Демонстрация рендеринга океана силами DirectCompute (задействованы быстрые преобразования Фурье) запускается на GPU. Расчеты генерируют направления волн и являются хорошо распараллеливаемой математической нагрузкой. Программа написана на DirectCompute 4.0, так как предназначена для запуска на DX10 картах NVIDIA. Вопреки опасениям, никаких проблем с запуском демонстрации производства NVIDIA на Radeon HD 5870 не возникло, причем, несмотря на игру «не на своем поле», карта легко превзошла GTX 285. Странную картину мы могли наблюдать с многочиповыми конфигурациями – тогда как SLI/Crossfire достаточно хорошо масштабировались, GTX 295 оказалась медленнее GTX 285. Так как это просто техническая демонстрация, не стоит делать скоропостижных выводов; скорее мы просто проверили реальную работоспособность DirectCompute на серии 5800. Интересно, что на презентации видеокарт AMD продемонстрировали свою разработку в области GPGPU – симуляцию реалистичной физической модели с использованием портированной на DC бесплатной библиотеки Bullet Physics. Хотя вряд ли компания признает этот факт, но, похоже, AMD надоело находиться в позиции отстающего на поле конкуренции с NVIDIA PhysX, а Bullet Physics – демонстрация того, что Radeon также может успешно обсчитывать физику. Тем не менее, мы не считаем, что технология пойдет дальше пресс-брифингов ATI. Слишком малая распространенность библиотеки у разработчиков и проблемы, с которыми столкнулась NVIDIA при внедрении PhysX (нежелание использовать какие-либо другие движки физики в играх кроме Havok), - все это говорит о том, что вряд ли физика силами GPGPU изменится в ближайшее время. Похоже, только приход сторонней коммерческой разработки, заточенной под DirectCompute или OpenCL, которую разработчики смогут лицензировать для своих игр, сможет изменить ситуацию. Причем совершенно неважно, будет ли это следующее поколение Havok, или же в игру включится новая сторона. Наконец, вспомним и о старых разработках компании, касающихся вычислений силами GPU. Сегодня AMD целиком и полностью нацелилась на поддержку DirectCompute и OpenCL, оставляя за бортом имеющиеся наработки. Среди них и высокоуровневый язык программирования Brook+, который в недавнем прошлом был выложен на Sourceforge в качестве открытого проекта. Compute Abstract Layer (CAL), на котором по сути базируется реализация OpenCL AMD, хотя и не брошен на произвол судьбы, но застыл в своем развитии на версии 1.4; корпорация всячески приветствует переход с CAL на OpenCL, хотя поклонники High Performance Computing (HPC) продолжают использовать возможности FireStream для того, что бы выжать максимум возможностей из имеющихся карт. [N10-Eyefinity] Приблизительно в 2006-2007 годах ATI начала разрабатывать спецификации технологии, которой было суждено появиться в серийном варианте лишь сейчас в RV870. В данном случае речь идет уже не о многострадальном аппаратном блоке тесселяции, а об Eyefinity. При проектировании GPU, компании производители ориентируются не только на свое видение конечного продукта, но и учитывают пожелания разработчиков программного обеспечения, крупных OEM заказчиков, а иногда даже и разумные предложения простых пользователей. В случае с Eyefinity предпосылки к ее созданию появились после анализа потребностей OEM сегмента. Дело в том, что дискретным мобильным графическим чипам оказалось нужно большое количество видеовыводов, вплоть до шести штук. Хотя одновременно активными могли быть только два. Производители запрашивали такую схему подключения, при которой пара выходов использовалась бы для самих панелей ноутбука (уже сейчас некоторые производители экспериментируют с такими нестандартными устройствами), пара (один DisplayPort и, например, один DVI/VGA/HDMI) имелась для подключения внешних дисплеев, и еще пара выводилась бы на докстанцию. Опять же, одновременно задействованы должны быть только два, поэтому в GPU требовалось создать только лишь шесть выводных каналов, но нужды таком количестве полноценных цепей со своими RAMDAC и т.п. модулями не было. Но AMD решила не принимать половинчатых решений, и заложила в RV870 возможности одновременного вывода изображения на шесть экранов! Конечно, не все исполнения карт реализуют эту возможность, например, на референсе, уже описанном нами выше, попросту физически недостаточно видеовыходов для подключения шести дисплеев. Однако несколько позже в этом году ATI представит карту, на которой будет размещена шестерка mini-DisplayPort для подключения до шести мониторов. Нетрудно догадаться, что для такой сложной технологии нужна не только аппаратная, но и программная поддержка. Об этом в AMD так же позаботились. Как хорошо видно по фотографии, при использовании плат серии Radeon HD 5000 допускается объединение до шести мониторов в один так, чтобы ОС и игры воспринимали бы конструкцию как один дисплей с огромным разрешением. Для своих тестов Eyefinity мы использовали группу из 24” мониторов Dell U2410s. Их недостаток – лишь в высокой цене. При стоимости порядка 600 евро становится неочевидным смысл создания такой связки. Ведь по задумке AMD Eyefinity должна дать возможность подключения нескольких дешевых Full HD панелей, которые в совокупности будут стоить сравнимо с одним 30” дисплеем, но обеспечивать лучшее погружение в игровую вселенную. Чтобы проверить универсальность Eyefinity, для подключения мониторов Dell мы задействовали все доступные типы выходов на имеющемся в наличии HD 5870: один DVI, один HDMI и один DisplayPort. При запуске Windows с тремя подключенными мониторами изображение, согласно заводским настройкам, дублируется. Правильное конфигурирование может быть произведено из панели управления ATI Catalyst Control Center в пункте группировке экранов: С тремя дисплеями в драйвере были доступны две схемы подключения – 1x3 и 3x1, которые позволили задействовать экраны как в горизонтальном, так и в вертикальном режимах. Конечно, можно выбрать и меньшее количество мониторов для группы, но мы хотели использовать предоставленные возможности по максимуму. Следующим шагом станет определение относительного положения экранов. Драйвер предложит вариант с автоматическим распределением изображений по мониторам. В случае, если предположение окажется неправильным, допустима и ручная перенастройка. После того, как программная составляющая Eyefinity настроена, в Windows и программах/играх становится доступен вывод на дисплей с огромным разрешением (в нашем случае – 5760x1200), Single Large Surface в терминологии ATI, который и является группой, созданной ранее в CCC. Нетрудно догадаться, что, как и у любой новинки, тем более такого высокого уровня сложности, у Eyefinity есть проблемы. Первую, и самую главную из них, вы могли наблюдать на предыдущем скриншоте – соотношение сторон. В то время как рабочий стол Windows физически увеличивается в размерах настолько, чтобы занять всю площадь трех мониторов, в некоторых играх картинка попросту растягивается для соответствия высокому разрешению. Так, в Batman Arkham Asylum выбор Single Large Surface был доступен, однако при рендеринге движок игры вместо того, что бы рисовать изображение в честном 5760x1600, попросту сжимал до него 5760x3240 (16:9). Естественно, происходило совершенно ужасное изменение пропорций всех игровых объектов, так что с тремя мониторами играть оказалось совершенно невозможно. Зато после увиденного небольшие искажения, происходящие при растяжении формата 16:9 на 16:10 перестали так бросаться в глаза.
В других играх вылезали проблемы иного рода. Хотя Resident Evil 5 корректно определял разрешение, даже сжатия с неправильными пропорциями до площади дисплеев, как в Batman AA, не происходило. Иными словами, игра не придавала особого значения тому, что имеющиеся мониторы не могут выводить картинку в 16:9, и показывала только нижнюю часть полного изображения от 5760x3240 на 5760x1200. Забавно, что в таком режиме даже оказалось не видно главное меню игры, что уж говорить о возможности игры. Кроме того, в случае с предварительно записанными роликами на движке игры, которые не были предназначены для таких высоких разрешений, или же двухмерными статичными изображениями вроде меню или деталей интерфейса, также возникают проблемы. Они не желают даже растягиваться на полную площадь экранов: Наконец, хотя много игровых приложений работает с Eyefinity абсолютно корректно, есть и некоторые нюансы. Так, в Windows конфигурация из трех мониторов попросту некомфортна. Оптимально было бы, чтобы при переходе на рабочий стол, боковые экраны попросту отключались, и картинка концентрировалась на центральном дисплее в стандартном разрешении 1920x1200. Однако этого не происходит, из-за чего для того, чтобы взглянуть на время в трее необходимо повернуть голову направо, а чтобы запустить необходимую программу из меню Пуск, - налево. Конечно, мы несколько утрируем, но, например, набирать текст в Word или серфить по интернету на трех мониторах, которые отображают единое рабочее поле, неудобно. К тому же огромная ширина панелей отвлекает и в некоторых играх, где сервисные элементы HUD разнесены по углам (например, в Oblivion шкалы здоровья, маны и выносливости располагаются внизу слева). Но не все так плохо, как могло показаться. Например, одной из самых больших проблем с Eyefinity могли бы стать толстые рамки дисплеев. Зачастую даже при использовании одного единственного монитора толстая рамка отвлекает от просмотра, непроизвольно захватывает внимание так же, как и битые пиксели на матрице. В случае с Dell U2410s размер окантовки оказался критичным только в портретном режиме. А, надо заметить, у этого монитора не самая тонкая рамка. Конечно, передать словами или на фото верные ощущения не получится, но, поверьте на слово, когда Eyefinity работает корректно (точнее – игры поддерживают вывод на дисплей большого разрешения и нестандартного соотношения сторон), погружение в игровой мир совершенно потрясающее. Примером такой игры может стать вездесущий World of Warcraft. Blizzard позаботилась о том, чтобы движок игры был способен выводить изображение такого размера, как позволяют экраны. То есть в WoW попросту расширяется угол обзора (прямо как увеличивается рабочий стол в Windows). Никаких диспропорций, растяжений или смещений. Игра выглядит просто сногсшибательно, когда два боковых монитора немного повернуты под углом так, чтобы их захватывало боковое зрение. Конечно, нечестно будет сказать, что можно в буквальном смысле видеть все вокруг себя, но банальная пробежка по пшеничному полю выглядит и чувствуется действительно реалистично. Что уж говорить о масштабном сражении, когда действо и на стандартном экране впечатляет, а на связке из трех мониторов в Eyefinity просто гипнотически притягивает. Действительно, при должной поддержке Eyefinity творит чудеса; остается только догадываться, как может впечатлить картинка на шести мониторах с большой диагональю и высоким разрешением. Перед тем, как мы испробовали Eyefinity самостоятельно, отношение к технологии было очень скептическое. Существовало слишком много «но» - толстые рамки у мониторов, бессмысленность самой идеи объединения нескольких мониторов. Тестирование полностью опровергло эти два пункта, технология показала свою состоятельность. Обеспеченным фанатам игр однозначно стоит присмотреться к возможностям, которые открываются с RV870. Тем не менее, проблем у Eyefinity также хватает. Без изменения конфигурационных файлов и применения неофициальных патчей лишь одна из четырех опробованных игр адекватно восприняла объединенный дисплей большого разрешения и смогла его корректно использовать. Также не совсем понятно, как поведет себя Eyefinity в Crossfire (ведь предыдущие реализации многочиповых GPU от AMD и NVIDIA не совсем корректно работали с несколькими дисплеями). Тем не менее, однозначно радует тот факт, что мощности одного Radeon HD 5870 хватает, чтобы даже на максимальных настройках обеспечивать вполне приемлемый фреймрейт в 5760x1200. Так, World of Warcraft был абсолютно играбелен с 48 FPS, а Batman Arkham Asylum показал отличные 66 кадров в секунду. [N11-Гонка окончена: 8-канальный LPCM, битстримминг TrueHD & DTS-HD MA] Более полугода минуло с момента, когда мы рассматривали довольно плачевную ситуацию с HD звуком с Blu-ray на ПК. Речь идет не столько о музыкальных дисках, сколько о высококачественных многоканальных дорожках для фильмов. Всю ту статью немалых размеров можно свести к одному утверждению: без дорогостоящей звуковой карты вывести сжатые Dolby TrueHD или DTS-HD Master Audio с HTPC на A/V ресивер или препроцессор домашнего кинотеатра попросту невозможно. Благодаря первым подвижкам, совершенным AMD на поле интегрированных чипсетов, сначала Intel, а чуть позже и NVIDIA решили данную проблему так, что HTPC, построенный на базе правильных IGP/GPU компонентов, самостоятельно декодировал бы аудиопотоки и пересылал их в уже разжатом виде по HDMI. Эта функция получила название восьмиканального LPCM звука, и сэкономила фанатам ДК и высококачественного звука $150-$250, которые ранее требовалось бы потратить на дорогостоящую звуковую карту вроде Auzentech HomeTheater HD или ASUS Xonar HDAV 1.3. Некоторое время назад появились неприятные слухи, что из-за стремления к снижению себестоимости ATI собирается отказаться от 8-канального LPCM в RV870. К нашей большой радости эти слухи не подтвердились. Radeon HD 5870, как и его предшественник, способен не только выводить восьмиканальный LPCM звук по HDMI, более того, Cypress обрел и новую функцию – теперь чип умеет передавать битстриммингом (прямая передача сжатого потока без декодирования силами ПК) Dolby TrueHD и DTS-HD MA! Это первая и пока что единственная видеокарта на рынке с такой возможностью. Хотя, скорее всего, в следующем году сходной функциональностью будут оснащены и конкурирующие решения от NVIDIA. Конечно, в первую очередь Radeon HD 5870 это игровая видеокарта, и если вы не стремитесь создать многоцелевой HTPC (на котором, скажем, будете помимо просмотра видео еще и ставить рекорды в NFS Shift), его мощность будет излишней. Хотя энергопотребление видеокарты в покое и мало, вряд ли ее стоимость будет оправдана без игрового применения. Так что, если время терпит, мы рекомендуем дождаться упрощенных версий RV870 с меньшим количеством функциональных блоков. Ведь их мультимедийная составляющая, как и в 4000 поколении Radeon HD, не будет урезана относительно старшей карты. Встроенный блок обработки видео ATI UVD2 (Universal Video Decoder) также никуда не делся из RV870. Он, как и раньше, поддерживает полноценное аппаратное декодирование H.264, MPEG-2 и VC1. Особых изменений по функциональности модуль не претерпел, доступны все те же фильтры и режимы для двух одновременных 1080p потоков. Из положительных моментов – UVD2 теперь функционирует в Aero режиме Windows Vista/7 (ранее при активации UVD тема оформления переключалась на базовый режим), однако это скорее софтовая доработка. Естественно, чтобы задействовать новые аппаратные возможности Radeon HD 5870, необходима и соответствующая программа-плеер. Один из самых продвинутых комбайнов Cyberlink PowerDVD 9 уже обучен работе с битстриммингом RV870. Пока что для конечных пользователей эта версия не доступна, но среди журналистов предрелизные сборки уже распространены. Для того, чтобы задействовать вывод сжатого звука напрямую на ресивер, в опциях программы следует выбрать пункт «Non-decoded high-definition audio to external device»: Этого достаточно, чтобы плеер не предпринимал никаких попыток для декодирования аудио, а просто передавал сжатый поток с диска через HDMI на ресивер. Данная функция была протестирована в паре с Integra DTC-9.8 и Blu-ray мультфильмом Вольт, звук в котором сжат по алгоритмам DTS-HD MA. К нашему искреннему удивлению, все заработало с первого раза, без каких бы то ни было проблем: Никаких ошибок с HDCP, никакого странного поведения плеера – все было просто идеально. Затем пришел черед проверки Dolby TrueHD. Для этого был использован диск American History X. К сожалению, все прошло не так гладко, как с DTS-HD. ПК отдавал только лишь обычный Dolby Digital. То же самое наблюдалось и с Трансформерами. Оказалось, что описанный баг присущ бетаверсии проигрывателя PowerDVD. Пара переключений режима аудиовыхода решила проблему. Cyberlink обещает, что в финальной версии никаких проблем с Dolby TrueHD наблюдаться не будет, и шаманства не потребуется. В любом случае, даже с ранней версией проигрывателя нам потребовалось лишь немного времени, чтобы заставить корректно выводить с Radeon HD 5870 на ресивер как DTS-HD MA, так и Dolby TrueHD: Безусловно, тот факт, что наконец-то появилась видеокарта с полноценной поддержкой Protected Audio Path, не может не радовать. Скорее всего, в ближайшем будущем такой возможностью будут наделены как большинство дискретных, так и интегрированных графических карт. Но, в любом случае, RV870 останется первопроходцем в данной области. Отрадно, что не только в части архитектуры SIMD блоков и SPU/SP процессоров, но и в дополнительных возможностях Cypress является 100% преемником RV770, который в свое время впервые для дискретных карт предложил решение проблемы вывода высококачественного 8-канального HD звука с Blu-ray по LPCM. [N12-Сниженное энергопотребление в покое и лучшая защита от повышенной энергетической нагрузки] Одним из параметров, которому AMD уделяла особое внимание при разработке RV870, было энергопотребление. Под нагрузкой величина в 160 Вт, достигаемая HD 4870, находилась в разумных рамках. Безусловно, это немалая цифра, однако для уровня производительности 55 нм RV770 – более чем адекватная. Проблема крылась в другом – именно в состоянии покоя карта потребляла чрезмерно много энергии, порядка 90 Вт. Благодаря новой версии BIOS удалось скинуть еще несколько Ватт, однако о кардинальных переменах говорить не приходилось. Даже RV790 с измененной PCB был слишком горяч без нагрузки, потребляя примерно 60 Вт. Как следствие, в Cypress изначально закладывали конструктивные идеи, с реализацией которых энергопотребление карт 5000 серии Radeon было бы существенно ниже, чем у HD 4000. Цель, к которой стремились в ATI, - не более 30 Вт без нагрузки, треть от необходимой RV770 мощности. В конце концов удалось даже превзойти желанную цифру на 10% и добиться 27 Вт в покое для полноценного RV870 в полноценной карте Radeon HD 5870. Таким образом, Cypress в покое необходимо на 86% меньше энергии, чем под нагрузкой. Конечно, добиться такого впечатляющего улучшения было не так-то просто. Этому способствовали несколько факторов, и, пожалуй, пара самых главных из них – дополнительные регулирующие цепи питания на плате вместе с новым специализированным блоком ядра по контролю над потребляемым питанием. Заметьте – никаких Power Gate транзисторов, как в CPU Bloomfield/Lynnfield поколения Nehalem, которые выключали бы незадействованные элементы ядра, добавлено не было. Фактически, использовался метод снижения частот работы компонентов. Однако не все так просто, как может показаться на первый взгляд. Дело в том, что именно для того, чтобы достичь на HD 5870 столь низких частот в состоянии покоя/2D режиме (а именно – 150 МГц по ядру, и 300 МГц по памяти), и потребовались упомянутые выше изменения в разводке платы и дополнительный модуль в самом GPU. Напомним, что для RV770 частоты 2D режима составляли 550/900 МГц. Именно падение частоты ядра почти в 4 раза и обеспечило столь впечатляющую экономию питания. В случае с RV770 просто так снизить частоты было невозможно. Многие продвинутые пользователи, экспериментирующие с прошивками BIOS и регулировкой частот/напряжений/оборотов вентилятора, столкнулись с проблемой потери стабильности RV770 на низких тактовых частотах даже при номинальном напряжении чипа. В RV870 проблема была эффективно решена, так что 150 МГц по чипу отныне легко достижимы, и установлены штатно. Никаких дополнительных действий со стороны пользователя не требуется. Но это еще не все. Куда большие изменения претерпел контроллер видеопамяти в Cypress. Отныне он более полно соответствует спецификациям стандарта GDDR5, и потому может применять предусмотренные JEDEC механизмы для минимизации потребляемой энергии. Оказывается, что в RV770 КП реализовывал лишь базовые требования GDDR5, и фактически мог пользоваться только преимуществами огромной пропускной способности. Различные продвинутые функции, включая возможность сильного снижения частот, попросту не были реализованы в RV770 и прочих чипах, созданных на его базе. Поэтому в HD 4870 и прочих high-end картах ATI, имеющих изначально высокую частоту GDDR5 для 3D режима, в 2D ее значения не изменялись вообще. В Cypress AMD реализовала практически весь возможный набор энергосберегающих технологий для GDDR5, которые помогают снижать планку требуемой мощности как самих чипов, так и набортного контроллера в GPU. Как и в случае с ядром, основной плюс проделанной работы – в возможности серьезного снижения частоты и напряжения GDDR5 без присущих таким резким переключениям негативных побочных эффектов. Более того, теперь модули памяти могут переводиться в специальный энергосберегающий режим путем отключения механизма проверки правильности передачи данных. По словам AMD, в таком виде GDDR5 контроллер и память ведут себя как GDDR3, и это довольно точное описания для состояния, в котором находится подсистема памяти HD 5870, когда «тяжелые» функции, обеспечивающие необходимую стабильность и скорость под нагрузкой, выключены. Наконец, AMD провела оптимизации энергопотребления для Crossfire режима. Теперь ведомая карта (естественно, речь идет о конфигурациях, состоящих из RV800 чипов), может потреблять еще меньше энергии, порядка 20 Вт. Это минимум, которого возможно достичь с 40 нм чипом, когда плата вообще не используется в 2D, но при этом питание на нее подано. В таком режиме плата может при необходимости мгновенно «проснуться». Дальнейшее снижение энергопотребления лишило бы Cypress такой способности. Естественно, важность низкого энергопотребления мощного чипа без нагрузки нельзя недооценивать. Тем не менее, еще более значимо то, как ведет себя видео, или же центральный процессор под нагрузкой. И здесь в Cypress также можно встретить некоторые новшества. Перед тем, как приступить к их описанию, следует напомнить, что TDP не является абсолютным показателем максимального энергопотребления, скорее это разумный максимум, за который, как считает производитель, не должен выходить чип под максимальной нагрузкой. Однако можно искусственно создать такие обстоятельства, при которых расчетное TDP будет серьезно превышено, и это – большая проблема. Почему мы вдруг так подробно решили рассмотреть проблему превышения TDP? Дело в том, что она была особенно актуальна для RV770. Для CPU уже достаточно давно существуют различные стресс-тесты, которые генерируют фиктивную сверхвысокую нагрузку. Однако материнские платы, сами процессоры и кулеры лучше подготовлены к такого рода нагрузкам, чем видеокарты, которые являются единым продуктом (цепи питания, охлаждение – все поставляется как составные части изделия). Тогда как даже Linpack не вызывает серьезных проблем у грамотно разогнанных систем (про штатный режим и говорить нечего), видеотесты нового поколения, такие как FurMark и OCCT могут привести в крайнем случае даже к поломке видеокарты. Оказалось, что для RV770 максимально возможная нагрузка и TDP сильно разнятся, а VRM карт не были рассчитаны на нагрузку, которая не может быть достижима в реальных приложениях (естественно, запас прочности присутствовал, но не столь значительный). Так было сделано потому, что AMD считает потоки инструкций, генерируемые OCCT и FurMark, совершено нереалистичными. Они не производят каких-либо фактических расчетов, а просто направлены на одновременную максимальную загрузку всех блоков GPU. Ни в играх, ни даже в GPGPU приложениях такого не встречается (естественно, если не симулировать специально бессмысленные вычисления). AMD даже называет такие программы не тестами на стабильность системы, а «энергетическими вирусами». Хотя мы не можем согласиться с компанией в используемой терминологии, в тестах мы на практике не раз находили подтверждение правоте такой точки зрения. Ни одна игра, ни в одном, даже самом сложном режиме, не разогревала видеокарты так, как OCCT и FurMark. Тем не менее, вне зависимости от того, как называть такие тесты, они создавали реальные проблемы, будучи запущенными на RV770. Надо четко понимать, что, хотя микроэлектроника очень сложна и хрупка, производители не в состоянии предусмотреть все условия ее эксплуатации. Ведь сколь бы ни были совершенны автомобили Ferrari, вряд ли они подойдут для суровых зим; и сколь бы ни были хороши процессоры Core i7, они не смогут долго проработать с напряжением ядра в 2.0 Вольта. Так и здесь – любую, даже самую защищенную технику можно вывести из строя, эксплуатируя ее в неправильных условиях. Хотя стресс-тесты и являются простыми компьютерными программами, они создают чересчур высокую нагрузку. В лучшем случае, Radeon HD 4870 просто отключались во избежание повреждений, в худшем – карты выходили из строя; AMD требовалось что-то предпринять. Для уже имеющихся в наличии RV770 и прочих сходных карт было создано программное решение – драйверы Catalyst сначала определяли запускаемую программу по имени исполняемого файла, и применяли в случае необходимости торттлинг; позже был введен адаптивный алгоритм, вычисляющий вредоносную программу по соотношению инструкций, которые задействую ALU и текстурные блоки. По нашей информации, NVIDIA применяет точно такую же схему для своих плат. Такой подход оберегал RV770 от повреждений, однако программными средствами полностью решить аппаратную проблему было невозможно. Естественно, разрабатывая чип следующего поколения, AMD постарались учесть допущенные |
Источник: www.anandtech.com/