Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.01;
Скачать: CL | DM;

Вниз

Большой ресурс. Правильно ли?   Найти похожие ветки 

 
Дмитрий С   (2008-04-18 09:48) [0]

Конструктивно:
В EXE файле находится один большой ресурс (~600 мб).
Используется он следующим образом:
Создается экземпляр TResourceStream, и уже с помощью него достаются требуемые его части.

Вобщем меня интересуют вопросы: загружается ли весь ресурс в память или Windows будет брать его из файла по мере надобности?
Что измениться, если вдруг я сожму программу с помощью ASPack?
Будет лучше, если данный ресурс хранить в виде отдельного файла рядом с программой?


 
DrPass ©   (2008-04-18 09:58) [1]

1. Ресурс загружается, когда делается LockResource
2. Скорее всего, ничего (имеется в виду в отношении ресурса). Стоит проверить
3. Да


 
Комментатор ©   (2008-04-18 10:01) [2]

Если сожмешь ASPack"ом, то каждый раз при запуске программы будешь ждать, пока все распакуется. А сколько нужно времени для распаковки ~600 МБ?


 
DrPass ©   (2008-04-18 10:04) [3]


> Если сожмешь ASPack"ом, то каждый раз при запуске программы
> будешь ждать, пока все распакуется

А она точно пакует и ресурсы? Там, кажется, при желании можно только исполняемый код паковать


 
Slym ©   (2008-04-18 10:05) [4]

Дмитрий С   (18.04.08 9:48)
Сожми ресурс и пользуй связку TResourceStream+TКакойнитьDecompressionStream


 
Игорь Шевченко ©   (2008-04-18 10:06) [5]


> Будет лучше, если данный ресурс хранить в виде отдельного
> файла рядом с программой?


Безусловно


 
Комментатор ©   (2008-04-18 10:11) [6]

> [3] DrPass ©   (18.04.08 10:04)
>Там, кажется, при желании можно только исполняемый код паковать

Вполне возможно. А смысл?


 
DrPass ©   (2008-04-18 10:25) [7]


> Вполне возможно. А смысл?

Для корректной обработки таких вот извращенных ситуаций.
Хотя смысл целесообразности существования виндовых упаковщиков вообще под большим сомнением


 
Ega23 ©   (2008-04-18 10:57) [8]


> В EXE файле находится один большой ресурс (~600 мб).


Нафига такое извращение???


 
Дмитрий С   (2008-04-18 11:12) [9]


> Нафига такое извращение???
>

Данные, которые "отображает" программа. Уже решено, что это будет отдельный файл.

Вопрос теперь в том, как контролировать его целостность.


 
Ega23 ©   (2008-04-18 11:15) [10]


> Данные, которые "отображает" программа.


Вот в моём бывшем проекте и 3D-графика была, и звук, и отображалось всего дофига. И в БД всё это дело занимало 4 Мб.


 
Дмитрий С   (2008-04-18 11:26) [11]


> Вот в моём бывшем проекте и 3D-графика была, и звук, и отображалось
> всего дофига. И в БД всё это дело занимало 4 Мб.

Ну это у меня в пределе 600 (на будущее). А реальная ситуация: метров 200 за счет видеороликов.


 
Anatoly Podgoretsky ©   (2008-04-18 11:27) [12]

> Дмитрий С  (18.04.2008 11:12:09)  [9]

Ну например CRC


 
Anatoly Podgoretsky ©   (2008-04-18 11:29) [13]

> Дмитрий С  (18.04.2008 11:26:11)  [11]

Ну и прекрасно, ни у кого не поднимется рука сказать, что программа студенческая.
Будет уважение вызывать.
А хочешь стать профессионалом?


 
Ega23 ©   (2008-04-18 11:29) [14]


> Ну это у меня в пределе 600 (на будущее). А реальная ситуация:
>  метров 200 за счет видеороликов.


Храни в БД. При таких объёмах - самое оно.


 
Дмитрий С   (2008-04-18 11:58) [15]


>
> Храни в БД. При таких объёмах - самое оно.
>

Да ну...
Например, будет видеоролик 100 МБ: сколько усилий для ПК потребуется, чтобы его загрузить. А еще хочеться, чтобы файл был хоть и примитивно, но зашифрован. Я думаю, что БД будет сильно напрягать.
Да и к тому же у меня уже все готово, осталось только выбрать между TFileStream и TResourceStream. Но, собственно, я уже выбрал первое.


> Ну например CRC

Тут тоже нюансы есть. Например, при большом размере файла данных подсчет CRC займет много времени. Особенно, если файл храниться на CD. Причем это время будет потрачено даже не в пользу пользователя.
Пока я склоняюсь к подсчету CRC заголовка файла + проверка разумности данных, указанных в заголовке.
Как вариант - использовать по-блочный CRC.


 
Ega23 ©   (2008-04-18 12:02) [16]

Доюавляй к своему видеоролику какой-нибудь заголовок, в нём пиши какой-нибудь свой magic.


 
Игорь Шевченко ©   (2008-04-18 12:16) [17]

Человек, шифрующий видеоролики, страдает аберрациями поведения.


 
han_malign ©   (2008-04-18 12:22) [18]


> Пока я склоняюсь к подсчету CRC заголовка файла + проверка
> разумности данных, указанных в заголовке.

- а на хрена вообще проверять целостность мультимедийного контента? "Особенно, если файл храниться на CD."
Забота о целостности контетна лежит на системе/админе/юзвере, а если умерла - так умерла... А то еще целостность приложения пропроверить, и целостность в памяти функции проверяющей целостность, заодно диски и реестр на предмет вирусов и повреждений просканировать, размножиться по сети и там все проверить...
Это уже параноя - защита нужна "от дурака", а не от идиота...

А "файл был хоть и примитивно, но зашифрован" - решает проблему с аутентичностью контента...

З.Ы. В один файл есть смысл упаковывать большое количество мелких данных, большие потоки разумней хранить отдельными файлами. Опять таки, при нужде можно легко сделать "облегченную" версию исключив "тяжелый" контент.


 
Дмитрий С   (2008-04-18 12:26) [19]


> Игорь Шевченко ©   (18.04.08 12:16) [17]

Видеоролики, просто, под раздачу попали=) А в пример я их привел потому, что они много места занимают. Вот так вот оправдался =)
А вот текстовый контент в файле неплохо бы и скрыть, что я и сделал=)

А мне интересно. Аберрaция - отклонение от рaционaльного мышления или поведения. Тогда "аберрации поведения" - тавтология?


 
Anatoly Podgoretsky ©   (2008-04-18 12:30) [20]

> Пока я склоняюсь к подсчету CRC заголовка файла + проверка разумности данных, указанных в заголовке.

Тебе Паркинсон докажет, что ты неправ.


 
Дмитрий С   (2008-04-18 12:30) [21]


> а на хрена вообще проверять целостность мультимедийного
> контента?

Целостность контента мне, собственно, побоку. А вот целостность файла, точнее структуры файла, в котором данный контент храниться - имеет значение. Т.к. если ее нарушить, программа может выдать "хрен знает что".


> А "файл был хоть и примитивно, но зашифрован" - решает проблему
> с аутентичностью контента...

Не совсем понятно о чем речь.


 
Anatoly Podgoretsky ©   (2008-04-18 12:32) [22]


> Как вариант - использовать по-блочный CRC.

Что то меняет, вместо одной проверки - несколько, но все равно надо проверять весь файл. Правда интересно, а зачем его проверять, ты что его пересылаешь через Интернет?


 
Дмитрий С   (2008-04-18 12:36) [23]


> Что то меняет, вместо одной проверки - несколько, но все
> равно надо проверять весь файл. Правда интересно, а зачем
> его проверять, ты что его пересылаешь через Интернет?

Каждый блок проверяется только тогда, когда он понадобился. Т.е. файл проверяется по мере надобности, а не целиком сразу.


> Правда интересно, а зачем его проверять,

Чтобы избежать "глюков"



Страницы: 1 вся ветка

Текущий архив: 2008.06.01;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.018 c
15-1208680471
Экс-Семеныч
2008-04-20 12:34
2008.06.01
К вопросу о программистах нормальных и не. Спрашивали тут как-то


2-1210593259
Int23
2008-05-12 15:54
2008.06.01
Форма ввода одной строки


2-1210171211
operator
2008-05-07 18:40
2008.06.01
Вывод графиков контрастными цветами


15-1208557575
Hero
2008-04-19 02:26
2008.06.01
ishelllink


4-1190007462
Nikfel
2007-09-17 09:37
2008.06.01
Как получить handle под курсором.