A number of clients have now referenced a problem with our application taking inordinate amounts of time to display dialogs etc. At first these made no sense as the same actions on our PCs were immediate. After much head scratching and testing we have isolated the problem to the length of time that certain PCs take to process the WINIO@ statements that contain %ib commands. I have produced the following test program that takes timings during the code and writes them out at the end of the program. We have complete access to a PC that experiences these issues until Wednesday pm due to the client wanting a solution to what is otherwise a problem that makes the use of our software untenable. We have run a few tests today but have already run out of what else to do because it would appear to be clearly the processing of the WINIO@ statements. But until Wednesday any suggestions for testing will be welcome. I have included the code except the Resources BITMAP entries as the '' entries will need replacing with bitmap file paths for your testing.
The following is the output from the test program (see below) first on a typical PC followed by one of the PCs experiencing the problem. Typical timings output are (in seconds); TMPSS1 = 'near 0' TMPSS2 = 0.203 TMPSS3 = 0.344 TMPSS4 = 0.500 TMPSS5 = 0.562 Our clients PC posts the following values (in seconds); TMPSS1 = 'near 0' TMPSS2 = 43.84 TMPSS3 = 87.499 TMPSS4 = 130.015 TMPSS5 = 130.062 Our clients have high spec PCs that are brand new and if anything you would expect faster times rather than the 200 times slower that they are experiencing.
I am aware of the large number of icons in this example dialog but it does prove that the issue is relative to the number of %ib calls made and is as sequential across multiple dialogs as it is across one. It would appear that the grouped %ibs are particularly affected.
Our standard application, on these PCs, is taking in the region of one to several minutes to load (up from just over a second on my PC) as we use %ib in our main window toolbars etc.
Any suggestions will be tested immediately. We are running out of time.
!****************************************************
!* *
!* ClearWin+ Test Code *
!* *
!* ibtimings.f95 *
!* *
!* Test of ClearWin+ %ib *
!* *
!********************************************************
!* *
!* Illustrates the timings for %ib dialog builds *
!* *
!**********************************************************
winapp
program filter
use mswin
integer :: res
CHARACTER CBMP(0:32)*32
DATA IHW / 0 /
CBMP(0) = 'MD_MOUSE_EN'//'/Item 1'
CBMP(1) = 'MD_MOUSE_OBS'//'/Item 2'
CBMP(2) = 'MD_MOUSE_STN'//'/Item 3'
CBMP(3) = 'MD_MOUSE_GRID'//'/Item 4'
CBMP(4) = 'MD_MOUSE_STRING'//'/Item 5'
CBMP(5) = 'MD_MOUSE_CNTRLOBS'//'/Item 6'
CBMP(6) = 'MD_MOUSE_TXT'//'/Item 7'
CBMP(7) = 'MD_KB_EN'//'/Item 8'
CBMP(8) = 'MD_KB_OBSN'//'/Item 9'
CBMP(9) = 'MD_KB_STN'//'/Item 10'
CBMP(11) = 'MD_DIG_PT'//'/Item 11'
CBMP(12) = 'MD_DIG_STR'//'/Item 12'
CBMP(13) = 'MD_DIG_NEW'//'/Item 13'
CBMP(14) = 'MD_DIG_OLD'//'/Item 14'