Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Поток в Delphi


Автор: salik 29.3.2014, 07:19
Доброго времени суток. 
Программа в отдельном потоке вычисляет значения по формуле и строит график. Заметил одну особенность - если я в области окна подвигаю мышью во время вычислений, то комп практически мгновенно строит график. Предполагаю, что винда выделяет больше ресурсов активному приложению. Как сделать так, чтобы просчиталось мгновенно без манипуляций с мышью.

Автор: PointerToNil 29.3.2014, 09:03
вообще-то мышь лишь посылает сообщения окну формы
возможно, оно почему-то заснуло, и только при их получении пробуждается
или ваш поток как-то неправильно сообщает визуальному компоненту о необходимости отрисовки
или всё за-synchronize-ировано и реально работающих потоков меньше, чем вы думаете
для чистоты эксперимента попробуйте сделать всё то же самое совсем БЕЗ потоков

Автор: salik 29.3.2014, 18:52
Цитата(PointerToNil @  29.3.2014,  10:03 Найти цитируемый пост)
оно почему-то заснуло

Программа не "спит" и строит график может чуть быстрее, чем без дополнительного потока.
Цитата(PointerToNil @  29.3.2014,  10:03 Найти цитируемый пост)
реально работающих потоков меньше

Вы были правы насчет synchronize. Там цикл, который обновляет Chart. У меня один поток и кроме его туда никто не пишет. Сделал без синхронизации и вычисления идут со скоростью пули  smile 
Спасибо за помощь!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)