Not really. We think the slow down is because of the form''s special handling of the tab key as opposed to the arrow key. The framework uses the tab to move control focus and you have to get at the Tab (through a ProcessDialogKey override) in a different manner than the arrow key (OnKeyDown). The slowdown only happens if there is an active cell control (does not happen when the cell is Static). So, we suppect the slowdown is being caused by moving the cell control around as the currentcell moves. The strange thing is that the exact same code does this in both the tab key and arrow cases.
Attached is the little sample I have been using to look into this problem.
Here are the results I see.
Using debug builds of our library, the test takes about 1.7 sec for the tab key and abount .78 secs for the arrow key. It does not matter if F5 or ctl+F5 is used to run it.
Using the release builds of our library, using ctl+F5 to run things, the tab key takes about .84 seconds and teh arrow key takes about .78 secs (Not really noticeable difference.) Using F5 to run with release library, the tab takes about .92 secs and the arrow takes about .79 secs. (This MAYBE slightly noticeable, but you would probably have to expect it to notice it.)
Do you see similar results with this sample? How does this compare with what you are seeing in your virtual grid?