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

Немного софтверного рендеринга (10 стр)

Страницы: 15 6 7 8 9 10
#135

return [](){};
А ты его в живую щупал?
Мне интересно, как он себя ведёт.

Потому что их пример - странный (возможно типичный для их пользователей, но для рядовых графпрограммистов...).
Ну вот они рисуют 3*10^6 треугольников с 10+ FPS. Кабаны.
А какой там fillrate при этом?
А как это меняется с уменьшением количества треугольников (их график начинается от 3M)?
Насколько там сложный шейдинг и как от этого зависит скорость?

12 фев. 2018

#136

О! Есть с чем сравнить.
Intel OpenSWR - 1024x1024: 2.9 млн треугольников ~13.5 fps (Intel® Xeon® E5-2699 v3 Processor, 2 x 18 cores, 2.3GHz), инструкции AVX, AVX2
Intel OpenSWR - 1024x1024: 106.2 млн треугольников ~0.65 fps (Intel® Xeon® E5-2699 v3 Processor, 2 x 18 cores, 2.3GHz), инструкции AVX, AVX2

Мой рендер - 1024x1024: 2.3 млн треугольников ~20.5 fps (Core i7 6950 Extreme Broadwell E, 1 x 10 cores, 3.4 GHz), инструкции MMX, SSE-SSE4.2
Мой рендер - 1024x1024: 106.2 млн треугольников ~0.5 fps (Core i7 6950 Extreme Broadwell E, 1 x 10 cores, 3.4 GHz), инструкции MMX, SSE-SSE4.2

Тормоза :) Но для каких то задач вполне.

12 фев. 2018 (Правка: 13 фев. 2018, 4:36)

#137

Dampire >И что ты там отладишь?
Вот например шейдер на Delphi:

+ Показать

12 фев. 2018

#138

>А какой там fillrate при этом?
Я вот тоже говорю — никакой. Процессор может насчитать больше чем пропускает память.

12 фев. 2018

#139

FordPerfect
> А ты его в живую щупал?
Нет, мне лень. А почему ви спгашиваете?

Если есть интересные вопросы, могу попробовать оттранслировать интересным людям.

12 фев. 2018 (Правка: 17:42)

#140

Dampire
> И что ты там отладишь? То, что конкретно на этой месе они работают?
Да не. Это уже не про Меса. Это свой рендер используют.

Да мало ли где может использоваться. Можно гуи, графики рисовать. Не всё же в игры упёрлось. И даже реалтайм не везде нужен.

12 фев. 2018

#141

FordPerfect
Когда я его смотрел раньше мельком:
Там вариация tiling rendering

FordPerfect
> А какой там fillrate при этом?
Не знаю, но думаю большинство этих треугольников вырождаются в ничто и отбрасываются не генерируя филлрейта (это одна из его фичей, что он умеет эффективно (и многопоточно) их отбрасывать).

FordPerfect
> Насколько там сложный шейдинг и как от этого зависит скорость?
Они в какой-то момент перешли на инфраструктуру mesa (которая основана на llvm) для шейдеров, она типа поддерживают любые шейдеры, но производительность кое-где упала в разы.

12 фев. 2018

#142

DjeeZ
> А можно софтрендер для отладки шейдеров использовать.
Я планирую так делать:
- транслировать глсл код в с++ шейдер для софтрендера.
- хоткей + клик мышью запускает софтрендер для маленькой области и по брейкпоинту начинаешь отладку шейдера.
- также можно делать сравнение кадров софтрендера и огл/вулкан/дх на предмет корректности рендера.

12 фев. 2018

#143

DjeeZ

Этот?

https://github.com/mesa3d/mesa/tree/master/src/gallium/drivers/llvmpipe

Кстати, конкретно софтверный драйвер из месы можно собирать и под винду, на выхлопе - opengl32.dll и еще несколько дллок. Для сборки нужны llvm, питон и scons.

Есть уже собранные версии:

https://github.com/pal1000/mesa-dist-win/releases


Что умеет, а что еще нет:

https://mesamatrix.net/

Тест llwmpipe и openswr на сервере с двумя зионами 6138:

https://www.phoronix.com/scan.php?page=article&item=llvmpipe-… eon&num=1

13 фев. 2018 (Правка: 8:32)

#144

/A\
Я тоже бы хотел. Только, у меня вряд ли руки до этого дойдут. Поэтому вся надежда на таких как вы с ТС. Может быть выпустите когда нибудь в виде продукта.

nonamezerox
Собирал я под Винду. Только где-то в флагах напутал. Потому-что скачанная длл-ка гораздо шустрее работает. Ну и пускай. Зато каждый может скачать и бросить в каталог длл-ку, загрузиться без драйверов и попробовать.

13 фев. 2018

#145

DjeeZ
> Может быть выпустите когда нибудь в виде продукта.
У кроноса есть подобное https://github.com/KhronosGroup/SPIRV-Cross

У меня теоретически поддерживаются сериализаторы для сохранения результата конвертации в любой формат, сейчас только в с++ код с моими типами.
Такой формат:
https://github.com/azhirnov/ModularGraphicsFramework/blob/master/… hared_types.h
https://github.com/azhirnov/ModularGraphicsFramework/blob/master/… glowballs.cpp

Но работы там еще много...

13 фев. 2018

#146

/A\
> Но работы там еще много...
Посмотрел, спасибо. По мере развития ещё посмотрю.
Половина кода современных программистов, стремящихся к универсальности, состоит из аргументов убеждения компилятора в том, что другая половина кода это и есть C++. Я не такой доверчивый как компилятор, который в этом проекте снова кому-то удалось облапошить. Но пока поверю на слово.

14 фев. 2018

Страницы: 15 6 7 8 9 10
ПрограммированиеФорумГрафика