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

Декодирование изображений. (2 стр)

Страницы: 1 2 3 4 Следующая »
#15
20:44, 20 мая 2015

gammaker
> А зачем свой? Есть же KTX - универсальный формат для текстур без оверхеда.
А вы данные без сжатия храните?

P.S. А читаете что, через буфер ОС в несколько заходов?

#16
20:45, 20 мая 2015

gammaker
> Легко грузится и можно положить туда абсолютно любой формат,
Так это не формат, а контейнер. Зачем нам нужен контейнер, хоть трижды открытый?

#17
21:17, 20 мая 2015

Bishop
> А вы данные без сжатия храните?
Ну как бы туда можно запихнуть GPU сжатие в DXT, RGTC, BPTC, ETC, PVRTC и другие. Возможно, если это ещё пожать без потерь, то будет ещё экономия. В этом случае можно и сжатие сделать прямо поверх этого формата.

andreyu
> Так это не формат, а контейнер. Зачем нам нужен контейнер, хоть трижды открытый?
Не надо вырывать из контекста. "формат, поддерживаемый видеокартой" - речь идёт про формат пикселя, например RGB8, RGB16, RGB565, RGB10A2, RGB9E5, RGBA16F и так далее - всё, что есть в OpenGL и расширениях.

#18
23:36, 20 мая 2015

gammaker
> Не надо вырывать из контекста
И что же я вырвал из контекста? Вы предложили как альтернативу использовать кроновский контейнер. Я сказал, что контейнер не имеет значения. Важно что и как лежит внутри.

#19
23:37, 20 мая 2015

gammaker
> Ну как бы туда можно запихнуть GPU сжатие в DXT, RGTC, BPTC, ETC, PVRTC и
> другие. Возможно, если это ещё пожать без потерь, то будет ещё экономия.
Пожать уже упакованное? Вы в своем уме?

#20
0:05, 21 мая 2015

andreyu
> Пожать уже упакованное? Вы в своем уме?
И это не шутка, оно жмётся.

#21
0:08, 21 мая 2015

Bishop
> И это не шутка, оно жмётся.
Смысл в том, что бы уменьшить время аплоада тектсуры, а не увеличить его.

#22
0:14, 21 мая 2015

andreyu
> И что же я вырвал из контекста? Вы предложили как альтернативу использовать
> кроновский контейнер. Я сказал, что контейнер не имеет значения. Важно что и
> как лежит внутри.
Кто сказал что это контейнер? Это всё равно, что назвать контейнерами BMP, TGA, DDS, PNG, JPG и так далее. Заголовок, задающий размеры текстуры, формат пикселя, а после заголовка данные.

andreyu
> Пожать уже упакованное? Вы в своем уме?
Да. Пожатые блочными алгоритмами текстуры неплохо сжимаются архиватором. Где-то процентов на 20-40 меньше становятся. Сам проверил сейчас.

#23
0:19, 21 мая 2015

gammaker
> Кто сказал что это контейнер?
Вы и сказали в своем сообщении ранее: "Ну как бы туда можно запихнуть GPU сжатие в DXT, RGTC, BPTC, ETC, PVRTC и другие"

gammaker
> Да. Пожатые блочными алгоритмами текстуры неплохо сжимаются архиватором. Где-то
> процентов на 20-40 меньше становятся. Сам проверил сейчас.
Если ваша задача увеличить время загрузки, то идея имеет право на существование.

#24
2:40, 21 мая 2015

andreyu
> Смысл в том, что бы уменьшить время аплоада тектсуры, а не увеличить его.
А с чего вы решили что оно увеличивается? Всё очень сильно зависит от скорости диска. То чем я жму текстуры даёт декомпрессию от 256 до 400МБ/с и при правильном построении загрузки проигрывает по времени аплоада только когда чтение с диска быстрее чем декомпрессия.

P.S. А ещё в зависимости от задачи можно разжимать и не одним ядром.

#25
6:20, 21 мая 2015

ИМХО есть смысл хранить все в бинарных блобах, в нативном формате, а вот уже сами блобы сжимать. Т.к. для текстур бОльшее значение имеет скорость заливки ее в гпу, т.е. решает нативный формат для конкретного устройства. А для заливки в рам'у, хранение в блобе увеличивает скорость за счет локальности данных и меньшего обращения к файловой системе (особенно если этот блоб замапить напрямую с диска в рам'у).

#26
7:40, 21 мая 2015

Просто размер билда тоже порой имеет значение, и да, всякие хардварные форматы отлично жмутся. Если жать каким-нибудь snappy, то и в скорости почти не потеряешь, ибо скорость распаковки нивелируется чтением с диска мЕньшего объёма.

#27
8:08, 21 мая 2015

andreyu
> Вы и сказали в своем сообщении ранее: "Ну как бы туда можно запихнуть GPU
> сжатие в DXT, RGTC, BPTC, ETC, PVRTC и другие"
И как из этого следует, что это контейнер? В DDS тоже пихают DXT и RGTC и я ни разу не видел, чтобы его называли контейнером. Сжатые форматы так же, как и несжатые, хранятся в памяти GPU в том виде, в котором они были записаны в файл. GPU может накладывать их без распаковки, если конечно поддерживают нужное расширение или нужную версию OpenGL.
То есть отмапили файл в память, нашли начало данных, передали указатель в glTexImage, другие параметры взяв из заголовка, и текстура готова без лишних манипуляций со стороны CPU.

#28
9:46, 21 мая 2015

gammaker
> я ни разу не видел, чтобы его называли контейнером
Не хочу вас расстраивать, но...

The DirectDraw Surface container file format

... это тоже контейнер и всегда им был. Нет такого формата текстуры DDS.

#29
10:52, 21 мая 2015

fullspektr
Ну ладно, контейнер. Но от этого он не перестаёт быть форматом, который легко грузится из файла в видеокарту без сторонних библиотек. Кроме KTX и DDS я подобных форматов не знаю. KTX менее популярен, но он чуть проще и универсальный. DDS подлерживает не все текстурные форматы.
А то товарищ andreyu говорит что он не нужен.

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

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