Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хранение приложением большого числа картинок малого размера на разных ОС / 25 сообщений из 48, страница 1 из 2
14.05.2018, 23:28
    #39644696
mraklbrw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
Добрый день.
Столкнулся с такой проблемой - разрабатывается кросплатформенное приложение (Windows, Android, возможно,IOS).
Приложение должно хранить большое количество (>10-30k) картинок размером 10-200 Кб.
При использовании пользователем часто будет осуществляться открытие какого-либо файла.
Однако, сами файлы почти никогда изменяться не будут.
Суть в том, что, по опыту сталкивался с таким количеством файлов на Windows и знаю, что могут быть тормоза.
+ удаление, распаковка приложения, перемещение информации с карты памяти на память телефона и обратно по желанию пользователя - будут долгими.
Вопрос в том - как хранить - в Sqlite?
Есть ещё бредовая идея - самому написать формат хранения и хранить как несколько больших файлов.
...
Рейтинг: 0 / 0
15.05.2018, 00:12
    #39644705
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
в zip-архиве.
...
Рейтинг: 0 / 0
15.05.2018, 00:14
    #39644706
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
miksoftв zip-архиве.
Сжатые картинки??
...
Рейтинг: 0 / 0
15.05.2018, 00:19
    #39644707
mraklbrw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
miksoft,

Каждый раз при запуске программы распаковывать - плохой вариант.
...
Рейтинг: 0 / 0
15.05.2018, 00:46
    #39644710
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
Изопропилmiksoftв zip-архиве.
Сжатые картинки??Зато один файл.
Можно было бы tar предложить, но zip более распространен во всяких библиотеках.
...
Рейтинг: 0 / 0
15.05.2018, 00:48
    #39644712
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
mraklbrwКаждый раз при запуске программы распаковывать - плохой вариант.Не при запуске, а перед показом. И не в файл, а в память. Чтобы ускорить распаковку можно даже режим сжатия поставить на "без сжатия".
...
Рейтинг: 0 / 0
15.05.2018, 06:01
    #39644732
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
mraklbrw,
тормоза возникают когда такое количество файлов находятся в одной папке . из практики - в папке не должно быть более 1,5к файлов
...
Рейтинг: 0 / 0
15.05.2018, 07:08
    #39644736
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
mraklbrwСтолкнулся с такой проблемой - разрабатывается кросплатформенное приложение (Windows, Android, возможно,IOS).

Проблема-то в чём выражается? Фалойвая система это база данных для хранения файлов, лучше ещё ничего не придумали в отношении эффективного хранения.

Храните файлы в папках по 500-1000 файлов в одной папке. Всё.
...
Рейтинг: 0 / 0
15.05.2018, 07:24
    #39644739
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
вадяmraklbrw,
тормоза возникают когда такое количество файлов находятся в одной папке . из практики - в папке не должно быть более 1,5к файлов
+1
в файловой системе плохо -- придется извращаться с искусственно городимым разделением
файлов по бинарному в моей истории - по двухуровневому (26+10) * (26+10) арному дереву (буквы латинского алфавита + цифры).
Причем файлу приписывали хешкод - в зависимости от которого рассовывали файлы по дереву.
по первым двум символам хешкода брали первый каталог, по вторым - второй.
Этого хватило, контора развалилась до вырождения системы.



Описание файла и хешкода лежало в сайбейз ану для поиска.

Проще сразу взять SQLite
...
Рейтинг: 0 / 0
15.05.2018, 07:27
    #39644740
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
miksoftв zip-архиве.
через год работы окажется что 90% картинок - уже упакованные jpg
...
Рейтинг: 0 / 0
15.05.2018, 07:31
    #39644742
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
tchingizmiksoftв zip-архиве.
через год работы окажется что 90% картинок - уже упакованные jpgДа и пожалуйста. Хоть все 100%. Суть не в сжатии, суть в одном файле и контейнере, с которым несложно работать.
...
Рейтинг: 0 / 0
15.05.2018, 07:44
    #39644744
schi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
Lightroom хранит превью-картинки в иерархии каталогов. И не тормозит показе части из сотен тысяч изборажений.
Проверено электроникой.
...
Рейтинг: 0 / 0
15.05.2018, 08:14
    #39644751
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
miksofttchingizпропущено...

через год работы окажется что 90% картинок - уже упакованные jpgДа и пожалуйста. Хоть все 100%. Суть не в сжатии, суть в одном файле и контейнере, с которым несложно работать.
работа на сжатие же будет тратиться?
или можно без сжатия сохранять?
...
Рейтинг: 0 / 0
15.05.2018, 08:16
    #39644752
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
в файловой системе - заметная деградация скорости доступа - налицо,
zip архив тоже нужно было бы протестировать на большое число картинок и большое число вставок удалений в/из архива
...
Рейтинг: 0 / 0
15.05.2018, 08:21
    #39644753
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
tchingizработа на сжатие же будет тратиться?
или можно без сжатия сохранять?
Многие архиваторы позволяют задавать степень сжатия, и один из вариантов "без сжатия", т.е. просто вставляют файл в архив без изменений.
...
Рейтинг: 0 / 0
15.05.2018, 08:38
    #39644755
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
Вариант с архивом картинок без сжатия почти эквивалентен варианту выделенного тома под хранение этих картинок. Причём хранения в одном каталоге. Всей разницы - запросы от приложения обрабатывает не файловый реквестор, а библиотека сжатия/разжатия. Когда количество перевалит за десяток тысяч, то тормоза начнутся того же порядка, что и при хранении в файловой системе, и даже по почти той же самой почти причине - невозможности кэшировать на уровне приложения местоположение отдельного файла, минуя файловый реквестор или библиотеку (де)компрессии. На кэш ОС надежды мало. Держать файл постоянно открытым через библиотеку декомпрессии, чтобы она не сбрасывала каталог архива?

Я бы скорее предложил подумать о потоковом хранении метафайлов в файле-библиотеке - это позволит на старте одни раз прочитать и закэшить в приложении местоположение отдельных метафайлов в большом файле библиотеки изображений и считывать их, когда потребуются, сразу по известным смещению и размеру.
...
Рейтинг: 0 / 0
15.05.2018, 08:51
    #39644757
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
Можно в одну большую картинку запихнуть все. В играх так делают.
...
Рейтинг: 0 / 0
15.05.2018, 09:02
    #39644763
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
maytonМожно в одну большую картинку запихнуть все. В играх так делают.
А вот это и будет извращение
...
Рейтинг: 0 / 0
15.05.2018, 09:03
    #39644765
tchingiz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
Dima Ttchingizработа на сжатие же будет тратиться?
или можно без сжатия сохранять?
Многие архиваторы позволяют задавать степень сжатия, и один из вариантов "без сжатия", т.е. просто вставляют файл в архив без изменений.
ок.
а если картинок много, то, конечно, не придется выискивать какие то из них, при
помощи разных описаний картники (я на селект фром вере намекаю) и
не нужно искать потерянные-отсутствующие картинки (которые появятся в результате ошибок
в приложении)?
и утилитой zip.exe пользоваться удобнее, чем утилитой sqlite3.exe?
...
Рейтинг: 0 / 0
15.05.2018, 09:07
    #39644771
ВМоисеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
>mraklbrw, вчера, 23:28 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1293129&msg=21409526] [21409526]

>...Вопрос в том - как хранить …
А если так:
1. все картинки в одном(?) бинарном файле,
2. Идентификатор, начало, длина в Sqlite
...
Рейтинг: 0 / 0
15.05.2018, 09:27
    #39644776
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
mraklbrw+ удаление, распаковка приложения, перемещение информации с карты памяти на память телефона и обратно по желанию пользователя - будут долгими.

С другой стороны, хранение картинок в СУБД имеет существенный недостаток - невозможно пользоваться готовыми утилитами для их обработки и на каждый чих писать какой-то код.
ИМХО, все перечисленное - не настолько частые операции чтобы под них подстраиваться.
Сложнее аккуратно сделать откаты транзакций, но если такой проблемы нет - я бы оставил файловое хранение.
...
Рейтинг: 0 / 0
15.05.2018, 09:27
    #39644777
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
ИзопропилmaytonМожно в одну большую картинку запихнуть все. В играх так делают.
А вот это и будет извращение
Для иконок нормально. Тем более если они никак не меняются на протяжении сессии пользователя.
...
Рейтинг: 0 / 0
15.05.2018, 09:32
    #39644779
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
mayton,

IMHO не иконки у топикстартера
...
Рейтинг: 0 / 0
15.05.2018, 10:43
    #39644803
schi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
Вот так, с помощью нехитрых приспособлений буханку белого (или черного) хлеба можно превратить в троллейбус… Но зачем?

Программы обработки изображений сталкиваются с проблемой, поднятой ТС, по 10 раз на дню и как-то их обходят. Не проще посмотреть, как, благо исходников открытых хватает.
...
Рейтинг: 0 / 0
15.05.2018, 11:19
    #39644830
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение приложением большого числа картинок малого размера на разных ОС
На хабре есть хорошая статья про кеширование картинок. Думаю автору это будет полезно.

По поводу Windows приложения и андроид.
Их нельзя писать в строчку через запятую.
Windows легко прогрузит 300 мб картинок.
А с Андроидом нужен некий эконом режим.
Вобщем это вопрос в топик мобильной
Разоаботки.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Хранение приложением большого числа картинок малого размера на разных ОС / 25 сообщений из 48, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]