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-битными системами.

Другие вопросы по тегам