DirectX и консоли
Познавательно


Оценить
Нет оценок
Поделиться
7 декабря 2007 года в 05:51

Читал тут недавно статью о DirectX 10 и прочитав понял на сколько он крут. Так же в статье были упоминания о консолях. Всё что их касается можете прочитать ниже.

DirectX и консоли

Существует определенная путаница, когда речь заходит о том, «какая версия DirectX на консолях». Помимо PC, DirectX используется как API (то есть средство взаимодействия игры с графическим «железом») в приставках Microsoft: Xbox и Xbox 360. Версия DirectX в первой Xbox примерно соответствовала DX8 – в качестве видеочипа там использовался аналог GeForce 3/4, соответствующий спецификациям этого API. В Xbox 360 применяется специальная версия DirectX, которая по архитектуре и возможностям занимает промежуточное положение между DX9 и DX10, – можно сказать, что при разработке DX10 инженеры Microsoft активно использовали опыт Xbox 360. Соответственно, и «железо» этой консоли поддерживает промежуточную шейдерную модель 3.5 (в DX9 была 3.0 максимум), в которой много от DX10 и SM 4.0, но нет геометрических шейдеров.

С консолями Sony все сложнее. В PS2 графическая подсистема была разработана самим производителем и никаким сторонним стандартам и спецификациям не соответствовала. В PS3 Sony была вынуждена использовать PC-чип Nvidia G70 (GeForce 7800/7900), изначально созданный для соответствия требованиям DirectX 9.0c и SM 3.0. Таким образом, можно сказать, что «железо» PS3 находится на уровне DX9, хотя сам этот API в консоли Sony по понятным причинам не применяется – вместо этого там используется модифицированная версия OpenGL.

Как движки работают теперь? Во-первых, центральный процессор сейчас уже очень редко изменяет геометрию – он лишь двигает «кости», а за то, чтобы «плоть» объектов двигалась вслед за костями, отвечает исключительно видеокарта, запрограммированная с помощью соответствующих вершинных шейдеров (vertex shaders). Это позволяет не только разгрузить CPU от этой несвойственной ему «глупой» работы, но и передавать геометрию персонажей в память видеокарты всего один раз при загрузке уровня, что очень благотворно влияет на производительность.

Во-вторых, разработчики все активнее стараются использовать механизм instancing, позволяющий отрисовывать множество идентичных объектов всего за один вызов драйвера. Именно благодаря instancing мы можем любоваться травой и густыми лесами, которые созданы путем тысячекратного повторения нескольких шаблонных деревьев или кустиков травы, причем для отображения этих тысяч зеленых насаждений необходимо всего несколько (а иногда даже один) вызовов рендеринга. Ясное дело, при этом мы рискуем отправить на отрисовку несколько десятков лишних кустов, которые будут заведомо не видны, но это не скажется отрицательно на производительности – тем более что современные GPU обладают развитыми средствами удаления невидимой геометрии и до «дорогостоящего» этапа растеризации лишние объекты, скорее всего, даже не дойдут.

В теории все звучит замечательно, но если применять такой подход на практике под DirectX 9, то быстро обнаружится несколько подводных камней. Главная проблема в том, что все эти идентичные объекты, которые мы выводим на экран «одним махом», – они такие… идентичные. Возможности придания им индивидуальности крайне ограничены.

Само собой, о том, чтобы выводить таким способом сложно анимированные объекты – каждый со своим скелетом и со своей фазой анимации в данном кадре, – не может быть и речи.

DirectX 10 хорош тем, что дает программистам такие широкие возможности в применении instancing, о которых раньше можно было только мечтать. Фактически, теперь движок может всего один раз загрузить в память GPU множество вариантов формы, массив текстур для объектов и соответствующий вершинный шейдер. После этого в каждом кадре нужно лишь передавать видеокарте через бутылочное горлышко драйвера отмашку «Давай!» со списком положений и желаемых особенностей объектов – в результате одним вызовом можно рисовать тысячи не похожих друг на друга камней или деревьев.

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

Еще одна новая возможность DirectX 10, которую можно использовать как с геометрическими шейдерами, так и с вершинными, называется «потоковый вывод». Этот термин означает, что теперь, вместо того чтобы передавать данные о графических примитивах (вершинах, ребрах, треугольниках) дальше по конвейеру рендеринга для визуализации, их можно сохранять в памяти видеокарты и использовать много раз. Это полезно, к примеру, если нужно нарисовать персонажа со сложными тенями и сложным освещением, – в этом случае может понадобиться несколько проходов. Раньше, в DirectX 9, при каждом проходе нужно было заново прогонять вершинные шейдеры и заново вычислять координаты всех вершин персонажа. Теперь это можно сделать всего один раз, сохранив результаты в буфере, а затем сделать столько проходов, сколько нужно, серьезно экономя ресурсы GPU.

Кроме того, в G80 Nvidia представила новый, более эффективный и качественный тип антиалиасинга – CSAA, который призван со временем заменить ныне используемые методы.

 

От себя добавлю:

Из всего прочитанного я понял как морально всё же устарел чип nVidia G70 и спецификация DirectX 9 ..........и как много ограничений наложено сейчас на нашу сони пс3, а так же сколько , по сути, ненужной работы выполняет процессор Cell. Да мы имеем супер продвинутую архитектуру, ЭТО действительно то к чему сейчас стремятся и Intel и ATI (всё же Японцы просто красавцы в этом плане), но есть одно большое НО.............и это ограничение, которое накладывается чипом G70. Не нужно было использовать его, а нужно было идти путём пс2 и делать свою видеосистему под стать процессору Cell........

Оригинал статьи находится по адресу : http://www.gameland.ru/spec/39635/default.asp

 

Гость
Гость
Забанен
8 декабря 2007 года в 14:12
Да уж... Получиться весьма интересная темка...
+1 0   -1 0
Гость
Гость
Забанен
8 декабря 2007 года в 14:31
Да, давно я тут не был, но за такую тему, своё слово оставлю.
Главная проблема людей, в том что они не умеют признавать свои ошибки, и чужие тоже. То же самое сейчас творится вокруг PS3, за последнее время те кто не смотрел на PS3 как на грааль индустрии видеоигр, а разобрался в её характеристиках, нашли не мало любопытных фактов(!). И то, что оперативная память никчёрту и то, что видеокарта работает по раздельным конвеерам, и даже то, что некоторые здесь пытались выдать за положительный момент - не стандартное соединение видеокарты, в следствии которого пришлось сократить шину до 128 бит, не мне рассказывать умным людям, какая при такой ширине будет пропускная способность, и что 2Х для привода - это ничто(у меня самого была PS3 и многие из этих проблем, почти все я ощутил, так, что не надо упрека меня в боксерстве!)
А вывод(лично мой) из этого один - SONY изначально сделали ставку на проецессор, который должен был стать "всем в одном", что исключало бы проблему с "узкой" шиной и обосновывал бы те жалкие 256 Мб памяти, пускай и на частоте 3,2 Ггц(самое то для обработки информации с носителя). Но не сложилось, и SONY обратились к Nvidia , те в свою очередь предоставили им готовый 7800(который был вследствии обрезан, up), как забыв о том, что в разработке уже следующее поколение чипов, с унифицированными конвеерами. RAMBus решили так и оставить посчитав что частота всё окупит, но сделай они память на вдвое меньшей частоте(удвоение кол-ва существующей памяти накинет цену процентов на 15%), но в двое большем объёме, сейчас ситуация была-бы другой.
Если есть другие мнения, можете моё оспорить, но скажу зарание - НЕ надо распылятся по чём зря речами, вот, мол Сони молоды, они чё-нибудь придумают, и как попрут хиты с мега-графико. Не надо этого, чудес не бывает, самое технологичное что сейчас есть MGS, который к слову показывает, не только отличной постановкой, но и убогими текстурами, а новых анонсов пока нет. Мы все когдато купились, на речи Кутараги и Хераи о суперпроцессоре Cell и РЕНДЕРЫ MotorStorm и KillZone2, и многие кто сейчас видят роеальное положение вещей просто боятся даже самому себе признать, что его обманули.
+1 0   -1 0
Гость
Гость
Забанен
8 декабря 2007 года в 14:36
Здарова Дантыч! Соглашусь с написаным...
+1 0   -1 0
Гость
Гость
Забанен
8 декабря 2007 года в 14:38
to Rimlyanin

псп не разогнали,а,если грубо и не совсем точно"рзлочили"для разрабов эту частоту
проц псп может работать на частоте 111Мгц,222Мгц и 333Мгц,игры для нее делались с учетом того,что максимальная частота-222Мгц,теперь разрабам"открыта"максимальная частота 333Мгц,сделано это было для ГоВ

to Азот

пс3 и директХ никак не связаны)))отчего кто-то решил их померять-непонятно)))

+1 0   -1 0
Гость
Гость
Забанен
8 декабря 2007 года в 14:42
Для тех кто оспаривает приемущество DX10 скажу одно, только вчера прошёл кризис под данным API(мне система позволяет) и вот это и есть фотореализм, HD текстуры, модели анимация, пост-процессинг - всё это, то ради чего содаётся DX10! Все кто видел дырки от пуль в пальмовых листьях, меня поймут!
И ещё к слову, я не собираюсь оправнывать Бокс у него свои недостатки, но Xenon работает честно, и от DX10 у него отличны AA, вся суть в том, что у MS на то время были готовые наработки оставалось только внедрить их, по этому, как косоль Бокс идёт в переди, и не надо мне говорить про все эти террфлопсы которые выдаёт Cell!, я хочу видеть на экране детализированные миры, а не смотреть как расчитываются молекулы(привет F@H!)
+1 0   -1 0
Гость
Гость
Забанен
8 декабря 2007 года в 14:46
to D@NTE

никто ничего не оспаривает
директХ-это средство,инструментарий создания игры

в случае с пс3-у нее свой инструментарий,никак не зависящий от спецификациц директХ

+1 0   -1 0
Гость
Гость
Забанен
8 декабря 2007 года в 14:49
все беда. Надо значит выбросить PS3, нас обманули, дырки в пальмах мы не увидим. Сайт надо закрыть.
Я видел эти дырки в пальмах, а также я видел стремную физику и откровенно отстойный сюжет.
РЕиграбельность у игры неочень.
Прошел и забыл. НУ может повторю, когда будет видюха, которая потянет это все на самых высоких настройках.
Да и о чем речь? Как можно ставить крест на продукте только из-за того, что у конкурентов есть только ОДИН Кризис.
+1 0   -1 0
Гость
Гость
Забанен
8 декабря 2007 года в 14:56

Rimlyanin:

все беда. Надо значит выбросить PS3, нас обманули, дырки в пальмах мы не увидим. Сайт надо закрыть.
Я видел эти дырки в пальмах, а также я видел стремную физику и откровенно отстойный сюжет.
РЕиграбельность у игры неочень.
Прошел и забыл. НУ может повторю, когда будет видюха, которая потянет это все на самых высоких настройках.
Да и о чем речь? Как можно ставить крест на продукте только из-за того, что у конкурентов есть только ОДИН Кризис.

А при чём тут конкуренты? Кризис это капля в море, кстати с физикой там всё в порядке, не знаю с чего ты это выдал, а сюжет норм(хотя бы не хуже COD4), вся мультиплатформа "сбегается" на ПК, а передёргивать фразы опять же не надо, хочешь сказать, что весь этот шум по поводу MS и KZ2 был обоснован, посмотри на правду, KZ сейчас обычнй шутер с размытыми текстурами и не понятны пост-процессингом и без даты выхода. Про плоские горы MS я уже и говорить не буду. Хвалёная HS тормозить(в конце) AC глючит(на боксе он смотрится лучше) и не надо кидать камни в разработчико, надо изначально делать грамотную архитектуру.
+1 0   -1 0
Гость
Гость
Забанен
8 декабря 2007 года в 15:01
to D@NTE

знаешь,для того,чтобы увидеть размытые текстуры киллзон2 и непонятный пост-процессинг,от которых большинство игрожурналистов писают кипятком и кричат,что это замечательно,бесподобно и нигде на консолях такого нет нужна пс3 за 16000 рублей

а какой комп нужен,чтобы запустить крайсис в 720р и выкрученными на максимум настройками графики???

+1 0   -1 0
Гость
Гость
Забанен
8 декабря 2007 года в 15:02
Интересно,а какая графика будет в KILLZONE 2 на PC?
Просто так,пофаназировать!
+1 0   -1 0