We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

Virtual grid - slow tabbing

I''m using version of syncfusion essential suite and have implemented a virtual grid. I''ve got keyboard navigation working, except that navigating by holding down an arrow key is *much* faster than navigating by holding down the tab key (which is sluggish). I have: // Insist on these keys gridControl.WantTabKey = true; gridControl.WantEnterKey = true; gridControl.WantEscapeKey = true; and I also handle QueryNextCurrentCellPosition. Any idea why the speed difference?

9 Replies

AD Administrator Syncfusion Team September 7, 2004 11:54 AM UTC

I can see this problem in a non virtual grid as well. We will have to look into what is causing this behavior. I will update this thread when I know more about the problem.

AD Administrator Syncfusion Team September 8, 2004 10:19 AM UTC

It turns out that the only time we see a significant (noticible) slowness problem here is if we are using debug builds of our library. Are you using debug builds also?

SS Simon Spruzen September 8, 2004 12:18 PM UTC

The assembly manager is set to: Assembly Version: Configuration: Default prebuilt Framework version: 1.1 (VS.Net 2003) so I guess not.

AD Administrator Syncfusion Team September 8, 2004 12:30 PM UTC

Just to be sure in the Solution Explorer window, if you open up the references and click the grid dll, does the property window show Release or Debug under the description? If it is release, can you send sample project showing the problem? The reason is that we can only see this problem in debug, and it really appears to be down in the framework code when things slow down. So, we are scratching our heads here as to what may be causing this.

SS Simon Spruzen September 9, 2004 05:08 AM UTC

Edited highlights from properties Description: Prebuilt Release Path: C:\Program Files\Syncfusion\Essential Suite\Assemblies\Syncfusion.Grid.dll Runtime version: v1.1.4322 Version: Because of the difficulty in sending you a test case (we have a lot of code in our virtual grid and it has a lot of dependencies), can you describe what''s causing the tab slowdown in your debug build, and I can see if I''m doing something in my code that could be setting this off. I''m handling keyboard navigation, but I''ve confirmed that it''s exactly the same code (of mine) that handles tab navigation and arrow navigation.

AD Administrator Syncfusion Team September 9, 2004 06:16 AM UTC

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?

SS Simon Spruzen September 9, 2004 06:32 AM UTC

Thanks for excellent example. Just running your solution: 1. Release syncfusion dlls, but DEBUG .net build of your example: Tab: 1:31 Right arrow: 0:796 2. Release syncfusion dlls, RELEASE .net build of your example: Tab: 0:999 Right arrow: 0:812 so a much better result, but you can still visually notice the tab slowness, even though then timings are much closer. I wonder why the debug build of your example app should exhibit the slowdown, given that it''s running against the same DLL. CLR JIT differences?

SS Simon Spruzen September 27, 2004 11:52 AM UTC

Any more info on this?

AD Administrator Syncfusion Team September 27, 2004 01:06 PM UTC

No, we havent''t spend much time with it anymore since the release builds look accectable. Regarding your last question that wasn''t answered: There are big differences especially with regards to garbage collection between debug and release builds. I don''t see this directly related to a TAB key but it''s just something where they might be extra steps in the CLR or things just add up. Stefan

Live Chat Icon For mobile
Up arrow icon