0 / 0 / 0
Регистрация: 25.04.2023
Сообщений: 54
1

Советы по увеличению производительности приложения с Vulkan

30.12.2023, 11:56. Показов 716. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Было у меня приложение на OpenGL, переписал его на Vulkan, в итоге производительность упала с 1500~ до 1200~ фпс. Ладно, человеку на ассемблере вполне нормально написать код медленнее чем компилятору c++, но все таки можно указать на места где человек ошибся. Тут кажется что то тоже самое. Наверное, можно как минимум повторить уровень OpenGL на Vulkan. Так вот, какие могут быть советы по производительности для ускорения, может быть какие то программы отладчики для нахождения узких мест?
P.S.: код и все фишки практически копировал с Vulkan tutorial(код снизу)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2023, 11:56
Ответы с готовыми решениями:

FAQ по увеличению производительности Windows 7. Мифы и реальность
В последнее время всё чаще стал задаваться вопросом - что стоит делать с Windows 7 для увеличения...

Прошу совета по апгрейду или увеличению производительности ПК
Здравствуйте. Прошу совет с апгрейдом: Процессор Intel Core 2 Quad Q6600 2.4GHz Оперативка...

Девушка просит совет по увеличению производительности на старом железе
Нужно как-то увеличить производительность компа бюджетным образом) менять все от панели до задней...

Нужны советы по скорости/производительности моего скрипта
Решаю задачу по выборке данных. Ввиду возможной высокой нагрузки уже переписал код с php на c# -...

Советы по улучшению производительности на основании работы Adobe Scout CC.
Ребят, кто разбирается в скауте, дайте советы по улучшению производительности флешки по скрину.

8
1821 / 730 / 98
Регистрация: 01.10.2012
Сообщений: 3,735
30.12.2023, 14:00 2
Цитата Сообщение от leopeo Посмотреть сообщение
...производительность упала с 1500~ до 1200~ фпс.
Возможно Вы изучали дисциплину ТОЭ и помните "и-ка-за" и "у-ха-ха". Ток короткого замыкания может быть сотни ампер, но в реальной работе он миллиамперы. Др словами на синтетических тестах можно получить все что угодно, но это не основание для выводов. По меньшей мере фпс должен быть соразмерим с частотой обновления.

Цитата Сообщение от leopeo Посмотреть сообщение
Наверное, можно как минимум повторить уровень OpenGL на Vulkan.
Ну да, "новое должно быть быстрее (всегда и везде), иначе зачем оно нужно?" Нет какого-то одного "уровня", есть масса сцен, очень всяких и очень разных. И никто не обещал что все-все они будут быстрее автоматычно. Напр если вулкан быстрее справляется со сценами с массивной геометрией (миллиарды фейсов) - уже успех.

Такая ситуация (и такие же завышенные ожидания) возникает при любом портинге (напр при переходе на "OpenGL с шейдерами")
0
0 / 0 / 0
Регистрация: 25.04.2023
Сообщений: 54
30.12.2023, 14:23  [ТС] 3
Igor3D, могу заверить, что это не совсем синтетические тесты. В смысле это вполне игровая сцена на данный момент разработки. И на сколько я понял Vulkan толи автоматически, толи где то в коде прописано, что он не рендерит повернутые в ту же сторону что и камера полигоны, в отличие от OpenGL(типо если сквозь текстуры проходить то на Vulkan все просвечивает, а на OpenGL рисуется), и даже не смотря на это что то он медленней работает.
Цитата Сообщение от Igor3D Посмотреть сообщение
Нет какого-то одного "уровня", есть масса сцен, очень всяких и очень разных.
Опять же, это одна и таже сцена, но у Vulkan просто просажено время кадра и соответственно ФПС.
Цитата Сообщение от Igor3D Посмотреть сообщение
И никто не обещал что все-все они будут быстрее автоматычно
не скажу, что прям сразу был уверен что оно будет просто так работать быстрее, но я рассчитывал на то можно более гибко исправлять слабые места, что я собственно хочу получить от этой темы
0
Модератор
Эксперт Java
2558 / 1094 / 375
Регистрация: 11.08.2017
Сообщений: 3,331
30.12.2023, 14:35 4
Цитата Сообщение от leopeo Посмотреть сообщение
производительность упала с 1500~ до 1200~ фпс
Ну это совсем не серьезно, при таких числах. Вполне может быть погрешностью измерений. И надо еще учитывать что измерение фпс на разных апи по разному. Еще смотря чем мерить, помню у меня некоторые оверлеи вмешивались в работу приложения приводя к ошибкам вулкана.
А вообще уроки не про производительность и оптимальность а про принципы работы. Не стоит ожидать от них чего-то особенного. Тем более что вулкан очень гибкий и подход к рисованию у него иной нежели у opengl.
0
0 / 0 / 0
Регистрация: 25.04.2023
Сообщений: 54
30.12.2023, 14:58  [ТС] 5
alecss131
Цитата Сообщение от alecss131 Посмотреть сообщение
Ну это совсем не серьезно, при таких числах. Вполне может быть погрешностью измерений.
не сказал бы что это можно отнести к погрешности именно значений, т.к. эта разница держится при перезапусках приложения. А вот про измерение FPS у разных API может быть(измеряю MSI Arterfburner, точнее RivaTuner)
P.S.: попробовал измерить fps программно через Stopwatch, и получилось так же как и через RivaTuner...(пока что только на Vulkan)
P.S.2: хотя без RivaTuner fps вырос с 456 до 478(это уже усложненная сцена) и кстати заметно, что когда не сфокусирован на окне то падает до 437, ну это так, просто приметил
0
1821 / 730 / 98
Регистрация: 01.10.2012
Сообщений: 3,735
30.12.2023, 15:43 6
Цитата Сообщение от leopeo Посмотреть сообщение
могу заверить, что это не совсем синтетические тесты. В смысле это вполне игровая сцена на данный момент разработки.
Из того что падает 1500 -> 1200 вовсе не следует что упадет 15 -> 12 когда Вы реализуете все фичи рисования. Результат может быть любой (в обе стороны)

Цитата Сообщение от leopeo Посмотреть сообщение
но я рассчитывал на то можно более гибко исправлять слабые места, что я собственно хочу получить от этой темы
Хотеть не вредно, но рассчитывать на какие-то исправления/ускорения я бы не стал, им неоткуда взяться

Цитата Сообщение от leopeo Посмотреть сообщение
И на сколько я понял Vulkan толи автоматически, толи где то в коде прописано, что он не рендерит повернутые в ту же сторону что и камера полигоны, в отличие от OpenGL(типо если сквозь текстуры проходить то на Vulkan все просвечивает, а на OpenGL рисуется), и даже не смотря на это что то он медленней работает
Возможно речь идет о backfaces. Вы рассуждаете как нормальный человек: ну меньше же полигонов рисуем, стало быть должно быть (ощутимо) быстрее. Неоднократно замечал что GPU этой логике не следует, и то что ожидается быстрее - рисуется медленнее, и наоборот. Во всяком случае нужно добиться идентичного рисования (cull back faces) и тогда уже "предъявлять" 1500/1200
0
0 / 0 / 0
Регистрация: 25.04.2023
Сообщений: 54
30.12.2023, 21:48  [ТС] 7
Igor3D как ни странно, но разницы не было, что VK_CULL_MODE_NONE, что VK_CULL_MODE_BACK_BIT
0
1485 / 1412 / 240
Регистрация: 19.02.2010
Сообщений: 3,912
30.12.2023, 22:26 8
Цитата Сообщение от leopeo Посмотреть сообщение
может быть какие то программы отладчики для нахождения узких мест?
https://ru.wikipedia.org/wiki/... форматика)
0
1821 / 730 / 98
Регистрация: 01.10.2012
Сообщений: 3,735
31.12.2023, 10:59 9
Цитата Сообщение от leopeo Посмотреть сообщение
как ни странно, но разницы не было, что VK_CULL_MODE_NONE, что VK_CULL_MODE_BACK_BI
Неясно какой разницы - по скорости или по результату рисования. Возвращаясь к теме
Цитата Сообщение от leopeo Посмотреть сообщение
Так вот, какие могут быть советы по производительности для ускорения
Пока не видно серьезных оснований начинать какую-то оптимизацию. Нет ни статистики, ни понимания где/что тормозит, ни мыслей как ускориться

Цитата Сообщение от leopeo Посмотреть сообщение
может быть какие то программы отладчики для нахождения узких мест?
По аналогии с OpenGL: возможно лучшие средства (диагностики) в API самого вулкана
0
31.12.2023, 10:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.12.2023, 10:59
Помогаю со студенческими работами здесь

Снижение производительности WPF приложения
Доброго времени суток! У меня есть WPF приложение, достаточно большое. Все работает нормально, но...

Советы по поводу создания приложения
Всем привет. Есть идея, которую хочу обсудить, и очень надеюсь, что найдётся, кто поможет её...

Как провести замер производительности приложения?
собственно сабж Есть ли какие то средства для замера производительности? Сколько времени...

Оценка увеличения производительности ASP-приложения
Есть сайт, ASP/SQL7/NT4, который работает довольно медленно (думается в силу корявости кода) и...

Советы по оптимизации приложения (эконом оперативной памяти)
Дайте советы, для создания экономичных к оперативной памяти приложений. Из личного опыта или какие...

Нужны советы по разработке приложения под Android
Добрый день ! Я начинающий разработчик приложений для андроид . НА данный момент мне необходима...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru