powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Программа сбоит кргда Windows 10 отключает монитор
25 сообщений из 26, страница 1 из 2
Программа сбоит кргда Windows 10 отключает монитор
    #39971210
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветстую!

Первый раз такое вижу. Есть оконное приложение на Delphi, внутри этого оконного приложения выполняется Pascal Script. По приходу данных по TCP из основного приложения дергается пара процедуру внутри Pascal Script (в основном приложении очередь запросов к PS).

В основное окно приложения идет вялый вывод в Memo строк лога. И все. В основной программе еще есть компонент для работы с COM-портом, но два порта через переходники USB <-> COM во время теста не используются, обмена данных по ним нет, да и порты эти собственно даже не открыты. Если что-то делать на компьютере - программа работает часами. При гашении монитора системой - немедленный сбой. В настройках системы - отключать монитор через 10 минут, спящий режим - никогда. Под подозрением - сбой очереди в главном приложении и корректность работы Pascal Script. Но как такое вообще может быть, какая тут связь? Если монитор просто выключить кнопкой питания - все работает...
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971212
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezhНо как такое вообще может быть, какая тут связь?

Какой-то диверсант написал в твоей программе обработку сообщений питания. Найти и обезвредить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971214
L.Otujktd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AleksVoronezh,

А исходники есть у Вас на руках? Скорее действительно стоит обработчик системных сообщений об отключении монитора, тем более если основной вывод идёт в мемо.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971218
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гасится экран или блокируется компьютер? В последнем случае есть варианты. Например такое возможно даже при получении координат мыши при заблокированном компьютере, при отсутствии проверки результата. Мы в своей библиотеке в свое время столкнулись с подобным.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971221
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezh

В основное окно приложения идет вялый вывод в Memo строк лога. И все. В основной программе еще есть компонент для работы с COM-портом, но два порта через переходники USB <-> COM во время теста не используются, обмена данных по ним нет, да и порты эти собственно даже не открыты.
Отключите в настройках энергопотреблении временное отключение питания USB.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971222
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
white_nigger
Гасится экран или блокируется компьютер? В последнем случае есть варианты. Например такое возможно даже при получении координат мыши при заблокированном компьютере, при отсутствии проверки результата. Мы в своей библиотеке в свое время столкнулись с подобным.


Спасибо за ответы. Все исходники есть, конечно, программу делал я. Разумеется, используются и готовые компоненты, которые буду проверять. Экран гасится, компьютер не блокируется. Windows 10 Home. Насчет координат мыши тоже подумаю, спасибо.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971223
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Соколинский Борис
AleksVoronezh

В основное окно приложения идет вялый вывод в Memo строк лога. И все. В основной программе еще есть компонент для работы с COM-портом, но два порта через переходники USB <-> COM во время теста не используются, обмена данных по ним нет, да и порты эти собственно даже не открыты.
Отключите в настройках энергопотреблении временное отключение питания USB.


И это нужно будет попробовать, согласен.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971228
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала лучше попробовать прогнать от компьютера блондинку для которой все ошибки
красненькие и тщательно исследовать что представляет из себя мистический "сбой".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971236
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запретил отключение (экономию энергии) для USB, сетевого адаптера и PCI-E в целом. Как будто стало лучше, но отчетливо видно даже по светодиоду на приборе, как только Windows отключает монитор, что светодиод мигает не так ритмично.

Путь там такой (для теста): первый прибор (в данном случает просто устройство с TCP) дергает основное приложение GET-запросом, в результате чего, встав сначала в очередь в основном приложении, из основного приложения вызывается PS скрипт, который через TCP-клиент Synapse дергает второй прибор, зажигая на нем светодиод. Второй прибор сообщает основному приложению (через TCP-сервер на Synapse), что светодиод зажжен. Это проходит обработку отдельной процедурой на PS, опять через ту же очередь, и отображается в WEB - интерфейсе. Работает часами, 5 часов точно, если Windows не гасит дисплей. Критичные элемент - очередь в приложении. Она построена на таймере из модуля MMSystem. Как бы Винда не чудила чего с этим таймером, когда гасит дисплей?
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971240
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezh, там вроде нечему чудить.
Я бы грешил на то, что винда приоритеты процессов как-то перераспределяет.
И, кстати, какая частота должна быть и какая становится?
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971243
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Бористам вроде нечему чудить.

Правда? Меня лично удивляет, что это чудо на колёсиках вообще хоть как-то работает. Одна
"очередь на таймере" уже достойна кунсткамеры.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971245
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Соколинский Борис,

Пакеты (GET-запросы), включающие и выключающие светодиод, следуют каждые 0,3 секунды. Выборка из очереди идет мультимедийным таймером с частотой 1 раз каждые 10 миллисекунд. Вот тут этот сбой хорошо видно. Это с мультимедийным таймером.

https://cloud.mail.ru/public/2P7p/3yo7H3AKp

Попробовал обычный таймер, поставил на 20мс (это очень оптимистично конечно) - поведение тоже. Гаснет экран - все встает колом.
Толи где-то в очереди косяк... но почему тогда работает при горящем дисплее?
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971246
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
я отвечал конкретно о таймере высокого разрешения, который в чипсет встроен. Трудно представить, отчего его может колбасить в данной ситуации.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971249
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezh
Пакеты (GET-запросы), включающие и выключающие светодиод, следуют каждые 0,3 секунды.
Точнее сказать, они отправляются каждые 0.3 секунды, и то, что они будут с равными интервалами приходит в обработчик никто не гарантировал.
В любом случае глюк явно не из-за таймера.
Я бы для начала зашил в исходящие пакеты таймптамп-ы и исследовал периодичность их прилета до и после.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971251
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Соколинский Борис, согласен, но это все на одном коммутаторе, сеть не загружена... идеальные условия почти.

Небольшая разница визуально присутствует всегда. Но при гашении дисплея - она становится катастрофической.
А как же видео, которое я выложил, наконец?
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971253
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezh
Соколинский Борис, согласен, но это все на одном коммутаторе, сеть не загружена... идеальные условия почти.
Это не только от сети зависит, в цепочке еще участвует некий процесс[ы], который пакеты обрабатывает. Ну и, собственно, само приложение которому винда процессорное время выделяет. ИМХО, сюда нужно копать, для начала проэкспериментировать с приоритетом REAL_TIME.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971254
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezhА как же видео, которое я выложил, наконец?

Видео никого не волнует. Windows не является системой реального времени и ничто (включая
мультимедийный таймер) не гарантирует время отклика. Начни протоколировать события с
таймштампами чтобы посмотреть где именно растёт интервал. А расти он может где угодно,
включая, например, NAGLE алгоритм TCP стэка или квант времени системного шедулера. Да и
частота процессора способна падать в район нуля.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971272
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Да и частота процессора способна падать в район нуля.

Не могу с этим не согласиться. Но мы тут "ловим" не микросекунды и даже не миллисекунды - а несколько десятых долей секунды в общем. Что бы такие задержки на ровном месте... ? Логика была такая, что в основном приложении всегда что-то выполняется - по диспетчеру задач я вижу, что оно занимает почти постоянно 7-10% CPU. Как бы совсем засыпать оно не должно, там боле - весь комп. Хотя и не спорю, можно будет попробовать изменить приоритетет для него. Кстати, совсем уже в порядке конспирологии, оппробовал с играющим в фоне Foobar - лучше не стало.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971300
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezh,

OpenSSL используется?
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971303
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksVoronezh
Как бы совсем засыпать оно не должно, там боле - весь комп.
У винды может быть иное мнение на этот счет. Я не удивлюсь, если она считает процесс перехода в другой режим самым приоритетным.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971305
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, OpenSSL не используется. Строго говоря, в приложении есть Standalone IntraWeb сервер, вот он не виснет, и продолжает исправно отдавать станицы. Еще там создается экземпляр TCP-сервера на базе Synapse и очередь, выборка из которой происходит по таймеру на основе модуля MMSystem. Пока я больше всего грешу на таймер. Но возможно, и у меня там кривизна где-то нереальная. Но почему работает часами, когда Windows не отключает монитор?
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971308
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если сделать Fast Switch (смена пользователя)?

При отключенном мониторе на десктоп, вероятно, не отправляются многие оконные сообщения. Я хз, как вы там сделали, кода-то мы не видим. Отключение кнопкой монитора - не то же самое по той причине, что система не в курсе, что монитор выключен - соответственно, сообщение будут продолжать приходить.

Так что код - в студию.
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971322
AleksVoronezh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер! Спасибо за ответ.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
procedure TimerProc(uTimerID, uMessage: UINT; dwUser, dw1, dw2: DWORD) stdcall; // Обработка очереди

type
    TFunc = function(Param1,Param2,Param3: String):boolean of object;
var
    F: TFunc;
    Function_Name: String;
    Data_String: String;


begin

Try

 CriticalSection.Enter;

 If ( Pascal_S='') Or ( PS_IS_Ready='No' ) Or ( Function_Name_Queue.isEmpty ) Then Exit; // Проверка на готовность движка PS и не пустую очередь

 Function_Name:=Function_Name_Queue.Dequeue; // Извлечение из очереди имени процедуры внутри Pascal Script
 Data_String:=Data_String_Queue.Dequeue;  // Извлечение из очереди строковых данных для процедуры

 F := TFunc(Form3.PSScript1.GetProcMethod(Function_Name)); // Обращение к прцедуре внутри Pascal Script
 if @F = nil Then Exit;

 PS_IS_Ready:='No'; // Флаг, что движок PS будет занят

 F(Data_String,'',''); // Обращение к движку PS

Finally
  CriticalSection.Leave
End;


end;




Вот процедура обработки в таймере. То, что тестирую сейчас. Перед этим было обращение к PS отдельной процедурой, и внутри нее - критическая секция...
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971352
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так добавьте логгинг каждого шага. Процедура вызывается? Если да, то на чём тогда внутри встаёт?
...
Рейтинг: 0 / 0
Программа сбоит кргда Windows 10 отключает монитор
    #39971382
jack_vosmerkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблема может быть гораздно глубже

в любом билде десятки есть такой глюк когда включаешь ночной режим, ждешь отключения монитора по таймеру, шевелишь мышку и ночной режим исчезает хотя кнопка показывает, что он активный
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Программа сбоит кргда Windows 10 отключает монитор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]