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

[Unity3d] GPU Line Renderer (11 стр)

Страницы: 110 11 12 13 14 Следующая »
#150
(Правка: 19:09) 18:04, 31 авг. 2019

Aroch

ТС сам их поднял в сабже

для людей со слабым ассоциативным мышлением обьясняю - мипы -  это пример предпросчитанных (закэшированных) данных.
Теперь повторяю вопрос - почему в твоем мозгу одни закэшированные данные - это отвратительно, а другие - нет?
 
все с прямыми руками

понимаешь чувак, у тебя (и таких как ты) проблема в том что ты не разработчик, ты просто гуглишь-копипастишь, гуглишь-копипастишь. Если тебе что-то не удается нагуглить, то скрипт в твоей голове возвращает - отвратительно.
Но бывает так, что некоторые люди пытаются сделать, то чего еще никто не делал по этому ответы на вопросы которые они задают невозможно нагуглить. 
По этому не надо мне писать что так не надо делать потому что так не делают и давать КО советы типа
обновляют то что нужно и рендерят



#151
19:49, 31 авг. 2019

Polyflow3d
facepalm.jpg
> это пример предпросчитанных (закэшированных) данных.
а чего только мипы только? Бери все ресурсы сразу, весь контект костыль ведь это всё пример "предпросчитанных (закэшированных) данных." Или для тебя сюрприз что в мипы можно грузить то что тебе нужно, а не то что драйвер/карточка просчитает на основании первого слоя?

#152
20:19, 31 авг. 2019

Aroch

а чего только мипы только? Бери все ресурсы сразу, весь контект костыль ведь это всё пример "предпросчитанных (закэшированных) данных."

я где-то говорил что закэшированные данные - это костыль? Это ты сказал что закэшированные массивы это  отвратительно .

Третий раз повторяю вопрос: почему закэшированные массивы - это отвратительно, а закэшированные текстуры (мипы) - нет?

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

Лол, для меня сюрприз что мипы считает драйвер. 

#153
20:24, 31 авг. 2019

Polyflow3d
> Третий раз повторяю вопрос: почему закэшированные массивы - это отвратительно,
> а закэшированные текстуры (мипы) - нет?
я тебя разачарую, но вот это вот:

Исходим из того что колличество рисуемых линий динамично и может меняться от нуля до десятков тысяч непредсказуемо.
Я решил пока сделать так -  буфер с данными меняет свой размер когда колличество линий
превышает  тысячные числа, то есть, например -  в одном кадре рисуем 900 линий - буфер 1000 элементов, в следующем кадре мы рисуем 1001 линию - буфер пересоздается с размером 2000 и так далее. Это приводит к аллоцированию памяти, но зато мы не  будем заливать пустой буфер (точнее его максимальная пустота будет не более 50%).

Подозреваю, что я велосипедю сейчас динамический массив или что то типа того. Как вообще такие задачи правильно решаются?  Интуиция подсказывает, что должен быть какой то умный алгоритм подгонки длины буффера


нихрена не кэширование. А типичный костыль.
#154
(Правка: 20:36) 20:35, 31 авг. 2019

Aroch
я уже попробывал варианты и с фиксированными массивами 128,256,515 и т.д и с динамически пересоздаваемыми, и так и так работает хорошо, но первом случае незаполненные буфера прокачиваются и рендерятся, а во втором случае аллоцируется память.
Я спрашиваю: как лучше ?
Ты в ответ расказываешь что первое - отвратительно, втрое костыль, и вообще все это юнити проблемы.

Че ты добиваешся, я не пойму?
Что ты хочешь в ответ услышать?

#155
20:41, 31 авг. 2019

Polyflow3d
> Я спрашиваю: как лучше ?
уже было озвучено, заливать в буфер столько сколько нужно для отрисовки не больше ни меньше.
> все это юнити проблемы.
верно, но в юнити есть натив рендер и можно сделать как см выше.
> Че ты добиваешся, я не пойму?
> Что ты хочешь в ответ услышать?
это твоя тема а не моя, ты задал вопросы, тебе ответили. Тебе не понравилось что пересоздание буферов/создание кучи буферов с разными размерами это костыль и зачем то приплел мипы в тему. Признай что ты был не прав с мипами.

#156
20:47, 31 авг. 2019

Aroch

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

и что, от этого буфер меньше станет, лол?
верно, но в юнити есть натив рендер и можно сделать как см выше.

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

в чем я не прав с мипами, лол? В том что мипы - это закэшированные данные?

#157
21:01, 31 авг. 2019

Polyflow3d
> и что, от этого буфер меньше станет, лол?
размер буфера не имеет значения, важно сколько ты передаешь на карточку актуальных данных и чтобы они влезали. Это так трудно понять?
> а на остальных падало без обьснения причин, как твои.
пруф или балабол?
> в чем я не прав с мипами, лол? В том что мипы - это закэшированные данные?
в том что мипы костыль. Кэширование данных с тем что ты делал для линий ничего общего не имеет. Если бы ты один раз заливал бы данные в разные буферы и потом только рисовал бы их, то твой аргумент с мипами имел бы смысл. А пока ты сидишь жопой в луже и разводишь волны все больше и больше.

#158
(Правка: 21:14) 21:12, 31 авг. 2019

Aroch

размер буфера не имеет значения

может в твоем приложении (которые не работает) так и есть, но в юнити ты можешь только сделать ComputeBuffer.SetData() и все. И чем больше data, тем медленней эта операция. Это так трудно понять -  что речь идет о юнити, а не о сферическом GAPI в вакууме?
пруф или балабол?

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

где я говорил что мипы - костыль, ты шизофреник что ли?
Кэширование - это не костыль, а наоборот способ оптимизации.
И создание пула массивов  это не костыль, а способ оптимизации.
В данный момент мне нужны аргументы за\против использования этого пула массивов.

#159
21:29, 31 авг. 2019

Polyflow3d
> какие тебе пруфы нужны? Видио заснять где я в присутсвии нотариусов запускаю
> твое приложение а оно не работает?
можешь без натариусов, запиши видео где ты запускаешь на всех компах и только на двух с половиной (лол) оно работает. Ты же это изначально заявил.
> но в юнити ты можешь только сделать ComputeBuffer.SetData() и все.
https://docs.unity3d.com/ScriptReference/ComputeBuffer.SetData.html читаем ниже и что мы видим?

public void SetData(Array data, int managedBufferStartIndex, int computeBufferStartIndex, int count); 
Partial copy of data values from an array into the buffer.

> где я говорил что мипы - костыль, ты шизофреник что ли?
странная логика. глупый GAPI не умеет фильтровать текстуры и по этому приходится создавать их уменьшиенные дубликаты и хранить их -  это не отвратительно.

> Кэширование - это не костыль, а наоборот способ оптимизации.
разберись что такое кэширование, создать тупо пачку сырых буферов с разными размерами это не кэширование.
> это не костыль, а способ оптимизации.
одно другому не противоречит, сюрпраиз!
#160
(Правка: 21:57) 21:57, 31 авг. 2019

Aroch

можешь без натариусов, запиши видео где ты запускаешь на всех компах и только на двух с половиной (лол) оно работает. Ты же это изначально заявил.

зачем это нужно тебе - понятно, протестировать то, что ты недотестировал.
А зачем это нужно мне? 

Partial copy of data values from an array into the buffer.

эта возможность появилась в 2019.0, более ранние версии её не поддерживают.  Для меня написать в минимальных требованиях 2019.0 - это минус 50% пользователей сразу. Я понимаю, что таких теоретиков как ты такие мелочи как -50% пользователей не смущают, но для меня это важно. 

разберись что такое кэширование, создать тупо пачку сырых буферов с разными размерами это не кэширование.

это и есть кэширование. Вот такое оно - кэширование без прикрас, а не такое как ты себе представляешь в своем сферическо-эльфийско-анимэшном вакууме.

одно другому не противоречит, сюрпраиз!

специфические представления о костылях. Я почему то думал что костыль - это что то плохое и не работоспособное. 

И так где я говорил что мипы- это костыль? Там где ты меня цитируешь был сарказм над коментаторами, которые не понимают , что мипы - это тоже закэшированные данные. Обьясняю сарказм : "глупый" GAPI не считает их в рантайме не потому что не может, а потому что из кэша брать - быстрее.

#161
22:24, 31 авг. 2019

Polyflow3d
> Но бывает так, что некоторые люди пытаются сделать, то чего еще никто не делал
Рендер линий - это не рокет сайнс, который никто не делал.
Вот например мой рендер:


Свободно рисует сотни тысяч линий. + можно в любой момент в любом месте добавлять/удалять любое количество линий.
#162
22:35, 31 авг. 2019

MrShoor
ну молодец.
Только у тебя
1) приложение не для мобил а для рабочих станций
2) добавление/удаление линий это ивент который может обрабатываться хоть 100мс, а за это время можно буфера тупо пересоздавать и перезаливать. 

#163
(Правка: 22:48) 22:37, 31 авг. 2019

Polyflow3d
> зачем это нужно тебе - понятно, протестировать то, что ты недотестировал.
> А зачем это нужно мне?
чтобы не быть балаболом, а пока ты балабол.
> эта возможность появилась в 2019.0, более ранние версии её не поддерживают.
> Для меня написать в минимальных требованиях 2019.0 - это минус 50%
> пользователей сразу. Я понимаю, что таких теоретиков как ты такие мелочи как
> -50% пользователей не смущают, но для меня это важно.
очередное блаблабла, даже я не работая ни разу с юнити нашел опровержению твоим словам. И пользователи плагина это не пользователи игры, а такие же разработчики и они могут позволить себе обновить среду разработки до актуальной.
> это и есть кэширование. Вот такое оно - кэширование без прикрас, а не такое как
> ты себе представляешь в своем сферическо-эльфийско-анимэшном вакууме.

Buffers buffers[num_buffers];
for(unsigned int n = num_buffers; n--;)
  buffers.setSize(2 << n);
...
void drawLines(...)
{
  auto& buffer = getBufferWithNearestLength(segmets_count * vertex_per_segment);
  segments.addTrash(buffer.getSize() - segmets_count * vertex_per_segment);
  buffer.setData(segments);
}
кэширование такое кэширование /_-

> Я почему то думал что костыль - это что то плохое и не работоспособное.
а это в перлы можно :)

#164
22:45, 31 авг. 2019

Polyflow3d
> 1) приложение не для мобил а для рабочих станций
Аналогичный рендер у нас работает в вебе (в том числе на мобилках)

> 2) добавление/удаление линий это ивент который может обрабатываться хоть 100мс
Я там в видео на 0:19 прокладываю трек в реалтайме. Это ивенты, которые не могут обрабатываться 100мс.

Страницы: 110 11 12 13 14 Следующая »
ПрограммированиеФорумГрафика