Page 1 of 1

MSAA on Large Table

Posted: Tue May 04, 2010 5:07 pm
by atom
Hiya

We recently added MSAA support to an in-house grid control
However when Ranorex Spies the grid to get the Table object it takes a very long time
The grid itself contains 5000 rows, and 10 columns
Is there perhaps something wrong with our MSAA implementation that makes it take so long?

BTW : Is there a way to tell ranorex, only obtain the Element, and not the Table?
(i.e. don't traverse all rows and columns, just get me the Element?)

Cheers

Re: MSAA on Large Table

Posted: Wed May 05, 2010 11:38 am
by Support Team
Hi!
atom wrote:Is there perhaps something wrong with our MSAA implementation that makes it take so long?
I think there is nothing wrong with your MSAA implementation. It's a very "fat" table and Ranorex SPY needs time to get all rows of the table when you Spy a cell. As the MSAA interface is rather slow (COM inter-process communication involved), this might take a while. IMHO you can only accelerate this at runtime by code using a CacheSessionContext(), see following post:
http://www.ranorex.com/forum/performanc ... html#p4144
atom wrote:Is there a way to tell ranorex, only obtain the Element, and not the Table?
No sorry there is no such way. Ranorex needs hierarchical information about the element in order to create a RanoreXPath. What you can do is creating a snapshot of the whole table (e.g. using the <SCROLL> key) and then use tracking with that snapshot loaded (see the corresponding topic in the User Guide). Similar to using a CacheSessionContext, Ranorex will that way only get the data from the table once and then work on the cached data.

Regards,
Peter
Ranorex Support Team