Пишу программу, которая выдирает из видеофайлов отдельные кадры и формирует из них композицию (в общем случае - обычную таблицу) и сохраняет в графический файл. Кто качал порнуху с торрентов, тот поймёт =)
Так вот, стал вопрос о том, где же хранить полноразмерные кадры. С одной стороны, если хранить в ОП, то обработка идёт быстро, но этой самой памяти нужно довольно много. С другой стороны, если хранить их на винчестере, то обработка значительно замедляется, зато количество кадров почти не ограничено.
Первый вариант я уже реализовал. Но меня терзают сомнения... Подскажите, как лучше.
Программисты, нужен совет
Модератор: Модераторы разделов
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Программисты, нужен совет
как же вы все любите вот это вот "как лучше"... никак не можете понять, что нет способа, который всегда "лучше".
вообще нет таких понятий как "хорошо", "плохо", "лучше", "хуже"... есть только два понятия, которые стоит учитывать: необходимость и целесообразность.
так вот если предполагается, что большую часть времени будут генериться таблички 4х4 или 5х5, то кадры надо хранить в памяти. с неё не убудет, а скорость добавится. а если надо генерить композиции 1000х1000, то никаких запасов памяти просто не хватит, а потому первый вариант вообще работать не будет.
т.е. нет способа, который "лучше". есть способ, который больше подходит для решения данной конкретной задачи...
вообще нет таких понятий как "хорошо", "плохо", "лучше", "хуже"... есть только два понятия, которые стоит учитывать: необходимость и целесообразность.
так вот если предполагается, что большую часть времени будут генериться таблички 4х4 или 5х5, то кадры надо хранить в памяти. с неё не убудет, а скорость добавится. а если надо генерить композиции 1000х1000, то никаких запасов памяти просто не хватит, а потому первый вариант вообще работать не будет.
т.е. нет способа, который "лучше". есть способ, который больше подходит для решения данной конкретной задачи...
слава роботам!
-
mops
- Сообщения: 172
- ОС: Ubuntu Feisty
Re: Программисты, нужен совет
elide писал(а): ↑09.04.2007 20:47как же вы все любите вот это вот "как лучше"... никак не можете понять, что нет способа, который всегда "лучше".
вообще нет таких понятий как "хорошо", "плохо", "лучше", "хуже"... есть только два понятия, которые стоит учитывать: необходимость и целесообразность.
так вот если предполагается, что большую часть времени будут генериться таблички 4х4 или 5х5, то кадры надо хранить в памяти. с неё не убудет, а скорость добавится. а если надо генерить композиции 1000х1000, то никаких запасов памяти просто не хватит, а потому первый вариант вообще работать не будет.
т.е. нет способа, который "лучше". есть способ, который больше подходит для решения данной конкретной задачи...
Дело в том, что это я не для себя пишу и понятия не имею, каких размеров таблички захотят генерировать юзеры этой программы. Это может быть как 5*5, так и 5*25 и 5*100. Причём любой из этих вариантов востребован.
-
v04bvs
- Сообщения: 636
- ОС: Debian GNU/Linux
Re: Программисты, нужен совет
генерируй кучу картинок и HTML-ку с таблицей, а потом всё в какой-нибудь .mht архив.
-
mops
- Сообщения: 172
- ОС: Ubuntu Feisty
-
Liksys
- Сообщения: 2910
Re: Программисты, нужен совет
Если таблички маленькие - первый метод, большого - второй. Какой метод использовать - должен определять сам алгоритм, но должна быть возможность выбора пользователем.
-
mops
- Сообщения: 172
- ОС: Ubuntu Feisty
Re: Программисты, нужен совет
после замеров на разных количествах фреймов решил пока оставить как есть
если буду жалобы - добавлю
если буду жалобы - добавлю
-
Hydrogen
- Сообщения: 137
- Статус: <<beta testing>>
- ОС: Slackware 11
Re: Программисты, нужен совет
ИМХО - хранить в памяти, и памяти не так много надо, современный комп практически любой потянет, если же оперативы не хватит, комп сам в своп положит всё
итого
overall perfomance(в RAM): если кадры мелкие - прога летает, если кадры крупные, прога притормаживает когда свопит
overall perfomance(на HD): прога будет всегда тормозить, даже если кадры мелкие
ИМХО 2 - не совсем согласен с elide в данном случае лучше будет хранить в ОП по вышеуказанной причине...
ИМХО 3 - порно маст дай
итого
overall perfomance(в RAM): если кадры мелкие - прога летает, если кадры крупные, прога притормаживает когда свопит
overall perfomance(на HD): прога будет всегда тормозить, даже если кадры мелкие
ИМХО 2 - не совсем согласен с elide в данном случае лучше будет хранить в ОП по вышеуказанной причине...
ИМХО 3 - порно маст дай
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Программисты, нужен совет
коллаж из 1000х1000 тумбов по 100х100px - это почти 30 гигов размера. часто люди отдают 30 гигов под своп?
ты можешь возразить, что пользователи не часто собирают такие картинки... вообще, да.
но второй вариант будет работать и в этом случае. а первый - нет.
и мы снова упираемся в то, что "лучшесть" определяется исключительно конкретной ситуацией.
ты готов не согласиться с этим утверждением?
слава роботам!
-
alastor
- Сообщения: 844
- Статус: ARCH'еноид
- ОС: Arch Linux current
Re: Программисты, нужен совет
Ну так может ввести в программу адаптивный алгоритм, который в зависимости от количества картинок будет размещать их либо в ОЗУ, либо на винте?
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Программисты, нужен совет
alastor, к чорту адаптивные алгоритмы... дописать один ключ в параметрах - самый эффективный адаптивный алгоритм...
слава роботам!
-
agbr
- Сообщения: 486
- ОС: openSUSE 10.2
Re: Программисты, нужен совет
mops писал(а): ↑09.04.2007 20:07Пишу программу, которая выдирает из видеофайлов отдельные кадры и формирует из них композицию (в общем случае - обычную таблицу) и сохраняет в графический файл. Кто качал порнуху с торрентов, тот поймёт =)
Так вот, стал вопрос о том, где же хранить полноразмерные кадры. С одной стороны, если хранить в ОП, то обработка идёт быстро, но этой самой памяти нужно довольно много. С другой стороны, если хранить их на винчестере, то обработка значительно замедляется, зато количество кадров почти не ограничено.
Первый вариант я уже реализовал. Но меня терзают сомнения... Подскажите, как лучше.
реализуй оба варианта и их переключение.
по дефолту пусть например будет вариант с ОП.
jabber: agbr@jabber.ru
против проприетарного ПО в GNU/Linux
против проприетарного ПО в GNU/Linux
-
Liksys
- Сообщения: 2910
Re: Программисты, нужен совет
Я про это еще в шестом топике сказал.
-
Hydrogen
- Сообщения: 137
- Статус: <<beta testing>>
- ОС: Slackware 11
Re: Программисты, нужен совет
elide писал(а): ↑10.04.2007 15:00коллаж из 1000х1000 тумбов по 100х100px - это почти 30 гигов размера. часто люди отдают 30 гигов под своп?
ты можешь возразить, что пользователи не часто собирают такие картинки... вообще, да.
но второй вариант будет работать и в этом случае. а первый - нет.
и мы снова упираемся в то, что "лучшесть" определяется исключительно конкретной ситуацией.
ты готов не согласиться с этим утверждением?
Хорошо
1: очень сомневаюсь что о таких размерах идёт речь, ибо я так понял это чтоб на веб странички размещать
2: если это порнокачальщик - места на диске должно быть дохрена
2.1: если это порнокачальщик - не думаю что он выставлял статический размер свопа, ибо они в основном не знают что это
3: если свопу некуда рости - пункт 2 и вообще это не проблемы программера...
Программисты S.T.A.L.K.E.R'a не думали о юзерах amd duron процессоров...
короче много чего сказать можно... а спорим на пустом месте...
опять же это ИМХО...