ПрограммированиеФорумГрафика

Протестите плиз GPU скиннинг (тест оптимизаторов в [33], 3 стр.)

Страницы: 1 2 3 4 Следующая »
#0
17:07, 6 мая 2013

Накидал тут не большой список разных вариантов GPU скиннинга и хотел поглядеть у кого как работает каждый.
Если не сложно, вот тут архив. Все что надо - это распаковать в любое место, запустить start.bat. После этого поочередно запустятся разные способы скиннинга. После запуска каждого из них, просто посмотрите секунд 5-10 нет ли каких артефактов или еще чего и просто закройте приложение (F10 или как обычно). Следом сразу запустится следующий тест и так до конца 8 вариантов. В конце откроется файл с результатами. Если не открылся, то он в корне - result.txt. Его содержимое прошу сюда, вместе с кратким описанием железа. Достаточно имя вендора и модель.
Краткое описание тестов:

mat_* - использование полноценных 4х4 матриц для костей (16 флоатов)
quat_* - вместо матриц используются кватернион + позиция (8 флоатов)

*_const - трансформы заливаются в качестве массива униформов
*_tex - трансформы - это 1D текстура
*_buf - заливка через TBO
*_block - используется UBO

Тест призван выявить какой из способов быстрее (просто разница). Пока (тестил у себя) вижу, что AMD и NV имеют довольно разные результаты.
Обновление данных, в случае буферов, происходит путем glBufferData. Без маппинга и без инвалидации. С ними вообще все на много веселей у разных вендоров.

Всем спасибо за участие.

ЗЫ. *.pdb положил рядом на случай падения программы что бы отследить.

#1
17:11, 6 мая 2013

Данные лучше обновлять через glBufferSubData, если правильно понимаю.

#2
17:39, 6 мая 2013

Чет не работает скиннинг. Окна перестартовуют, но во всех вариантах человек и динозавр стоят и не двигаются.
Видюха HD5870 если чо.

P.S. Вот лог:

Matrix - Constant - 265
Matrix - Texture - 168
Matrix - Buffer - 241
Matrix - Block - 264
Quaternion - Constant - 273
Quaternion - Texture - 167
Quaternion - Buffer - 244
Quaternion - Block - 268

#3
17:52, 6 мая 2013

AMD 7870 - все стоят на месте.

Matrix - Constant - 410
Matrix - Texture - 238
Matrix - Buffer - 367
Matrix - Block - 387
Quaternion - Constant - 425
Quaternion - Texture - 234
Quaternion - Buffer - 371
Quaternion - Block - 413
#4
18:27, 6 мая 2013

GTX 560 - все стоят не двигаются.

Matrix - Constant - 229
Matrix - Texture - 217
Matrix - Buffer - 220
Matrix - Block - 225
Quaternion - Constant - 207
Quaternion - Texture - 226
Quaternion - Buffer - 237
Quaternion - Block - 228
#5
19:11, 6 мая 2013

GT 640M 2 GB DDR3

Matrix - Constant - 67
Matrix - Texture - 93
Matrix - Buffer - 94
Matrix - Block - 67
Quaternion - Constant - 90
Quaternion - Texture - 108
Quaternion - Buffer - 108
Quaternion - Block - 90
Matrix -  - 264

Intel HD 4000

Matrix - Constant - 41
Matrix - Texture - 27
Matrix - Buffer - 28
Matrix - Block - 29
Quaternion - Constant - 42
Quaternion - Texture - 40
Quaternion - Buffer - 42
Quaternion - Block - 44
Matrix -  - 82

#6
19:12, 6 мая 2013

Пардон. Забыл предупредить, что скиннинг там... эмм... ну только скиннинг. Анимацию пока убрал. Т..е. просто пересчет вершин без движения, но каждый кадр.
Анимация будет слегка влиять на результат.
И да... обновление через glBufferSubData. Много экспериментил и запутался уже.
Спасибо за тесты. Примерно подтверждается то, что я видел у себя. На NV лучше юзать текстуру или TBO (суть одно). А вот на AMD лучше юзать константы или UBO.
При это NV почти пофиг на количество данных и способ их "добычи". А вот AMD к этому довольно чувствительна.
Хотелось бы еще владельцов интеллов (которые умеют в OGL 3.3).
Надо наверно еще добавить мешей, а то я смотрю тут народ over200 ФПС имеет.
Вот версия с 256 персами. Просто распакуйте в корень. В принципе соотношение не должно сильно поменяться, но пусть будет более нагруженная сцена.

#7
19:53, 6 мая 2013

HD5870

Matrix - Constant - 61
Matrix - Texture - 40
Matrix - Buffer - 55
Matrix - Block - 60
Quaternion - Constant - 62
Quaternion - Texture - 40
Quaternion - Buffer - 55
Quaternion - Block - 60

#8
19:56, 6 мая 2013

GTS 250

Matrix - Constant - 27
Matrix - Texture - 28
Matrix - Buffer - 28
Matrix - Block - 28
Quaternion - Constant - 28
Quaternion - Texture - 27
Quaternion - Buffer - 28
Quaternion - Block - 28
#9
20:39, 6 мая 2013

GF480GTX

Matrix - Constant - 357
Matrix - Texture - 314
Matrix - Buffer - 321
Matrix - Block - 329
Quaternion - Constant - 365
Quaternion - Texture - 317
Quaternion - Buffer - 323
Quaternion - Block - 331

#10
20:55, 6 мая 2013

HD 6850

Matrix - Constant - 216
Matrix - Texture - 139
Matrix - Buffer - 190
Matrix - Block - 209
Quaternion - Constant - 217
Quaternion - Texture - 138
Quaternion - Buffer - 193
Quaternion - Block - 213

#11
21:18, 6 мая 2013

GeForce GTX 580
для насыщенной :
Matrix - Constant - 77
Matrix - Texture - 67
Matrix - Buffer - 70
Matrix - Block - 67
Quaternion - Constant - 79
Quaternion - Texture - 69
Quaternion - Buffer - 72
Quaternion - Block - 71

для простой версии - та что в начале поста:
Matrix - Constant - 327
Matrix - Texture - 290
Matrix - Buffer - 304
Matrix - Block - 299
Quaternion - Constant - 305
Quaternion - Texture - 264
Quaternion - Buffer - 307
Quaternion - Block - 301

#12
21:40, 6 мая 2013

GeForce GTS 450

первая версия:
Matrix - Constant - 99
Matrix - Texture - 92
Matrix - Buffer - 95
Matrix - Block - 99
Quaternion - Constant - 99
Quaternion - Texture - 98
Quaternion - Buffer - 97
Quaternion - Block - 92

вторая версия:
Matrix - Constant - 26
Matrix - Texture - 25
Matrix - Buffer - 25
Matrix - Block - 26
Quaternion - Constant - 26
Quaternion - Texture - 26
Quaternion - Buffer - 26
Quaternion - Block - 26

#13
21:52, 6 мая 2013

DeadMeat
Отличный тест ты придумал. Очень интересно!

ATI 5670:

тест из первого поста:

-----------------------------------
06.05.2013 20:43:08,63
-----------------------------------
Matrix - Constant - 93
Matrix - Texture - 85
Matrix - Buffer - 95
Matrix - Block - 99
Quaternion - Constant - 130
Quaternion - Texture - 120
Quaternion - Buffer - 132
Quaternion - Block - 135

Насыщенная версия

-----------------------------------
06.05.2013 20:48:10,34
-----------------------------------
Matrix - Constant - 24
Matrix - Texture - 22
Matrix - Buffer - 28
Matrix - Block - 29
Quaternion - Constant - 34
Quaternion - Texture - 31
Quaternion - Buffer - 36
Quaternion - Block - 36

На работе есть Intel HD 4000. Завтра обязательно запущу!

#14
22:19, 6 мая 2013

7870 второй тест

Matrix - Constant - 96
Matrix - Texture - 55
Matrix - Buffer - 82
Matrix - Block - 95
Quaternion - Constant - 98
Quaternion - Texture - 54
Quaternion - Buffer - 83
Quaternion - Block - 95

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.