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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
6-21159
irq
2002-08-04 17:32
2002.10.07
ras


3-20876
BlackTiger
2002-09-16 12:56
2002.10.07
КАК поставить ширину колонки грида по самому длинному значению?


1-21071
Shrek
2002-09-24 22:30
2002.10.07
DiskFree! DiskSize!


1-21124
evgeg
2002-09-25 18:07
2002.10.07
Is для метакласса


3-20940
Kurt
2002-08-29 17:34
2002.10.07
текст SQL-запроса прямо передается на сервер (случай работы с MS





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский