Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];

Вниз

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

 
Дмитрий С   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.042 c
11-1189852141
CutPaste
2007-09-15 14:29
2008.06.01
грузить Dll из ресурса


15-1208621002
No_Dead
2008-04-19 20:03
2008.06.01
забавная логика:) (хакерский тест->Наполеон)


2-1210355753
art36
2008-05-09 21:55
2008.06.01
Нажатие клавиши в другом приложении


8-1181160626
Дима_З
2007-06-07 00:10
2008.06.01
Иконки 256Х256, сжатые vista-форматом


15-1208514535
Ega23
2008-04-18 14:28
2008.06.01
Программы генерации RSA-ключей





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский