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

Вниз

Драсть всем ! Затык интерфейса. Нет реакции на мышь. Как бороть ?   Найти похожие ветки 

 
UnDISCOvery ©   (2002-09-24 14:30) [0]

Такая проблемная ситуация. Есть интерфейс и длл-ка ядра. Интерфейс занимается отрисовкой кадров, которые шлет ему длл-ка (типа мультики). Механизм такой: как только готов кадр, то длл-ка отсылает сообщение окну в интерфесе, мол готово - забирай. Окошко забирает и отрисовывает. Но возникает такая проблема: когда скорость ввода поднимается до 25 кдр\сек на канал мультика (а мультиков может быть аж 16 одновременно !), то интерфейс перестает реагировать на мышь, перетаскивание оконо, скорость ввода резко падает, где-то до 7 кдр\сек. Короче затык. Я смотрел: в основном процессе выстраивается офигенная очердь сообщений (не мудрено ! :) ), т.е. интерфейс не успевает их все отработать. Как сие дело разрешить ? Я вот думаю может ввод\отображение выделить в отдельный поток, тогда сообщения от длл-ки будут вставать в очередь к нему. Я ПРАВ ?
Выслушаю вообще ЛЮБЫЕ мысли по поводу проблемы ... может кто сталкивался с обработкой видео-изображение и его вывода с приемлимой скоростью ... может быть есть гуру по многопоточности ... жду. заранее все фэнкс ... :)


 
Smithson ©   (2002-09-24 14:57) [1]

Похоже, ты просто превышаешь предел производительности своего процессора (либо исчерпываешь физическую память и начинаешь жить в свопе).


 
UnDISCOvery ©   (2002-09-24 18:18) [2]

Проц естественно грузится под 100, памяти кушается немного, я ж там практически ничего не создаю, с чего бы ей исчерпаться ? :-/
память жрется тока под битмапы и формочки. утечки нет, я проверял.


 
Shadow ©   (2002-09-24 18:29) [3]

2 unDISCOvery
Вы что, показываете битмапы один за другим?!!!!!!!
Если да, то не помешает сделать видео формат(можно даже без компрессии)
статья была кажется здесь http://daddy.h1.ru/


 
Digitman ©   (2002-09-24 18:34) [4]

1. в DLL строй кадры в доп.кодовых потоках
2. извещай осн.поток хост-процесса о построении очер.кадра спец.оконными сообщениями
3. хост-процесс, получив извещение, передает его параметры на вход , скажем, DirectDraw-интерфейса и продолжает заниматься своими делами



 
Shadow ©   (2002-09-24 18:38) [5]

2 Digitman
По пункту 1:
Может лучше стороить в потоках хост-процесса, тогда пункт 2) практически отпадает, а пункт 3) сущетвенно упрощается.


 
UnDISCOvery ©   (2002-09-25 11:17) [6]

Сделал так: в длл-ке запустил по потоку на каждый канал, ситуация улучшилась, но не намного :( ... теперь повысилась общая скорость, но когда пытаюсь повысить скорость всех каналов до 25 к\сек, то:
1 канал : 25
2 канал : 7
3 канал : 2
4 канал : вообще не фурычит :((

правда вывожу не через ДиректДроу, а обычным ГДИ ...

каждый канал посылает сообщение "своему" окну на отрисовку ...
прокачка идет через TBitmap подвязкой на указатель в память через Scanline



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

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

Наверх




Память: 0.48 MB
Время: 0.02 c
1-21023
EternalWonderer
2002-09-25 20:39
2002.10.07
Господа! Помогите отловить CM_MOUSELEAVE!


1-21078
vic_vm
2002-09-25 05:44
2002.10.07
Как увеличить значение указателя


3-20896
cherepovets
2002-09-15 12:28
2002.10.07
Как сделать


4-21303
zaal
2002-08-19 18:05
2002.10.07
Окно


14-21195
eaprit_bel
2002-09-11 02:32
2002.10.07
тетрис