> Just to show some numbers - I created a new tab control with two
> pages. In the first page I put the "problem" screen (which takes 0%
> when alone on the screen) and in the second I put two of these arrays
> (which took 10%). If the arrays are put near the tab and the first
> page is selected, the usage is 10%. However, putting the arrays into
> the second page causes the usage to go to 70% when displaying the
> first page, which originally took 0%. This causes me to suspect that
> there is something going on with the tab control. If anyone knows,
> please...

If you wind up with a demonstrative program, please submit it to tech 
support.  It is hard to rebuild these odd cases from just a description.

> One last question - Greg, your answer was great, but according to what
> you say, shouldn't the frame rate have been lower for the "just
> grayed" array than for the "neither" one?

I'd expect it to be faster too, but these were rough numbers run just 
once or twice without much accuracy.  Also, since the data isn't 
changing, a nonoverlapping array doesn't need to be redrawn anyway. In 
reality, the array control messages the visible items with an old and 
new data pointer and lets them draw the minimum to "look" correct.  It 
gets further complicated when the array is changing size or when 
elements are  uninitialized, but without digging into specific cases. 
When it is overlapped, the array doesn't test all the data first, it 
decides to just redraw.  That is why you see the big difference.

For a better test case, you should have the arrays rotate or alternate. 
  In fact adding an Invert to the 2D array guarantees every Boolean will 
redraw.  Initialize it and test it out.

Greg McKaskle


Reply via email to