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

Vulkan API (вышел!) (409 стр)

Страницы: 1408 409 410 411461 Следующая »
#6120
(Правка: 2:41) 2:15, 23 дек. 2019

Кому не лень, можете протестировать демку? Хоть запустится ли))
GL_VK_interop benchmark

Давно мучал вопрос о том, на сколько эффективно использовать расширение EXT_external_objects - выделение памяти в вулкане и использование этого буфера в OpenGL.

На днях увидел новые демки от NVidia (https://github.com/nvpro-samples/build_all), там аж 3 демки основаны на этом расширении, но тема производительности так и не была раскрыта. Не удержался, накатал свою демку.

1,2 - переключение между режимами, 1 - используется буфер вулкана, 2 - буфер OpenGL
пробел - ресетит счетчик фпс и печатает результат в консоль.

Вулкановская часть построена на основе демки от NV, требует VulkanSDK 1.1.126.0. dll включил в архив, но мало ли.

GPUTime - замер времени отрисовки через glQueryCounter, CPUTime/SystemTyme - замер через QueryPerformanceCounter. На NV они практически совпадают, но на АМД была принципиальная разница в замере времени через glQueryCounter, так что добавил оба варианта.

В демке создается два одинаковых 4Мб буфера (полоски под разным углом для того чтоб можно было отличить их)), под первый - выделяется память в вулкане, потом в этой памяти создается буфер OpenGL, второй буфер - обычный SSBO. В демке идет только чтение из буфера во фрагментном шейдере.

У меня разница получается 0.01мс в пользу OpenGL, но такой разницей однозначно можно пренебречь, учитывая все преимущества такого подхода.


#6121
(Правка: 10:30) 8:05, 23 дек. 2019

Fantom09
оба режима работают примерно одинаково. фпс плавает от 1815 до 1825 в обоих режимах.

upd: система: GTX 1060 6GB + i7 4820K

#6122
(Правка: 8:46) 8:43, 23 дек. 2019

HolyDel
какая у тебя видеокарта и проц ?
FPS хороший.

У меня тест сделал краш.  В консоли написал мою AMD HD 7950 и контекст OpenGL 4.5

Что хоть в тесте было то ?

#6123
(Правка: 10:54) 10:43, 23 дек. 2019

Fantom09
У меня написал selected device:... и закрылся, никаких ошибок не написал

upd: забыл что огл запускается на интеле, переключил на нвидию и все заработало.
1: 2000фпс
2: 1950 и уменьшается
снова 1: увеличивается до 2000

gtx 1070

#6124
(Правка: 10:59) 10:57, 23 дек. 2019

Пока наша библиотека варится, сообщу пару вещей...
1. Вышел новый Vulkan SDK 1.1.130 (новый вулкан с пивом...)
2. Расширение вроде VK_NVX_image_view_handle созданы не сколько для пользователей, сколько для разработчиков дистрибутивов и оболочек Linux и Unix...
3. Планируется еще более быстрая трассировка лучей...

#6125
11:00, 23 дек. 2019

/A\
> У меня написал selected device:... и закрылся, никаких ошибок не написал
ronniko
> У меня тест сделал краш.  В консоли написал мою AMD HD 7950 и контекст OpenGL
> 4.5
попробуйте удалить или переименовать vulkan-1.dll в папке.

у меня работает и с ним и без него, но мало-ли.

#6126
(Правка: 11:27) 11:19, 23 дек. 2019

Спасибо!
ronniko
> В консоли написал мою AMD HD 7950
Этого и боялся)
/A\
> У меня написал selected device:... и закрылся
Тоже AMD?
ronniko
> OpenGL 4.5
Блин, копипаст зло, забыл в FreeGlut контекст на 4.6 поменять, хотя NVidia даже на 4.5 пишет 4.6...

ronniko
> Что хоть в тесте было то ?
Просто выводит скринквад с картинкой, типа FragColor = data[offs]

Исправил контект, ronnikoб /A\ - можете еще разок попробовать?
GL_VK_interop benchmark (fix1)

Чувствую что придется переписывать Вулкановскую часть, хотел сэкономить чуток времени, заодно поиграться с V-EZ, в итоге потратил в разы больше времени и очевидно вылезли косяки... Еще и vkCreateDebugReportCallbackEXT у меня какого-то фига не грузится...

P.S.
/A\
>upd: забыл что огл запускается на интеле, переключил на нвидию и все заработало.
Ага, ясно, я просто поленился делать проверки на поддержку расширения "VK_KHR_external_memory_win32", может еще в этом дело. Вообщем часть Вулкана нужно еще доработать напильником, халява не прокатила))

>снова 1: увеличивается до 2000
можешь нажать пробел, оно тогда ресетит FPS counter, но в целом и так ясно что при шаринге есть просадка 0,1-0.5, но имхо это не много

#6127
11:23, 23 дек. 2019

Fantom09
> Еще и vkCreateDebugReportCallbackEXT у меня какого-то фига не грузится...
ты же указываешь ему vk_instance, вместо nullptr?

#6128
(Правка: 11:35) 11:31, 23 дек. 2019

Слабо 2000 FPS для квада с картинкой !
Квад рейтрейсингом рисуется что ли ?!

У меня в Dx12 тени\анимация\5 деревьев(по 7000 треугольников) и рендер в текстуру все дает 1800 FPS !


Fantom09 fix exe тоже самое краш.

#6129
(Правка: 11:34) 11:32, 23 дек. 2019

HolyDel
> ты же указываешь ему vk_instance, вместо nullptr?
Ну да, а не нужно? :)
Но суть в том, что оно саму функцию не находит, указатель на vkCreateDebugReportCallbackEXT = NULL, пробовал даже вручную грузить через:
auto func = (PFN_vkCreateDebugReportCallbackEXT)vkGetInstanceProcAddr(instance, "vkCreateDebugReportCallbackEXT");
Всеравно NULL... Потом поковыряюсь...

ronniko
> Слабо 2000 FPS для квада с картинкой !
Квад заполняется из буфера SSBO, это "чуть-чуть" дороже простого вывода текстурированного квада.
Меня как раз таки интересовали операции с памятью, потому задействовал буфер по максимуму.

#6130
11:36, 23 дек. 2019

Fantom09
> можешь нажать пробел, оно тогда ресетит FPS counter
тогда 1770фпс на 2

#6131
11:44, 23 дек. 2019

/A\
> тогда 1770фпс на 2
эм...... странно... это получается что буфер вулкана работает быстрее SSBO на 11.5%
у меня на старенькой 750GT с точностью до наоборот - 672 против 688, тоесть SSBO быстрее на 2.5%

#6132
(Правка: 12:24) 12:21, 23 дек. 2019

Fantom09
> Ну да, а не нужно? :)
Как раз нужно. Просто почти все и с nullptr грузится, а vkCreateDebugReportCallbackEXT нет. Ну и раcширение VK_EXT_debug_report в enabledExtensions инстанса включил?

#6133
12:44, 23 дек. 2019

HolyDel
> раcширение VK_EXT_debug_report в enabledExtensions инстанса включил?
Естественно, потому и странно.
В гугле видел пару подобных тем, по свободе попробую разобраться, ну и саму инициализацию стоит переписать, сейчас вся инициализация идет через V-EZ, может там какой косяк.

#6134
12:57, 23 дек. 2019

Fantom09
> сейчас вся инициализация идет через V-EZ, может там какой косяк.
косяков там много, я в первые 5 мин использования нашел несколько серьезных багов

Страницы: 1408 409 410 411461 Следующая »
ПрограммированиеФорумГрафика