226
Звуковой движок / Sound Engine / Re: Воспроизведение из архивов
« on: December 16, 2014, 19:03:31 »Quote
Однако, копируются с носителя на носитель большие файлы быстрее, нежели куча мелких. С другой стороны, если плеер или кто-то еще работает с каким-то мелким участком архива - все остальные будут вынуждены ждать, пока файл освободится, чего не происходит при потрековом проигрывании.Быстрее и копируются, и загружаются. Ибо что быстрее - каждый раз посылать запросы жёсткому диску и обращаться к файловой системе, или же загрузить в оперативку виртуальную ФС, находящуюся внутри одного файла? Как думаете, почему большинство компьютерных игр используют для хранения ресурсов собственные контейнеры, а не тысячи распакованных файлов? Вот именно по этой причине (ну и для защиты иногда). При работе распакованных игр винт трещит так, что начинаешь за него опасаться. При загрузке 100-гиговой коллекции, кстати, тоже. А вот, один большой файл, особенно, если хорошо дефрагментирован, читается всегда последовательно, а остальные операции (типа чтения оглавления) происходят уже в памяти. Т.о., можно было бы сократить число файлов на диске в 10-100 раз. Ну и сомневаюсь, что "кто-то или что-то" будет использовать во время проигрывания файлы из личной коллекции. Просматривать архив будет итак можно, а модифицировать что-то во время проигрывания - попросту незачем.
Quote
3. По стандарту ZIP не поддерживает юникод. Конечно, можно писать имя файла в UTF8, но гарантий, что все архиваторы правильно прочитают имя файла - нет. Если не использовать юникод - мы получим крякозябры на системах с отличной от оригинальной локалью.Я думаю, за это должен отвечать сам пользователь. К тому же, чтение имен будет происходить плеером, где можно включить поддержку UTF-8. Либо добавить поддержку и других популярных архивов (rar и 7z, в том же несжатом виде), дав пользователю выбор.
Quote
Можно, и, кстати, весьма просто, но несжатые zip-архивы это настолько редкий и частный случай, что, я боюсь, такая поддержка скорее вызовет шквал вопросов, нежели принесет пользы.Нет ничего проще, чем указать в фич-листе плеера, что поддерживается воспроизведение ZIP-архивов, но только несжатых. Плюс, сделать простую проверку на сжатие, когда открываем архив, и варнинг, что архив или файл не удалось прочитать, потому что поддерживаются только несжатые архивы. Если пользователь не дурак, то поймёт, что к чему, а те, кто на этом не заморочен, вообще не заметят этот функционал. Разумеется, случай "редкий и частный", но никто же и не призывает проигрывать хлам, скачанный с обменников - если человек увидит для себя преимущества этой системы (прочитав в фич-листе и попробовав), то он сделает это со своей коллекцией самостоятельно. Упаковка альбома в zip происходит в пару кликов из контекстного меню за 3-5 секунд.
Quote
Я ещё добавлю, для MP3 и др. Lossy форматов это может и даст небольшой прирост свободного пространства, а для lossles файлов эффекта 0Дело, как уже писалось, не в пространстве, а в нагрузке на диск при обращении, и в целостности самой коллекции. Пару Flac+Cue конечно нет смысла помещать в архив, но если альбом представляет папку из 20 flac-файлов и стольких же сканов обложек, то разница между lossless и mp3 нулевая.
P.S. Если большинству это не нужно, то можно было бы просто добавить этот функционал в виде плагина, который был бы отключён по умолчанию, либо вообще распространялся отдельно.