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

OpenGL, VAO и тормоза (5 стр)

Страницы: 1 2 3 4 5
#60
12:10, 16 сен. 2020

eDmk
> wglSwapIntervalEXT(0) - Выключить вертикальную синхронизацию.
> wglSwapIntervalEXT(1) - Включить вертикальную синхронизацию.
не "выключить вертикальную синхронизацию", а "попросить драйвер при случае выключить вертикальную синхронизацию. пожалуйста.". любое нормальное GAPI выдаёт ошибку, если запрошенный режим не может быть использован и только OpenGL тихонечко делает вид, что всё прошло нормально, когда на самом деле драйвер может с тем же успехом продолжать форсировать vsync. я не знаю, ребят, может, конечно, у меня руки такие кривые, но такое чувство, что у меня эта функция работала примерно так же часто, как не работала.

greencad
> Не помогло. ФПС=59
вот и у автора она, очевидно, не работает, уж не знаю, почему.


#61
(Правка: 12:25) 12:14, 16 сен. 2020

Suslik
Еще на второй странице все это уже протестировали:
3333 FPS 0,3 мс - пустая сцена.
2000 FPS 0,5 мс - 5 линий.
40-59 FPS 17 мс - 20к линий.

#62
(Правка: 12:40) 12:22, 16 сен. 2020

Suslik
У меня работает и на 980 Ti и на старой мобильной GT 650M.

foxes
на GTX 980 Ti
91 000 линий ~2700 fps
8.4 млн линий ~250 fps

#63
12:25, 16 сен. 2020

foxes
> Еще на второй странице все это уже протестировали:
очевидно что после этого он что-то менял, так как 20к линий что с зумом что без у него работали с одним и тем же fps, что как бы странно :)

#64
(Правка: 12:35) 12:26, 16 сен. 2020

eDmk
у меня 20k линий 160-320 FPS GeForse gts 450, а по бенчмаркам, у него в 2 раза видющка слабее. А с твоей во все 10-20 раз. Максимум возможного с его железом будет 80 FPS, так что много тут не выжмешь.

https://askgeek.io/ru/gpus/vs/NVIDIA_GeForce-GTX-980-Ti-vs-NVIDIA… Force-GTS-450
https://askgeek.io/ru/gpus/vs/NVIDIA_GeForce-GTX-980-Ti-vs-Intel_… Graphics-4600

#65
12:31, 16 сен. 2020

Aroch

> если хочешь можешь проверить скорость рисования линий квадами

14 в окне, 9 в развернутом (мыша заметно тормозит). И 110 МБ ОЗУ ест. Мне показалось, там сглаживание есть - так и AutoCAD при сглаживании тормозит.
#66
(Правка: 12:43) 12:42, 16 сен. 2020

greencad
> там сглаживание есть
есть, но не честное. Можешь забить на выжимание производительности с линий и заниматься уже непосредственными задачами, 20к линий которые каждый кадр меняют свое положение занимают в среднем четверть экрана и каждая разным цветом тебе ну очень мало вероятно когда понадобятся. Либо ты делаешь какой-то уж совсем специфичный софт и тогда тебе просто придется смириться с более высокими требованиям к железу.
> мыша заметно тормозит
она кстати аппаратная, значит еще и по cpu проседает скорее всего.

#67
12:43, 17 сен. 2020

foxes
> Именно в сцене, а не в отдельном буфере?
Хуже. (glTexCoord2f + glVertex3f) ad infinitum.
Если и был какой буфер - то у драйвера в голове.
И вот это говно оптимизировать никто не чесался. Оно сносно работает на количествах, необходимых для поддержки древнеигр, а лезешь выше - время кадра взлетает к небесам. Потому что самдурак.

Т.е. главный вывод: у Intel HD не только бицуха дрищёвая, но и любые фичи драйвера/гапи, кроме общепринятого мэйнстрима, могут быть оптимизированы "на отвяжись". Что вообще ставит ея на колени.

#68
(Правка: 14:27) 14:06, 17 сен. 2020

Cheb
> Хуже. (glTexCoord2f + glVertex3f) ad infinitum.
> Если и был какой буфер - то у драйвера в голове.
В таких случаях на каждые N (glTexCoord2f + glVertex3f) вызывается отдельный glBegin glEnd. Это тоже самое что и glDrawArrays без VBO (просто другой инструкции на низком уровне в GPU API нету). А там лимит на размер командного буфера, поскольку все эти вершины в него пихаются. И новые команды, пока отрисовка не завершиться, запихивать нельзя если буфер весь забит. Обычно его делят на части, но от длинных команд это не спасает.

#69
15:02, 17 сен. 2020

foxes
Протестировал на стареньком ноуте с GT 650M (сравнима с HD 4600)

Разрешение 1600x900:
NVIDIA GT 650M (307 200 линий) ~160 fps
NVIDIA GTX 980Ti (307 200 линий) ~2300 fps

Тест CPU Lines сделал для разрешения 1600x900:
Intel(R) Core(TM) i5-3210M CPU 2.50GHz - 40 fps или (400к линий)
Intel(R) Core(TM) i7-6950X CPU 3.00GHz - 91 fps или (910к линий)

Видимо синхронизация не отключилась или старый функционал что-то изменяет.
Лучше на новом функционале делать 3.3+

#70
(Правка: 18:53) 18:12, 17 сен. 2020

eDmk
> GT 650M (сравнима с HD 4600)
Не сравним, он также как и моя карточка в 2 раза мощнее, память 1800 MHz DDR3\GDDR5
https://technical.city/ru/video/GeForce-GT-650M-protiv-HD-Graphics-4600
Самое близкое GeForce GT 735M
https://technical.city/ru/video/GeForce-GT-735M-protiv-HD-Graphics-4600

eDmk
> Видимо синхронизация не отключилась
Все прекрасно отключилось, потому как на примере с меньшим количеством линий выдает больше 60 FPS. Карта больше не тянет.

eDmk
> Тест CPU Lines сделал для разрешения 1600x900:
> Intel(R) Core(TM) i5-3210M CPU 2.50GHz - 40 fps или (400к линий)
Какого года процессор? У меня на i7-2600 20-30 fps.

https://technical.city/ru/cpu/Core-i7-6950X-protiv-Core-i7-2600

CPU in HD Graphics 4600  GPU Base Speed  GPU Boost / Turbo
Intel Core i7-4790K  4 x 4000 MHz, 88 W  350 MHz  1250 MHz
Intel Core i7-4790    4 x 3600 MHz, 84 W  350 MHz  1200 MHz
Intel Core i7-4770K  4 x 3500 MHz, 84 W  400 MHz  1200 MHz

https://technical.city/ru/cpu/Core-i7-6950X-protiv-Core-i7-4790K

Intel Core i7-6950X против Core i7-4790K
Ядер          10                  4
Потоков    20                  8
#71
3:53, 22 сен. 2020

Что за код из начала нулевых? По урокам LearnOpenGL приведи к адекватному виду

Страницы: 1 2 3 4 5
ПрограммированиеФорумГрафика