![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
|
Welcome to Vista Forums we are your forum to discuss Windows Vista x64 and x86 systems. Whether you need help or just want to post an idea you have on Vista, this is the forum for you.
br> br> |
| |||||||
![]() |
| | Thread Tools | Display Modes |
| | #1 (permalink) |
| Guest | Scroll performance (Avalon and Office 12) I'm trying to create a custom grid in an Avalon (a custom control, not a custom panel) able to handle at least 10000 fields. I'm hosting some panels (with some TextBlocks inside) in an ItemsControl (each panel represents a row) using databinding to take advantage of UI virtualization. This is my best approach, but still I can't reach the Excel 12 scroll performance. I suspect that Office 12 don't uses WPF. Why doesn't it have a reference to PresentationFramework*.dll? Could somebody confirm me if Office 12 uses Avalon or tell me what must I do to improve my scroll performance? Thanks in advance. |
| | #2 (permalink) |
| Guest | Re: Scroll performance (Avalon and Office 12) lcantelmo@gmail.com wrote: > I'm trying to create a custom grid in an Avalon (a custom control, not > a custom panel) able to handle at least 10000 fields. > I'm hosting some panels (with some TextBlocks inside) in an > ItemsControl (each panel represents a row) using databinding to take > advantage of UI virtualization. > > This is my best approach, but still I can't reach the Excel 12 scroll > performance. > I suspect that Office 12 don't uses WPF. Why doesn't it have a > reference to PresentationFramework*.dll? > > Could somebody confirm me if Office 12 uses Avalon or tell me what must > I do to improve my scroll performance? > > Thanks in advance. > Hey there, I'm trying to do something very similar to you and have run into frustration with the drawing performance of all of the TextBlocks. It turns out that WPF is never going to have quite the text rendering performance that was specified to us until DirectX 10 is available with Windows Vista. You may want to take a look at this: http://blog.lab49.com/?p=203 There's a link in there to a ppt that may help to explain some of what's going on underneath the hood in Avalon. Another thing is to ensure that you are at least taking some advantage of the hardware acceleration benefits on your machine. Check out http://216.55.183.63/pdc2005/slides/..._Stevenson.ppt There's a description of the RenderCapability class which is a WPF API which will let you ascertain how the WPF runtime is viewing your graphics hardware (Tier 0, Tier 1 or Tier 2). You can stick that in your running code to see what you have. When I first tried that, WPF said that I had a Tier 0 which means that WPF will do all of it's graphics rendering in software. I have an ATI Radeon 9200 which I know was better than DX7 and has 128B video memory. So that was a signal to me to upgrade my video drivers, and with another run I was up to Tier 1 which supports basic hardware rendering. You can test this with the Perforator tool that comes with the Windows SDK. At runtime, it'll highlight in purple which pieces of your app are rendering in software and which are in hardware. In my own app, I saw it highlight in purple when I was Tier 0, which disappeared when I went to Tier 1 (however that didn't help my performance problems, but I'm trying to update the data source very frequently, like 4x/sec). Anyway, you may want to investigate some of these things. Good luck. Jason |
| | #3 (permalink) |
| Guest | Re: Scroll performance (Avalon and Office 12) If you want to compare to Excel you are going to need to have a virtual control, that only attempts to draw the part of the grid that is visible. Right now that means creating your own grid control since Grid is not virtual. If you know they are all the same size you can use UniformGrid that should be faster than Grid (since it does not do spanning and variable height rows, and such). Michael (C#/WPF MVP) http://spaces.msn.com/members/michaellatta "Jason Dolinger" <jdolinger@lab49.com> wrote in message news:O2cH2b6GGHA.312@TK2MSFTNGP09.phx.gbl... > lcantelmo@gmail.com wrote: >> I'm trying to create a custom grid in an Avalon (a custom control, not >> a custom panel) able to handle at least 10000 fields. >> I'm hosting some panels (with some TextBlocks inside) in an >> ItemsControl (each panel represents a row) using databinding to take >> advantage of UI virtualization. >> >> This is my best approach, but still I can't reach the Excel 12 scroll >> performance. >> I suspect that Office 12 don't uses WPF. Why doesn't it have a >> reference to PresentationFramework*.dll? >> >> Could somebody confirm me if Office 12 uses Avalon or tell me what must >> I do to improve my scroll performance? >> >> Thanks in advance. >> > > Hey there, I'm trying to do something very similar to you and have run > into frustration with the drawing performance of all of the TextBlocks. It > turns out that WPF is never going to have quite the text rendering > performance that was specified to us until DirectX 10 is available with > Windows Vista. > > You may want to take a look at this: http://blog.lab49.com/?p=203 > There's a link in there to a ppt that may help to explain some of what's > going on underneath the hood in Avalon. > > Another thing is to ensure that you are at least taking some advantage of > the hardware acceleration benefits on your machine. Check out > http://216.55.183.63/pdc2005/slides/..._Stevenson.ppt > There's a description of the RenderCapability class which is a WPF API > which will let you ascertain how the WPF runtime is viewing your graphics > hardware (Tier 0, Tier 1 or Tier 2). You can stick that in your running > code to see what you have. When I first tried that, WPF said that I had a > Tier 0 which means that WPF will do all of it's graphics rendering in > software. I have an ATI Radeon 9200 which I know was better than DX7 and > has 128B video memory. So that was a signal to me to upgrade my video > drivers, and with another run I was up to Tier 1 which supports basic > hardware rendering. > > You can test this with the Perforator tool that comes with the Windows > SDK. At runtime, it'll highlight in purple which pieces of your app are > rendering in software and which are in hardware. In my own app, I saw it > highlight in purple when I was Tier 0, which disappeared when I went to > Tier 1 (however that didn't help my performance problems, but I'm trying > to update the data source very frequently, like 4x/sec). > > Anyway, you may want to investigate some of these things. Good luck. > > Jason |
| | #4 (permalink) |
| Guest | Re: Scroll performance (Avalon and Office 12) Ok, thanks for your response. I'm using databinding (setting the ItemsSource property) in my ItemsControl, and defining a ControlTemplate to use VirtualizingStackPanel inside a ScrollViewer. I'm sure that virtualization is working because the application load time and memory usage is lower than using the default StackPanel, the performance has even improved, but not enough. I don't know if this is because WPF is in beta or if there is another thing. I'm trying to reduce the amount of elements that conforms the VisualTree but I can't remove more things. I think that virtualization is the right way to do it, but I can't reach the performance that I need. |
| | #5 (permalink) |
| Guest | Re: Scroll performance (Avalon and Office 12) My understanding is that O12 is NOT using WPF, since it's all native C++ and there are no native interfaces for WPF at this time. Instead, I believe O12 is rolling their own WPF-like UI from the ground up. I don't have a link but I vaguely remember there being a Channel9 video where they talk about this. Ryan "lcantelmo@gmail.com" wrote: > Ok, thanks for your response. > > I'm using databinding (setting the ItemsSource property) in my > ItemsControl, and defining a ControlTemplate to use > VirtualizingStackPanel inside a ScrollViewer. > > I'm sure that virtualization is working because the application load > time and memory usage is lower than using the default StackPanel, the > performance has even improved, but not enough. > > I don't know if this is because WPF is in beta or if there is another > thing. > I'm trying to reduce the amount of elements that conforms the > VisualTree but I can't remove more things. > > I think that virtualization is the right way to do it, but I can't > reach the performance that I need. > > |
| | #7 (permalink) |
| Guest | Re: Scroll performance (Avalon and Office 12) > Instead, I believe O12 is rolling their own WPF-like UI from the ground > up. > I don't have a link but I vaguely remember there being a Channel9 video > where > they talk about this. Yup, certainly sounds like Office to me I have a suspicion the RTMversion of Office will come out with Vista RTM but look like Vista circa 5270 but with crazy repaint issues. |
| |
| |
![]() |
| Thread Tools | |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Scroll wheel on mouse doesnt scroll page | Luke | Vista installation & setup | 3 | 01-15-2008 07:46 PM |
| System requirements for Avalon!? | Jochen Kalmbach [MVP] | Avalon | 2 | 09-03-2006 01:36 AM |
| 3D Controls for Avalon | WSJ | Avalon | 2 | 03-13-2006 10:22 PM |
| 3d sphere in avalon | Avalon | 1 | 01-10-2006 03:53 PM | |