Главная страница
    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.003 c
15-1318916274
Mamed
2011-10-18 09:37
2012.02.05
TQRPExpr+Unicode


2-1319627705
dev888
2011-10-26 15:15
2012.02.05
помогите определиться с форматом функции


15-1318620676
Rouse_
2011-10-14 23:31
2012.02.05
Хм, задачка...


2-1319643106
Abdul
2011-10-26 19:31
2012.02.05
Помогите написать программу на Delphi


1-1283368487
Eraser
2010-09-01 23:14
2012.02.05
Отладка загрузки модулей - initialization..finalization





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