LINUX.ORG.RU
ФорумTalks

[ищу] Литература по работе видеокарт.

 


0

0

Наткнулся на проблему: вывод тормозит из-за частых обращений к буферу. Мне казалось что несколько десятков мегов, уходящие на геометрию - это мелочь... Но судя по документации, я где-то ошибся.

гхм... даже не натыкался на такое...
Грызи спеки :)

vitroot ★★
()
Ответ на: комментарий от v0rbis

Что большими кусками - это работа для К.О. :)

Десятки тысяч постоянно меняющих положение вершин - вот это нагрузка для буфера. Если верить документации. До проверок руки ещё не дошли.

wyldrodney
() автор топика
Ответ на: комментарий от wyldrodney

Конечно, я могу начать со статей на английском и закончить пролистыванием десятка полупонятных книг по смежным темам. Но лучше спросить и не тратить время.

wyldrodney
() автор топика
Ответ на: комментарий от wyldrodney

может я что-то не понимаю, но скелетная анимация персонажей с помощью вершинных шейдеров делается (остальная анимация есть манипуляции с матрицей модели), и прямое обращение к буферу (с лочением и разлочением) не нужно (жручая операция как ты уже понял)

v0rbis ★★
()
Ответ на: комментарий от wyldrodney

в общем случае ты отдаешь матрицу модели "бочка" на обработку физической части движка с заданными параметрами ("падает под углом чтобы катилась") и получаешь на выхлопе новую матрицу, характеризующую текущее положение дел модели "бочка".

если же ты хочешь чтобы упав бочка еще и разлетелась на куски, то опять же манипуляция с буфером не нужна, бочка может состоять и из нескольких "полу-бочек" если уж до тупого.

в той же GTA видел как сделаны модели машин? они не цельный кусок =)

v0rbis ★★
()
Ответ на: комментарий от v0rbis

Т.е. передвижение(смена глобальных координат) объекта не нагружает буфер настолько, что это заметно(проценты) скажется на скорости отрисовки?

Прости, я просто ещё не дочитал документацию по движку.

wyldrodney
() автор топика
Ответ на: комментарий от v0rbis

Спасибо)

Хотя почитать про устройство всё же будет интересно.

wyldrodney
() автор топика
Ответ на: комментарий от v0rbis

> а нахрена тебе часто менять вертексный буфер?

Товарищь желает все гнуть и сгибать, тряпки симулировать, уж больно сильно на деформации он фапал :D

EmStudio
()
Ответ на: комментарий от EmStudio

У тебя что-то с фантазией: постоянно к моему нику слово фап приписываешь, как и своему. Попробуй так не делать, ок?

wyldrodney
() автор топика

Есть же спеки от AMD, хотя так глубоко наверно не надо. Проблема не понятна, какой буфер?

amaora ★★
()
Ответ на: комментарий от wyldrodney

Я не понимаю о каких буферах речь, вершинные? те что в ogl представлены VBO'ом ? почитать могу продложить gamedev.ru если ещё не, там лекция была не плохая по VBO, не howto а то что надо. Вот,

http://www.gamedev.ru/community/gamedev_lecture/articles/?id=24

amaora ★★
()
Ответ на: комментарий от amaora

Буферы вершин и индексов.

И чуть больше чем "как оптимизировать меш" :) Собственно, плохо понимаю как оно работает, потому не могу точно сказать чего хочу. Лучший вариант: схема устройства видяхи с описанием что и как делает каждый модуль.

Спасибо за ссылку, полистаю.

wyldrodney
() автор топика
Ответ на: комментарий от wyldrodney

И после этого ещё тормозам удивляешься? На ogre3d.ru лежал пример простой игры, так там fps падал до 2-3, хотя сцена была довольно простая.

ЗЫ: как оно под линуксом пашет? Я когдп испытывал, он мне на некоторых примерах вместо текстур мусор показывал.

matich
()
Ответ на: комментарий от matich

Стабильно, без артефактов.

Насчёт тормознутости я вряд ли что-то скажу: большая часть демок спокойно держит Vsync (75) с максимальными настройками. Без него - 130-200, в зависимости от демо. Сцены довольно сложные... производительноссь на уровне других движков, никаких сюрпризов.

wyldrodney
() автор топика
Ответ на: комментарий от matich

Ну её в задницу, виндовая версия не запускается. Ковырять нужно. А собирать.. это с архивами возиться.

Уверен, там будет более сотни fps (смотрел урок).

wyldrodney
() автор топика
Ответ на: комментарий от wyldrodney

>виндовая версия не запускается. Ковырять нужно.

Ей нужна MSVCP71.DLL =)

У меня оно показывает 2-11 фпс. И жрёт 1Гб оперативки. Я понимаю, что память нынче дешёвая, но при такой картинке жрать целый гиг - это facepalm.bmp

matich
()
Ответ на: комментарий от wyldrodney

>> какие узкие места у современных видеокарт.

- филрейт // К.О. - полигоны в секунду // К.О. - количество смен шейдеров и обновлений в их юниформах - количество DIP'ов // К.О. хотя тут на проц давит - количество ненужных извлечений стейтов по glGet* вызывающих синхронизацию CPU-GPU

>> Мне казалось что несколько десятков мегов

Эммм, возьмем один десяток - 10 * 1024 * 1024 = 10485760 и разделим на 12(4 байта на координату одной вершины), потом поделим на 3 для получения количества поликов... Ты хочешь безболезненно выводить почти 300 тысяч поликов за кадр? :) Даже заюзав индексы для избежания повторений на стыках, все равно многовато будет.

Вообще давай больше конкретики :) Или спрашивай на специализированных форумах.

Andru ★★★★
()
Ответ на: комментарий от wyldrodney

А как в огре 1.7 с террейнми? В 1.6.х текстуры 2^n+1 для террейнов уродство какое-то.

matich
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.