Aroch
Polyflow3d
facepalm.jpg
> это пример предпросчитанных (закэшированных) данных.
а чего только мипы только? Бери все ресурсы сразу, весь контект костыль ведь это всё пример "предпросчитанных (закэшированных) данных." Или для тебя сюрприз что в мипы можно грузить то что тебе нужно, а не то что драйвер/карточка просчитает на основании первого слоя?
Aroch
я где-то говорил что закэшированные данные - это костыль? Это ты сказал что закэшированные массивы это отвратительно .
Третий раз повторяю вопрос: почему закэшированные массивы - это отвратительно, а закэшированные текстуры (мипы) - нет?
Лол, для меня сюрприз что мипы считает драйвер.
Polyflow3d
> Третий раз повторяю вопрос: почему закэшированные массивы - это отвратительно,
> а закэшированные текстуры (мипы) - нет?
я тебя разачарую, но вот это вот:
Подозреваю, что я велосипедю сейчас динамический массив или что то типа того. Как вообще такие задачи правильно решаются? Интуиция подсказывает, что должен быть какой то умный алгоритм подгонки длины буффера
Aroch
я уже попробывал варианты и с фиксированными массивами 128,256,515 и т.д и с динамически пересоздаваемыми, и так и так работает хорошо, но первом случае незаполненные буфера прокачиваются и рендерятся, а во втором случае аллоцируется память.
Я спрашиваю: как лучше ?
Ты в ответ расказываешь что первое - отвратительно, втрое костыль, и вообще все это юнити проблемы.
Че ты добиваешся, я не пойму?
Что ты хочешь в ответ услышать?
Polyflow3d
> Я спрашиваю: как лучше ?
уже было озвучено, заливать в буфер столько сколько нужно для отрисовки не больше ни меньше.
> все это юнити проблемы.
верно, но в юнити есть натив рендер и можно сделать как см выше.
> Че ты добиваешся, я не пойму?
> Что ты хочешь в ответ услышать?
это твоя тема а не моя, ты задал вопросы, тебе ответили. Тебе не понравилось что пересоздание буферов/создание кучи буферов с разными размерами это костыль и зачем то приплел мипы в тему. Признай что ты был не прав с мипами.
Aroch
Polyflow3d
> и что, от этого буфер меньше станет, лол?
размер буфера не имеет значения, важно сколько ты передаешь на карточку актуальных данных и чтобы они влезали. Это так трудно понять?
> а на остальных падало без обьснения причин, как твои.
пруф или балабол?
> в чем я не прав с мипами, лол? В том что мипы - это закэшированные данные?
в том что мипы костыль. Кэширование данных с тем что ты делал для линий ничего общего не имеет. Если бы ты один раз заливал бы данные в разные буферы и потом только рисовал бы их, то твой аргумент с мипами имел бы смысл. А пока ты сидишь жопой в луже и разводишь волны все больше и больше.
Aroch
где я говорил что мипы - костыль, ты шизофреник что ли?
Кэширование - это не костыль, а наоборот способ оптимизации.
И создание пула массивов это не костыль, а способ оптимизации.
В данный момент мне нужны аргументы за\против использования этого пула массивов.
Polyflow3d
> какие тебе пруфы нужны? Видио заснять где я в присутсвии нотариусов запускаю
> твое приложение а оно не работает?
можешь без натариусов, запиши видео где ты запускаешь на всех компах и только на двух с половиной (лол) оно работает. Ты же это изначально заявил.
> но в юнити ты можешь только сделать ComputeBuffer.SetData() и все.
https://docs.unity3d.com/ScriptReference/ComputeBuffer.SetData.html читаем ниже и что мы видим?
public void SetData(Array data, int managedBufferStartIndex, int computeBufferStartIndex, int count);
Aroch
И так где я говорил что мипы- это костыль? Там где ты меня цитируешь был сарказм над коментаторами, которые не понимают , что мипы - это тоже закэшированные данные. Обьясняю сарказм : "глупый" GAPI не считает их в рантайме не потому что не может, а потому что из кэша брать - быстрее.
Polyflow3d
> Но бывает так, что некоторые люди пытаются сделать, то чего еще никто не делал
Рендер линий - это не рокет сайнс, который никто не делал.
Вот например мой рендер:
MrShoor
ну молодец.
Только у тебя
1) приложение не для мобил а для рабочих станций
2) добавление/удаление линий это ивент который может обрабатываться хоть 100мс, а за это время можно буфера тупо пересоздавать и перезаливать.
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); }
> Я почему то думал что костыль - это что то плохое и не работоспособное.
а это в перлы можно :)
Polyflow3d
> 1) приложение не для мобил а для рабочих станций
Аналогичный рендер у нас работает в вебе (в том числе на мобилках)
> 2) добавление/удаление линий это ивент который может обрабатываться хоть 100мс
Я там в видео на 0:19 прокладываю трек в реалтайме. Это ивенты, которые не могут обрабатываться 100мс.
Тема в архиве.