FileNet Visual WorkFlo на Windows 7 - разрешение снижения производительности?
У меня есть приложение VB6, которое использует FileNet Visual Workflo (в FileNet Image Services) для механизма рабочего процесса. Весь код нашего приложения был обновлен для корректной работы как в Windows XP, так и в Windows 7, но при попытке получить информацию о рабочих объектах из FileNet существует проблема с производительностью в Win 7.
В приложении такие звонки, как
ErrorCode = APIVWAPI.VW_GetString(wobjid, lvFldName(idx - 1), aStr)
на что я выделил проблему производительности.
APIVWAPI определяется с помощью позднего связывания следующим образом:
Set APIVWAPI = CreateObject("VWApi.Srv")
ErrorCode = APIVWAPI.VW_GetString(wobjid, lvFldName(idx - 1), aStr)
Линия занимает примерно в 40 раз больше на машине с Windows 7 (процессор Core i7 3,4 ГГц, 8 ГБ ОЗУ), как и на машине с Windows XP (Pentinum 4 3,2 ГГц, 1 ГБ ОЗУ). Эта строка (и тому подобное) вызывается несколько раз при получении элементов очереди. Например, для загрузки очереди из 120 элементов в Windows 7 потребуется около 40 секунд, а в Windows XP - менее 1 секунды.
Обе системы используют новейшие компоненты FileNet IDM (4.0.3 Fix Pack 1). Среда Windows 7 - 64-разрядная версия Enterprise. XP является 32-битным Professional. Компоненты FileNet Visual Workflo являются последними, версия 3.6.
Кто-нибудь имеет опыт работы с FileNet IDM в Windows 7 и / или имеет дело с проблемами производительности, которые, как представляется, связаны с DLL в Windows 7 - и предложения?
1 ответ
Оказывается, что проблема производительности была связана с рисованием ListView на экране. Если сделать ListView невидимым при извлечении данных, а затем нарисовать ListView после извлечения всех данных, это значительно повысило производительность.
Я объясню это различия между 32-битными и 64-битными системами.