"Тормоза" в Windows 10, 2012 etc
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- RaFaeL
- ✯ Ветеран ✯
- Сообщения: 1412
- Зарегистрирован: 24 Март 2009, 17:59
- Откуда: НН
- Благодарил (а): 12 раз
- Поблагодарили: 2 раза
- Контактная информация:
"Тормоза" в Windows 10, 2012 etc
Недавно столкнулись со следующей ситуацией. От клиента пришла жалоба, что программа на 16-ядерном мощном сервере под Windows Server 2012 жрет ресурсы CPU. В частности, каждое открытое окно программы отжирает примерно 0,1% процессора. Учитывая, что окон может быть открыто много, польхователей тоже много (десятки), а сервер используется в качестве терминала, это стало напрягать. Стали разбираться. На тестовых машинах под Windows 2003, 2008, 7 ничего подобного не проявлялось. Попробовал на слабеньком планшете под Windows 10 (используется в основном как терминальный клиент да сюда вот с него пишу). Так вот на нём каждое большое (например, карточка контрагенга или карточка первичного документа) открытое окно в программе даже в режиме простоя отжирало примерно 10 (десять) процентов CPU! Соответственно, после открытия 5-6 окон работать становилось практически невозможно. Начал разбираться дальше. Выяснилось, что значительную часть "тормозов" даёт ошибка в шаблоне XPTheme, которая на каждый контрол окна вешает таймер (через WinAPI), и убирает его только при закрытии окна. И вот эти фоновые таймеры никак себя не проявляют на windows 7/2008 включительно (и более ранних), а в 2012 и 10 (а также, видимо, в 8 и 2016) серьезно "нагибают" систему. После удаления этих таймеров нагрузка снизилась на порядок (правда, все равно выше, чем в 7ке). Таким образом, Windows на новом ядре как-то по другому работают либо с таймерами, либо с внутрисистемными событиями вообще, что может приводить в разной производительности программы в разных Windows. Поэтому, во-первых рекомендую всем проверить свои приложения на подобное, во-вторых, может кто сталкивался и знает более подробно. а что именно там в винде поменяли?