DirectX и консоли
Познавательно
Читал тут недавно статью о 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
Rimlyanin:
Простите, но статейка не совсем корректа.
1) в Xbox стоял родной GF3 без половинок, который поддерживал DX8.1 поэтому графически игры более красивы, чем на PS2
2)в 360 стоит R600 от ATI с унифицированными шейдерами и только, а в PS3 стоит GF7900 вроде с суфиксом GT и это действительно самая большая глупость PS3 только потому, что инженеры Сони впотратили 2 года на то, чтобы научить Cell обрабатывать графику, но у них это не получилось и они в кротчайшие сроки "прикрутили" GF из-за этого кстати PS3 и опоздала на 1 год.
3) сложная архитектура разделения оперативки в PS3 пока затрудняет программирование, т.к. некоторые данны дублируются и не синхронизируются, т.к. работают на разных скоростях.
4) Играбельными DX10 игры пока быть не могут. Почитайте форумы: 8800 Ultra выдает крайне малый FPS в играх с DX10 графикой. И это при цене в 200000. Только карточки следующего поколения обеспечат играбельность. Новая GF8800GT тоже здувается при разрешении 1900х1080.
5) В компе (по крайней мере у меняя) 300Mb оперативки тратиться на ОС, а для приставок этот показатель на порядок ниже.
6) PS2 всегда брала не графикой, а количеством и качеством игр, т.е. играбельностью. У PS3 с этим пока худо.
и еще: большинство игр на 360 идут в разрешении до 720, а 1080 можно посчитать по пальцам одной руки; и, может, пока картинка 360 лучше за счет более качественного слаживания (в этом плане ATI всегда опережала Nvidea), но я уверен, что после оптимизаций кода, PS3 уделает 360 хотябы по детализации.
И как бы там нибыло: DX10 есть только на Висте. Мне эта операционка не нравиться и тем, что она от Гейтся, и тем что она старается полностью контролировать пользователя, и тем, что она при всяком удобном случае лезен в интернет, и многим други. Поживу с XP. А комп, который может выводить игру в качестве как и PS3 стоит не менее 40000 (камень, мама, оперативка, жесткий, блок питания, корпус, BR привод, аудио карточкаи и кое-что по мелочи), и пусть говорят, что на нем еще можно и работать... Я дома на компе и работаю и играю + играю на приставке, а кому-то дешевле разделить эти устройства, например на ноутах особо не поиграешь.
может я где-то не прав? давайте пообсуждаем подробнее
Всё верно говоришь. Вот только получается что пс3 не самая крутая. И те кто имеет хороший комп смогут через год видеть на своих ЖК-теликах графику, до которой пс3 не доберётся никогда. Но зато будет много игр играбельных и по 2.000 руб , так что ли ?
Я вот хотел брать бокс, что-бы не попадать за лавэ на мультиплатформу. Но вижу как всё стремительно развивается на компах, и сейчас думаю что бокс нафиг не нужен. Да и если смотреть по ценам то и бокс и сони по цене стоят как хорошая видяха, значит она круче консолей. А я хочу что-бы всё было супер. Значит надо брать к пс3 не бокс а комп. Вот такие вот мысли.
vlad07:
Удивляться такой статье не надо так как журнал гей м лэнд симпотизируют гробу360 и поливать ps3 "грязью",вводить в заблуждение читателей типа ps3 гадость,а гроб360 мегавесЧь-их работа!Ну тут факты приводятся факты! и потом в основном тут про ПК говорится!
SonyCorp:
Вообще в принципе все не так плохо, вот выйдет ГТ5 с умопоирачительной графой, и что это показывает, а показывает то, что сони может, а может и не мало, а потом положа руку на сердце вы покупали Консоль не для графики! :) а для игр!Rimlyanin:
Простите, но статейка не совсем корректа.
1) в Xbox стоял родной GF3 без половинок, который поддерживал DX8.1 поэтому графически игры более красивы, чем на PS2
2)в 360 стоит R600 от ATI с унифицированными шейдерами и только, а в PS3 стоит GF7900 вроде с суфиксом GT и это действительно самая большая глупость PS3 только потому, что инженеры Сони впотратили 2 года на то, чтобы научить Cell обрабатывать графику, но у них это не получилось и они в кротчайшие сроки "прикрутили" GF из-за этого кстати PS3 и опоздала на 1 год.
3) сложная архитектура разделения оперативки в PS3 пока затрудняет программирование, т.к. некоторые данны дублируются и не синхронизируются, т.к. работают на разных скоростях.
4) Играбельными DX10 игры пока быть не могут. Почитайте форумы: 8800 Ultra выдает крайне малый FPS в играх с DX10 графикой. И это при цене в 200000. Только карточки следующего поколения обеспечат играбельность. Новая GF8800GT тоже здувается при разрешении 1900х1080.
5) В компе (по крайней мере у меняя) 300Mb оперативки тратиться на ОС, а для приставок этот показатель на порядок ниже.
6) PS2 всегда брала не графикой, а количеством и качеством игр, т.е. играбельностью. У PS3 с этим пока худо.
и еще: большинство игр на 360 идут в разрешении до 720, а 1080 можно посчитать по пальцам одной руки; и, может, пока картинка 360 лучше за счет более качественного слаживания (в этом плане ATI всегда опережала Nvidea), но я уверен, что после оптимизаций кода, PS3 уделает 360 хотябы по детализации.
И как бы там нибыло: DX10 есть только на Висте. Мне эта операционка не нравиться и тем, что она от Гейтся, и тем что она старается полностью контролировать пользователя, и тем, что она при всяком удобном случае лезен в интернет, и многим други. Поживу с XP. А комп, который может выводить игру в качестве как и PS3 стоит не менее 40000 (камень, мама, оперативка, жесткий, блок питания, корпус, BR привод, аудио карточкаи и кое-что по мелочи), и пусть говорят, что на нем еще можно и работать... Я дома на компе и работаю и играю + играю на приставке, а кому-то дешевле разделить эти устройства, например на ноутах особо не поиграешь.
может я где-то не прав? давайте пообсуждаем подробнее
Всё верно говоришь. Вот только получается что пс3 не самая крутая. И те кто имеет хороший комп смогут через год видеть на своих ЖК-теликах графику, до которой пс3 не доберётся никогда. Но зато будет много игр играбельных и по 2.000 руб , так что ли ?
SonyCorp:
:) ну это вообще идеал! :) тока комп такой будет стоить !!!Rimlyanin:
Простите, но статейка не совсем корректа.
1) в Xbox стоял родной GF3 без половинок, который поддерживал DX8.1 поэтому графически игры более красивы, чем на PS2
2)в 360 стоит R600 от ATI с унифицированными шейдерами и только, а в PS3 стоит GF7900 вроде с суфиксом GT и это действительно самая большая глупость PS3 только потому, что инженеры Сони впотратили 2 года на то, чтобы научить Cell обрабатывать графику, но у них это не получилось и они в кротчайшие сроки "прикрутили" GF из-за этого кстати PS3 и опоздала на 1 год.
3) сложная архитектура разделения оперативки в PS3 пока затрудняет программирование, т.к. некоторые данны дублируются и не синхронизируются, т.к. работают на разных скоростях.
4) Играбельными DX10 игры пока быть не могут. Почитайте форумы: 8800 Ultra выдает крайне малый FPS в играх с DX10 графикой. И это при цене в 200000. Только карточки следующего поколения обеспечат играбельность. Новая GF8800GT тоже здувается при разрешении 1900х1080.
5) В компе (по крайней мере у меняя) 300Mb оперативки тратиться на ОС, а для приставок этот показатель на порядок ниже.
6) PS2 всегда брала не графикой, а количеством и качеством игр, т.е. играбельностью. У PS3 с этим пока худо.
и еще: большинство игр на 360 идут в разрешении до 720, а 1080 можно посчитать по пальцам одной руки; и, может, пока картинка 360 лучше за счет более качественного слаживания (в этом плане ATI всегда опережала Nvidea), но я уверен, что после оптимизаций кода, PS3 уделает 360 хотябы по детализации.
И как бы там нибыло: DX10 есть только на Висте. Мне эта операционка не нравиться и тем, что она от Гейтся, и тем что она старается полностью контролировать пользователя, и тем, что она при всяком удобном случае лезен в интернет, и многим други. Поживу с XP. А комп, который может выводить игру в качестве как и PS3 стоит не менее 40000 (камень, мама, оперативка, жесткий, блок питания, корпус, BR привод, аудио карточкаи и кое-что по мелочи), и пусть говорят, что на нем еще можно и работать... Я дома на компе и работаю и играю + играю на приставке, а кому-то дешевле разделить эти устройства, например на ноутах особо не поиграешь.
может я где-то не прав? давайте пообсуждаем подробнее
Всё верно говоришь. Вот только получается что пс3 не самая крутая. И те кто имеет хороший комп смогут через год видеть на своих ЖК-теликах графику, до которой пс3 не доберётся никогда. Но зато будет много игр играбельных и по 2.000 руб , так что ли ?
Я вот хотел брать бокс, что-бы не попадать за лавэ на мультиплатформу. Но вижу как всё стремительно развивается на компах, и сейчас думаю что бокс нафиг не нужен. Да и если смотреть по ценам то и бокс и сони по цене стоят как хорошая видяха, значит она круче консолей. А я хочу что-бы всё было супер. Значит надо брать к пс3 не бокс а комп. Вот такие вот мысли.
Zeny:
В том то и дело что факты, а факты говорят о бешенном развитии компов именно там где у пс3 узкое место.vlad07:
Удивляться такой статье не надо так как журнал гей м лэнд симпотизируют гробу360 и поливать ps3 "грязью",вводить в заблуждение читателей типа ps3 гадость,а гроб360 мегавесЧь-их работа!
Ну тут факты приводятся факты! и потом в основном тут про ПК говорится!
SonyCorp:
Ну да, согласен с тобой, косяк вышел, да и эту ситуацию уже никак не исправиш...Zeny:
vlad07:
Удивляться такой статье не надо так как журнал гей м лэнд симпотизируют гробу360 и поливать ps3 "грязью",вводить в заблуждение читателей типа ps3 гадость,а гроб360 мегавесЧь-их работа!
Ну тут факты приводятся факты! и потом в основном тут про ПК говорится!
В том то и дело что факты, а факты говорят о бешенном развитии компов именно там где у пс3 узкое место.
И искренне считаю, что делать из компа мультимедийный центр, как и из PS3 комп-разврат. (Пока)
