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

Разумное количество полигонов. (4 стр)

Страницы: 1 2 3 4 5 Следующая »
#45
21:51, 28 мар 2021

Нашёл у себя в закромах старую DX9-демку. И точно, всё совпадает, с поверхностью 2048*2048 (8.3 млн) - 66 FPS. 8.3 млн на DX9
(кол-во полигонов там не переключается)

#46
23:06, 28 мар 2021

invis
А они гоняются через весь пайп дроколами?
у меня 6 фпс

#47
23:34, 28 мар 2021

На которой демке 6? На последней? Попробуй тогда ещё OpenGL-ную с нажатием 4 (будет столько же полигонов, как в DX).
Дроколл везде 1. Поскольку это 1 меш.
Во всех демках меш заранее загоняется в VB/VBO, ничего лишнего гоняться не должно. Но если это интегрированная карта, тогда от VB толку чуть.

#48
23:51, 28 мар 2021

О, кстати об интегрированных. Проверил на HD630 (CoffeeLake) с 8.3 млн. треугольников, DX9 реабилитировался:
Mikle: 76-80
Моя OpenGL: 47 без текстуры, 41 с текстурой
Моя DX9: 81
Самое смешное, что DX9 на интеграшке быстрее, чем на GeForce. Но как, Холмс? Может оно через процессор на самом деле работает? (который там действительно быстрее).

#49
0:15, 29 мар 2021

invis
> Самое смешное, что DX9 на интеграшке быстрее, чем на GeForce. Но как, Холмс?
CPU driver overhead?

#50
8:24, 29 мар 2021

invis
> Может оно через процессор на самом деле работает?
У меня есть возможность включить софт вертекспроцессинг.
А твоя OpenGL демка как раз в 4 раза быстрее моей, я даже подумал, может ты где-то с размером вдвое напутал. Но, вижу по твоим результатам, не в этом дело.

#51
8:55, 29 мар 2021

Может рендериться не через ту карточку, если их более одной. Одна рендерит, другая только буфер готовый на экран кидает.
И не всегда легко настроить какая будет работать, особенно на старых системах.

А почему вас волнует DX9? Систем, которые не поддерживают ничего более позднего, уже не осталось. Работать с DX9 сложнее, чем с десяткой. Если какой юзер до сих пор на XP сидит, у него проблем море, одни сплошные проблемы, ни софта нет, ни по интернету не поползать, ни магазины не работают, ни скайп. То, что какая-то игра не так работает - мелочь, на фоне того, что не работает почти ничего.

#52
18:18, 29 мар 2021

У меня есть возможность включить софт вертекспроцессинг.

Пробовал, стало хуже, на интегрированной до 1 fps упало. Помнится, буфер для этого рекомендовали создавать со специальным флагом (в системной памяти). Или можно попробовать managed-буфер.
А в обычном режиме проц не грузит, так что похоже всё-таки на видеокарте работает.

Вообще я и раньше замечал, что OGL хорошо работает на NVidia, а больше нигде хорошо не работает :)
Когда переходил с DX9 на OGL, сравнивал пример с отображением сложной "не-для-игр" модели (50 текстур, сотни субмешей). Фактически это тест на эффективность переключения текстур/материалов. И OGL был медленнее, мне пришлось сортировать субмеши по текстуре, чтобы хотя бы догнать DX9. Это было на Radeon 7750.
Сейчас проверил этот пример на NVidia - как и ожидалось, OGL в целом быстрее чем на Радеоне, но без сортировки всё-таки остаёт от DX, хотя и ненамного.
DX9 (без сортировки) - 3000
OGL без сортировки - 2700
OGL с сортировкой - 3800
В общем, если считать, что в кадре реальной игры наберётся 50 текстур и сотни дроколлов - однозначного преимущества у OGL нет.

#53
20:18, 29 мар 2021

Короче некоторые результаты с реальной моделью города.
Модель состоит из примерно 1000 мешей, общее количество треугольников около 3 миллионов. Отбраковку по фрустуму на CPU отключил.
Время рендера на AMD R9 Nano (примерно соответствует 970) составляет 10 мс. Да... Хреново.
Это 45 fps а нужно 90. Значит фокус не удался, нужно или модель упрощать или как то по другому выкручиваться...

city | Разумное количество полигонов.
#54
20:35, 29 мар 2021

DX9 (без сортировки) - 3000
OGL без сортировки - 2700
OGL с сортировкой - 3800

Добавил сортировку в DX-демку - в результате на NVidia DX победил, 5200 на 3900.
А на Intel внезапно проиграл, 1700 на 2300. Там, правда, на скорость влияет положение камеры, которое несколько разное (в DX-демке модель крутится мышкой), но всё равно GL явно быстрее.
Ладно, я понял, что нет смысла искать закономерности в сумрачных разумах драйверописателей :)
https://drive.google.com/file/d/1s_RgtVkbskFRxU_naUNIpqnl29PcuA7A… w?usp=sharing
По умолчанию сортировка везде включена, но можно отключить (S). W - wireframe.

#55
10:32, 30 мар 2021

san
А сколько получается если сделать culling на CPU?

#56
11:34, 30 мар 2021

san
С какими шейдерами 10мс (вертексный/пиксельный)?

#57
15:37, 30 мар 2021

phridrich
Ну пиксельный там очень простой, переключений текстур нет (пока все серенькое), так что можно сказать что он даёт только постоянную задержку в пару миллисекунд.

Ranma
Когда включаешь отбраковку фрустумом, т.е. вместо всей геометрии рендерится только ее часть, то карта начинает справляться. Т.е. задержка именно на вершинном шейдере. Рассчитывать на фрустум нельзя - когда камера поднимается высоко, то виден почти весь город. Тут нужно что-то хитрее, например с какого-то расстояния вместо точной модели рендерить ее упрощенный вариант.

#58
15:58, 30 мар 2021

san

> Тут нужно что-то хитрее, например с какого-то расстояния вместо точной модели рендерить ее упрощенный вариант.

Эм, то есть про Level of Detail ты до этого самого момента даже не думал? Офигеть.

Вроде про это не то что во всех букварях пишут, это первое что вообще приходит на ум и что бросается в глаза при игре в практически любые трехмерные игры.

Даже школьник Кирилл из известной копипасты про корованы об этой технике додумался. Ну как так то?

#59
16:11, 30 мар 2021

nonamezerox
>Даже школьник Кирилл из известной копипасты про корованы об этой технике додумался. Ну как так то?
Ну я же додумался :) И даже без "букваря".
Когда я "буквари" читал то там был только Фортран. Так что все постигаю только на практике.
Раньше у меня такая проблема не стояла. Потом делать кастрированные версиии 1000 моделей это работа еще та...

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

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