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

Загрузка текстур на лету. (2 стр)

Страницы: 1 2 3 4 Следующая »
#15
11:25, 27 сен. 2017

0xc0de
> Если OGL, то создаешь отдельный контекст в отдельном потоке, в котором грузишь
> текстуру на GPU. Контекст шариш с основным контексом, чтобы ресурсы были общие
Где-то я читал, что подобный способ отлично подходит для внесения плавающих неустранимых багов.
(на тех железках и драйверах, где забили на нормальную реализацию шареных контекстов)

Но это не точно.


#16
11:27, 27 сен. 2017

0xc0de
> Если OGL, то создаешь отдельный контекст в отдельном потоке, в котором грузишь
> текстуру на GPU. Контекст шариш с основным контексом, чтобы ресурсы были общие.
> Как только загрузишь текстуру на GPU, даешь сигнал основному потоку с основным
> контекстом, что ресурс можно использовать.
у меня подобный метод приводил к затыкам в основном потоке рендера, при загрузке больших тексстур, вроде 2048на2048 одним куском.

и похоже не только у меня:
http://www.gamedev.ru/code/forum/?id=87061
http://www.gamedev.ru/code/forum/?id=183793

#17
11:43, 27 сен. 2017

HolyDel
> у меня подобный метод приводил к затыкам в основном потоке рендера, при
> загрузке больших тексстур, вроде 2048на2048 одним куском.

да, была такая фигня. можно грузить частями

#18
12:25, 27 сен. 2017
belK@
DX-разработчики наверное с вот таким недоумением смотрят на OGL-разработчиков: и чего вам не нравится? Это же тоже кроссплатформенный API, есть целых три платформы! PC, X-Box и Windows Phone!
#19
12:32, 27 сен. 2017

Ranma
> есть целых три платформы! PC, X-Box и Windows Phone!

и все контролируются MS :)

#20
17:18, 27 сен. 2017

-Eugene-
> на тех железках и драйверах, где забили на нормальную реализацию шареных
> контекстов

Выкинуть :)

#21
17:20, 27 сен. 2017

innuendo
> да, была такая фигня. можно грузить частями
+1

Чтобы шину не перегуржать.

#22
9:31, 28 сен. 2017

Забавно, один gammaker дал дельный совет, но почему-то его все проигнорировали.

#23
10:10, 28 сен. 2017
один gammaker дал дельный совет, но почему-то его все проигнорировали.
+ Показать


А я вообще не заметил :)

#24
10:13, 28 сен. 2017

Мизраэль
> Забавно, один gammaker дал дельный совет, но почему-то его все проигнорировали.

Да, он дал очень дельный совет хранить мипы на диске - как грузить на лету 0 мип без паузы ?

#25
10:15, 28 сен. 2017

Если все запаузить , так что бы дико тормозило, то тормозов при загрузке текстуры не будет !
Это я вам как специалист по квантовой физике говорю !


Все солидные движки типа Унриала и Юнити делают так.
Пишут всегда FPS не ниже 60 кадров, даже если реально 2 кадра в секунду.
Грузят медленно текстуры.
И когда юзер говорит что тормозит загрузка текстур, то они говорят у вас медленный винчестер. Купите винт sata 3.
Купите 16 гиг DDR4 Ram.
Купите проц Intel 7.

#26
12:28, 28 сен. 2017

innuendo
> Да, он дал очень дельный совет хранить мипы на диске - как грузить на лету 0
> мип без паузы ?
Мипы грузятся фоновым потоком, в это время рендеринг ни на секунду не останавливается, если мипа нету, используется однопиксельный заменитель нужного цвета, доступен мип N, рисуем с ним. Откуда паузы-то возникнут?

#27
12:32, 28 сен. 2017

Ivashka
> Ну т.е. применительно к текстуркам просто проверяем размер тексуры и в
> зависимости от размера определяем количество вызовов этой процедуры и
> количество информации загружаемой за 1 раз и далее например каждый кадр
> процедура вызывается пока текстура не загрузится и по завершению загрузки
> выставит флаг готовности текстуры.
Ты изобрёл свои волокна, поздравляю. В системе это есть из коробки, причём как волокна, так и полноценные потоки. Может всё же проще прочитать того же Рихтера сначала?

#28
12:51, 28 сен. 2017

Мизраэль
> Мипы грузятся фоновым потоком, в это время рендеринг ни на секунду не
> останавливается, если мипа нету, используется однопиксельный заменитель нужного
> цвета, доступен мип N, рисуем с ним. Откуда паузы-то возникнут?

где тут http://www.gamedev.ru/code/forum/?id=230154#m3 слова про фоновую загрузку ?

#29
2:10, 29 сен. 2017

innuendo
А где там слова о том, что это нельзя делать в фоне?

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

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