Алексей
Где кошачья мята?!
offline
Опыт:
26,543Активность: |
Опрос: поддержка вершинных шейдеров
Поддерживает ли ваша видеокарта вершинные шейдеры? (Собственно, идея в том, чтобы ускорить работу MdlVis, перенеся на GPU часть вычислений. Если хотя бы у 80% есть нормальное железо, то будет смысл добавить в настройки программы опцию, включающую альтернативный [ускоренный, шейдерный] алгоритм рендеринга). Пока я доделываю редактор анимаций, как раз наберётся необходимая статистика ответов. . Для тех, кто уже тянется к третьему пункту опроса: речь идёт именно о ВЕРШИННЫХ шейдерах (НЕ фрагментных!), они поддерживаются даже довольно старым железом. Так что если у вас стоит GeForce2 (и выше), или же Radeon 9700 (и выше), смело голосуйте: "ДА, ПОДДЕРЖИВАЕТ". |
16.11.2006, 12:46 | #1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
DampirTBs
offline
Опыт:
28,311Активность: |
У меня стоит гф 6600 гт поетому мне до барабана. Думаю у большинства народа сидящего на модемах старые компы, поетому мона сразу определить на сайте всех модемщиков =) |
16.11.2006, 15:35 | #2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Ты бы, Алексей обьяснил как это проверить =) впрочем, у меня GeForce 3, так что вероятно, поддерживает |
16.11.2006, 15:38 | #3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Кет
offline
Опыт:
111,234Активность: |
пока что мы выигрываем. |
16.11.2006, 16:36 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Inoriol
Я пришёл....
offline
Опыт:
11,629Активность: |
у меня ge force gx 5200 так что вроде поддерживает. |
16.11.2006, 17:00 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
А я не в курсе. У меня средненькая видюха. Radeon 9550 XT 128mb. Как вообще енто определить? Я по нету полазал так и не нашел ничего. Плз, кто знает скажите.
Алексей, в любом случае нужно вводить опцию, ведь железо все потиху грейдят, глядишь и через год уже будут у всех видюхо с вершинными шейдерами. |
16.11.2006, 17:20 | #6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Охотник
...
offline
Опыт:
3,472Активность: |
DampirTBs-ну у меня модем-и при это видюха GE 7800 GT -просто некоторые живут в таких местах как я-где сложно поставить выдленку с хорошей скоростью и тарифами(безлимитки ваще не видел(моя мечта))
|
16.11.2006, 17:40 | #7
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Кет
offline
Опыт:
111,234Активность: |
Iron, мб написано на коробке из-под видюхи или в дровах...
|
16.11.2006, 17:57 | #8
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Wolfeg
oldfag
offline
Опыт:
23,207Активность: |
Iron, кароч заходишь в NFS, разгоняешь большую скорость, если всё вокруг размазывается, значьт есть, ткоа хз какой версии, но эт не важно. в общем это типа расплывчатости.
|
16.11.2006, 19:18 | #9
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Вершинные шейдеры это сила. Тока я слабо представляю как ты их сипользовать будешь под Делфи и в ОпенЖЛ... Или ты не для рендеринга сцены, а для вычислений? |
16.11.2006, 21:53 | #10
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
MENToss, данный способ пока не катит, ибо я растягиваю удовольствие ипока тока 31% закончел, т.е. скорость выше 150-и не поднимаетси. Или этого достаточно? Если да, то обращу внимание.
|
16.11.2006, 22:24 | #11
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Алексей
Где кошачья мята?!
offline
Опыт:
26,543Активность: |
Я просто выпал ;). Впервые слышу, что шейдер equ расплывчатость. Да и способ теста предложен весьма оригинальный. В общем, чтобы люди не обшаривали всю сеть в поисках информации о шейдерах, попытаюсь дать небольшую справку:
Шейдерные программы (шейдеры) - это не расплывчатость и не спецэффекты. Это - всего лишь программы, которые предназначены для выполнения на видеопроцессоре. Они пишутся на специальных языках программирования и загоняются в видеокарту, чей процессор (GPU) выполняет их независимо от работы ЦП компа. Основная цель, ради которой пишут шейдеры - перенести часть вычислений (в основном векторных и матричных преобразований) на GPU. Зачем это нужно? Дело в том, что многие графические расчёты очень ресурсоёмки. К примеру, при анимировании персонажа нужно рассчитывать положение каждой вершины(!) модели в каждом кадре. И если будет меньше 25 кадров в секунду, то получатся тормоза. А ведь ещё нужно обсчитать текстурирование, отсортировать полупрозрачные фрагменты в порядке их видимости, наложить освещение... Так что очень неплохо было бы ускорить этот процесс. Теперь о видеокартах. Они всё время совершенствуются. Статистика показывает, что за то время, пока Intel удваивает производительность своих процессоров, NVidia и ATI увеличивают "шустрость" GPU примерно в 3,3 раза. Недавно на gamedev'е проводили тест - оказалось, что видеопроцессор Radeon 9800 эквивалентен Athlon 15000+. А старенькие GeForce2 обгоняют 1500Мгц-пентиумы. Эти данные буквально ошеломляют. Как же так? Почему GPU считает НАСТОЛЬКО быстрее? Всё дело в конвейеризации и распараллеливании. Intel сейчас хвастается двухъядерным процессором. А, к примеру, в GeForce6 на одном кристалле смонтировано 6 вершинных и 16 фрагментных процессоров! ЦП должен обрабатывать разнородные данные, а GPU ориентированы на обработку однородных массивов (т.е. потоков вершин или наборов матриц/векторов), что и позволяет эффективно распараллелить вычисления. Многие команды векторной арифметики аппаратно реализованы на видеопроцессоре. Например, вычисление скалярного произведения векторов на GPU реализуется одной командой, тогда как на ЦП - 5 командами (причём операции умножения тратят по 4 такта процессора каждое). Вывод: все расчёты, какие только можно (а лучше - даже и те, которые нельзя) желательно перенести на GPU. Написать шейдер, загнать в видеокарту - и путь он там работает, а проц займётся тем временем более важными делами. При этом получается просто сумасшедшее ускорение. Например, на шейдерах часто обсчитывают отражение, преломление, волны на воде (последнее осуществляется численным решением дифф. уравнений 2-го порядка прямо в реальном времени! Я как-то выкадывал свою демку, где на такой водичке плавало лого XGM). Конечно, всё это можно рассчитать и на ЦП. Но - очень долго. . Существует несколько видов шейдеров:
. Как проверить поддержку шейдеров? Воспользоваться любой тест-программой, которая может выводить список фич, поддерживаемых вашей видеокартой. В сети их полно. Выкладываю свою собственную - только что накатал её ;). Она весьма примитивна - просто опрашивает видеокарту и выводит список её фич в небольшом окошке. Вам нужно просмотреть эту кашу из надписей и найти там хоть что-нибудь из этого списка:
ATI-карточки могут выдавать ещё что-то вроде "GL_EXT_vertex_program" или "GL_ATI_vertex_program" - это показатель наличия ATI-специфического шейдерного процессора. Такие шейдеры будут работать только на картах ATI и никакого интереса не представляют. Алексей добавил: exploder: для расчёта анимации (положения вершин в каждом кадре). Да и какая разница, в чём из использовать? Они-то всё равно на собственных языках программирования пишутся, потом только в видеокарту загоняются. И в OpenGL это тоже отлично делается. Отредактировано Алексей, 16.11.2006 в 22:48. |
16.11.2006, 22:27 | #12
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
NETRAT
offline
Опыт:
83,712Активность: |
Тебе следовало их выводить в столбик, а не в строчку ... Да, поддерживает. Да имхо у 90% народу поддерживает, ибо, насколько я понял, это достаточно старая фича. Можешь смело на нее рассчитывать, но на всякий случай сделай программу более универсальной - добавь проверку этих шейдеров и опциональную поддержку Отредактировано NETRAT, 17.11.2006 в 01:16. |
17.11.2006, 01:07 | #13
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
PlagueHeart
Postmortem Upheaval
offline
Опыт:
2,201Активность: |
У меня видеокарта не поддерживает... но собираюсь на выходных новую купить... |
17.11.2006, 01:13 | #14
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
cosmo
® shadow of Mr.Gold
offline
Опыт:
15,207Активность: |
Алексей За статью большое спасибо, я этого не знал.
А в чем отличие версии пиксельных шейдеров ? например у меня на Radeon 9600 вторая версия, а для новых игр требуется 3-ая версия, в чем их отличия, т.е. это просто более усовершенствованый набор программ? |
17.11.2006, 12:26 | #15
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
А как файлик то ентот запускать? |
17.11.2006, 12:34 | #16
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Алексей
Где кошачья мята?!
offline
Опыт:
26,543Активность: |
cosmo: В том, что с каждой версией появляется всё больше новых команд, которые могут присутствовать в шейдерной программе. Если программа использует команды, появившиеся только в 3.0, то понятно, что она не пойдёт на младших версиях. Правда, иногда бессовестные производители игр, дабы показать "крутость" своей игрушки, делают шейдеры, которые вполне могли бы идти и на 2.0 (к примеру), но заявляют, что им якобы нужна самая последняя версия шейдеров и вводят в код игры соответствующую проверку. Это как в старом анекдоте:
Цитата:
Iron: В архиве лежит exe. Он запускается... ну, так, как обычно запускают программы. |
|
17.11.2006, 12:58 | #17
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
cosmo
® shadow of Mr.Gold
offline
Опыт:
15,207Активность: |
Алексей Это значит что раньше видео карты без этих программ вполне справлялись с поставленными задачами, а теперь игры стали слишком требовательны, что без шейдеров не обоитись.
Да у меня еще старый AGP порт и видео карта уже устаревшая, я вообще уже столкнулся с проблеммой устаренвания железа, недавног с Sata проколося, теперь дома лежит HDD 200гб а воткнуть его невошто. |
17.11.2006, 13:20 | #18
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Iron
Листовой
offline
Опыт:
24,427Активность: |
Алексей, перезалей, а то я архив скачиваю, а там просто файл без расширения. Если дописать расширение, то винда выдает ерор.
|
17.11.2006, 14:59 | #19
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
exploder
iOS zealot
offline
Опыт:
19,394Активность: |
Алексей, просто я читал про шейдеры, но сам лично их не программировал. Знаю, что вершинные шейдеры пришли на смену T&L блоку, и их помощью можно напрямую обращатся в регистрам видеокарты и выполнять вычисления...
|
17.11.2006, 15:12 | #20
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|