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

Как вы делали стримминг текстур без sparse ? (3 стр)

Страницы: 1 2 3 4 Следующая »
#30
16:05, 8 янв 2026

innuendo
> nullptr
> Гениально .... В каком потоке ?
У тебя лимит в одну строку не только на запись, но и на чтение чтоли?)) Ну прочитай ты пост полностью.

#31
16:28, 8 янв 2026

nullptr
А саму заливку в основном потоке ?

#32
16:39, 8 янв 2026
Кстати , в sparse можно ловить момент когда нету нужного мипа в памяти

Можно)

#extension GL_ARB_sparse_texture2 : require
#extension GL_ARB_sparse_texture_clamp : require

sparseTextureARB
sparseTexelsResidentARB
sparseTextureClampARB
А саму заливку в основном потоке ?

Я делаю в другом потоке. В Вулкане при этом приходится заморачиваться с раздельным использованием очередей, в которые сгружаются command buffers - их надо делить по потокам.

Для работы с файлами выгодней использовать mmap вместо fopen, так быстрей, и отображенные файлы можно и не закрывать в течение всей работы - эффективная буферизация это гимор ОС.

#33
17:00, 8 янв 2026

innuendo
> nullptr
> А саму заливку в основном потоке ?
Да как угодно. Это же индивидуально.. Я в staging буфер считывал в другом потоке, а копировал из staging буфера в текстуру в основном потоке. Если мип большой, то можно порциями =)

freesoft
А через сэмплер не достаточно заклампить?

#34
17:03, 8 янв 2026

nullptr
Вот именно что если большой ... Может лучше в другом потоке ?

#35
17:04, 8 янв 2026

innuendo
> nullptr
> Вот именно что если большой ... Может лучше в другом потоке ?
Может и лучше. Я не настаиваю =)

#36
17:06, 8 янв 2026

nullptr
Так тема то про практику ... Попробуй сравнить

#37
17:51, 8 янв 2026

А через сэмплер не достаточно заклампить?

В Вулкане видимо так не выйдет (все крайне негибко), в других АПИ - не знаю.
Шейдерные функции с выставлением границ выборки - оптимальный вариант.

#38
18:25, 8 янв 2026

freesoft
В dx12 как-то можно если нужный tier

#39
19:23, 8 янв 2026

freesoft
> . В Вулкане при этом приходится заморачиваться с раздельным использованием очередей, в которые сгружаются command buffers - их надо делить по потокам.
А там же нужно ещё VkImageLayout переключать а это умеет graphics очередь. очередь transfer отдельная? Проверить лучше с максимальным выводом всех ошибок в VVL что всеипрпвильно работает.

#40
20:09, 8 янв 2026

Andrey

А там же нужно ещё VkImageLayout переключать а это умеет graphics очередь.

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

очередь transfer отдельная?

Да.

#41
23:43, 8 янв 2026

freesoft
> Нужно запрашивать две разных graphics очереди для работы с одним ресурсом из разных потоков.
Не нужно. И на мобилках 2х очередей может не быть.

#42
7:50, 9 янв 2026

freesoft
Зачем тебе вулкан ?

#43
7:57, 9 янв 2026

Фоновая загрузка в одном потоке или отдельный поток на каждую текстуру ?

#44
8:11, 9 янв 2026

nullptr
freesoft
Если вы про кейс когда нету мира ? Так там же функция есть , а не через семплер

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