Задержка до возникновения события загрузки в Windows 10 с устаревшим приложением Visual Basic 6

#windows #performance #vb6 #delay

Вопрос:

У нас есть устаревшее приложение VB6, которое использует некоторые пользовательские компоненты ActiveX, разработанные для нас. Один из них широко используется в каждой форме, потому что это расширение текстового поля. Этот компонент имеет пять элементов управления VB6 (2 текстовых поля, 2 рамки, 1 метка). Почти, у него есть компонент CommonControl Monthview в форме.

Производительность всего приложения была такой прекрасной еще год назад. Работает под управлением Windows 10, Windows Server 2019… каждая форма, в зависимости от количества экземпляров этого элемента управления, кажется, зависает до возникновения события de Load.

Мы провели множество тестов на разных машинах, разных конфигурациях, разных версиях ОС, и результаты всех этих тестов одинаковы. В Windows 7 форма со 160 экземплярами этого объекта тратит 0,4 секунды до выполнения первой строки события загрузки. Одна и та же версия приложения, работающая под управлением Windows 10, может потратить от 5 до 12 секунд, пока не будет выполнена первая строка кода. Этот интервал времени, от 5 до 12 секунд, всегда проходит по одному и тому же сценарию, W10 с таким похожим оборудованием. Например, у нас есть клиенты с 50 ПК, на которых запущено приложение, и у каждого из них свое поведение. Некоторые тратят 5 секунд… другие тратят 12 секунд… а основная группа затем занимает 6, 7, 8 секунд… Кроме того, мы разработали еще один пользовательский компонент ActiveX с теми же элементами управления, но без какого-либо кода. Работает только как контейнер других элементов управления. Тест с этим контролем дает более или менее одинаковые результаты. Большая часть времени тратится на перерисовку и изменение размера компонентов внутри этого пользовательского элемента управления.

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

Кто-нибудь может помочь нам с этой проблемой? Любая идея, подсказка, тест, который мы можем сделать… все, что угодно, может помочь нам решить эту ситуацию.

Заранее спасибо,

Комментарии:

1. Чтобы дать вам несколько значимых предложений, вам нужно перечислить то, что вы пробовали до сих пор. Нет смысла повторять все предложения, которые вы уже пробовали. Это пустая трата как вашего, так и нашего времени.

2. Вы провели повторный поиск WM_SETREDRAW ?

3. Связаны ли какие-либо из этих элементов управления с базой данных? Если они пытаются извлечь данные из базы данных, особенно из централизованной базы данных, это может быть проблемой, связанной с сетью/маршрутизацией/драйвером/поставщиком/и т. Д., Что приводит к увеличению задержки/задержек в доступе к базе данных.

4. @MarkL: Я не уверен, как это объяснило бы разницу в производительности, наблюдаемую в Win 7 lt;-gt; Win 10, упомянутой в ОП.