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

Вниз

как создать собственную "очередь сообщений" для DDE сервера?   Найти похожие ветки 

 
Arrant ©   (2011-10-19 18:04) [0]

Написана программа DDE сервер, рисует графики и прочее на основе поступающих данных от DDE клиента. Данные поступают не равномерно и сервер иногда захлебывается, несмотря на обработку реализованную в два потока. Клиент прекращает передачу данных с сообщением «Сервер не отвечает», а сервак продолжает отрабатывать данные, пока очередь не закончится. Если программу свернуть обработка идет веселее, но это не выход.  Если окна двигать сворачивать – разворачивать то срыв наступит гарантировано. Вешать Hook не желательно, ещё больше тормознет программу.


 
Jeer ©   (2011-10-19 18:13) [1]

"Погода иногда мне мешает загорать" (С)


 
Arrant ©   (2011-10-19 18:21) [2]

Может другая идея есть как функцию обратного вызова заставить исполнятся в другом потоке. Для него "очередь сообщений" уже создал.


 
Бездомный   (2011-10-19 19:08) [3]

в одном потоке собирать данные, в другом отрисовывать.
А вообще скорее всего где-то ошибка проектирования, раз такие тормоза при прорисовке.


 
Arrant ©   (2011-10-19 19:30) [4]

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


 
Arrant ©   (2011-10-19 19:53) [5]

Была создана модель. Клиент отправляет серверу текущее время в миллисекундах. Сервер в потоке пишет время в лог. Пока сервер не трогаем задержка 0-20 мс. Жмем кнопку на сервере и он рисует прогресс бар 5 сек, это время лог перестает заполнятся. По окончании от рисовки  все данные записываются в лог.
время приёма отправки разница средне
530367546-530367546=0       0.44
530367563-530367562=1       0.43
530373139-530367578=5561      33.93
530373139-530368640=4499      60.66
530373139-530369703=3436      80.76
530373139-530370781=2358      94.23
530373139-530371843=1296     101.30
530373139-530372906=233     102.07
530373157-530373156=1     101.47
530373171-530373171=0     100.88
530373188-530373187=1     100.30


 
han_malign   (2011-10-20 14:52) [6]


> рисует прогресс бар 5 сек, это время лог перестает заполнятся

- дык, нефиг на пять секунд очередь блокировать...



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

Форум: "Прочее";
Текущий архив: 2012.02.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.004 c
2-1319626055
onyx2012
2011-10-26 14:47
2012.02.05
Групповая сортировка в cxGrid


15-1318598977
OW
2011-10-14 17:29
2012.02.05
ProcessExplorer и 100% загрузка процессора.


2-1319991854
Gu
2011-10-30 19:24
2012.02.05
system.pas


15-1318859876
lextasy
2011-10-17 17:57
2012.02.05
Посоветуйте учебник по Delphi для школьника


3-1271490232
namco
2010-04-17 11:43
2012.02.05
delphi+mysql без ODBC





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