|
Its been tracked down to some odd behaviour with the 3D chart. What I'm seeing isn't a tooltip ... its a textblock!
Jammer
Going where everyone here has gone before!
My Blog
|
|
|
|
|
Hi All,
I just took the plunge ... I've enabled AA under WinXP.
I'm producing a new WPF application using some controls and charting components from Infragistics. So far all is going really well with these controls. The only issue I had was the aliasing on the 3D content.
I'm just posting here to find out if anyone has had any negative experiences with using the XP AA with WPF.
We are currently doing our own investigations into potential problems like OS stability etc ... We need to do lots more as we are potentially going to offer a checkbox during installation that will also switch AA on for XP machine when our application is installed. Obviously we want to cover any and all eventualities upfront before making such an option available to end users.
Just for information, this is not going to be a 'general realease' application its business to business stuff with a small user base and a large price tag meaning that we will also be making a very explicit minimum specification for the machine that will run this software. ie: new and powerful ...
So far I've not seen *any* problems on my machine during development with XP AA switched on which is encouraging.
Also isn't this going to be part of the fabled XP SP3??
Cheers,
Jammer
Going where everyone here has gone before!
|
|
|
|
|
Jammer,
Dumb question to be sure; what is AA?
BTW: I sent all your information and questions/comments to the Blend Team last night.
modified 27-Feb-21 21:01pm.
|
|
|
|
|
Hey Karl,
That is great news! I hope they find them constructive/useful. Would be great to know what they think.
AA = anti aliasing ... I've just uploaded two example graphic files of my charts to my web server.
this first link show you a version of the chart with NO XP anti aliasing applied.
http://www.jammer.biz/images/wpf/chartalias.png[^]
This next link shows you the same chart (well rotated slightly) WITH anti aliasing.
http://www.jammer.biz/images/wpf/chartantialias.png[^]
As you can see from a UI point of view the second example is head and shoulders better than the aliased version. So I'm currently testing the water to see if I encounter any horrible errors or stability issues whilst using the XP AA.
Cheers,
Jammer
Going where everyone here has gone before!
|
|
|
|
|
Fantasic difference. Very nice chart too.
OK, another dumb question. How did you turn off AA on XP? Is this done in the video card software settings?
modified 27-Feb-21 21:01pm.
|
|
|
|
|
Actually its a question of turning ON anti alias under XP as its default is turned off ... according to Microsoft as it can cause stability issues when using the XDDM drivers (as I understand it XDDM is the format of video drivers used by WinXP)
In order to turn it on you need to add in keys to the registry here:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Avalon.Graphics]
"MaxMultisampleType"=dword:00000004
"EnableDebugControl"=dword:00000001
By default the Avalon.Graphics key doesn't even exist in an XP registry.
Jammer
Going where everyone here has gone before!
|
|
|
|
|
Wow, I'm learning something new each day!
I've always had high end graphics cards (nVidia) in all my systems and thought the GPU and drives took care of all of this.
I'll do some testing this weekend and see what comes up.
Thank you!!
modified 27-Feb-21 21:01pm.
|
|
|
|
|
Heh heh ... Karl, try being me on this forum at the moment! Learning C# after 10 years of FoxPro hurts, believe me! I'm learning something new about 3 times a minute!! Some seriously knowledgeable folks around here such as yourself.
I'll say it again ... mole ... nuff said.
Anyway, anything you do find out this weekend would be seriously good to know.
As I understand it the only XP native anti aliasing that is available as a windows config option is the Font Smoothing / Clear Type stuff.
When you get into the realms of nVidia / ATI things I think it really depends on how the tech talking to it is configured rather than it 'just using' the GPU and its inbuilt feature set.
For instance I had a Quad core Xeon machine here that I develop on and it has a pretty hefty nVidia Quadro FX570 graphics card. Earlier when I first enabled the XP AA I also changed some of the nVidea 3D settings (stupid thing to do) when I then rebooted and started looking at some of the WPF stuff a lot of the 2D elements looked terrible even thought the 3D stuff looked great. I had to go and change the nVidia settings back to get the 2D & 3D stuff looking good.
Its more of an issue of interaction between the two rather than a set it and forget it thing on the video card alone.
I'm no graphics code man at all but these are a few things I've learned / noticed.
I just don't like having spent all this cash on the Infragistics controls to then see all the pixels in their squarey glory!
Jammer
Going where everyone here has gone before!
|
|
|
|
|
I'll give this all a go this weekend. I'll compare my XP and Vista results.
My Vista system is SUPER high end across the board. The XP system is very good so it will be nice to compare them with the standard settings and see what goes on.
Now that I'm thinking about it, the nVidia software on my XP machine does have the ability to AA in their 3D settings. I currently have it turned on too.
modified 27-Feb-21 21:01pm.
|
|
|
|
|
Nice!
My nVidia AA setting is set to "Application-Controlled" but this is how it was setup before I added in the XP AA reg keys. So this nVidia settings had no effect on WPF 3D content.
All very intriguing ...
Jammer
Going where everyone here has gone before!
|
|
|
|
|
I just blogged about this ... I think this info needs spreading far and wide!!!
http://jammer.biz/blog2/?p=158[^]
Jammer
Going where everyone here has gone before!
|
|
|
|
|
Hi All,
I am new to WPF.
Hi All,
I have a table with 15 columns. Now,when I click on any one of the rows,another table( with five columns) should be displayed. Iam trying to get a hierarchial view in such a way that I can display one more table in the grid.
Can any one please help me with this?
Thanks.
modified on Wednesday, March 12, 2008 4:29 AM
|
|
|
|
|
Choose items > WPF Components and choose say some panels like "Stack Panel, Wrap Panel and Dock Panel".. You cant see them anywhere in your toolbox!! And if you chose .Net components and WPF components and clicked ok, the later will not be shown!!
Please help
Smile: A curve that can set a lot of things straight!
(\ /)
(O.o)
(><)
|
|
|
|
|
What program are you using?
VS2005, VS2008, Blend ??
Do you have a XAML file open in the designer? VS hides the tools until you have opened a XAML file, then the toolbox lights up and the tools appear.
modified 27-Feb-21 21:01pm.
|
|
|
|
|
Bloddy Orcas "VS2008"
Smile: A curve that can set a lot of things straight!
(\ /)
(O.o)
(><)
|
|
|
|
|
Do you have a XAML file open in the designer while trying to add or view the ToolBox contents?
VS hides the tools until you have opened a XAML file, then the toolbox lights up and the tools appear.
modified 27-Feb-21 21:01pm.
|
|
|
|
|
Got it Thanks mate!
Smile: A curve that can set a lot of things straight!
(\ /)
(O.o)
(><)
|
|
|
|
|
Via a Canvas and 6 polylines, I have a good amount of data plotted on the screen, and I've noticed that even without updated the polylines (changing their values), the processor becomes bogged down when I simply move the cursor over the canvas. I realize the OS must redraw the screen when the mouse moves, but could there be something with the way I'm using the Canvas, that creates unnecessary rendering? I mean, all I'm doing is moving the mouse anywhere over the canvas, and I experience a processor usage jump of ~50-60%. I'm not using a MouseOver event either. Any thoughts?
|
|
|
|
|
Can you post the XAML?
modified 27-Feb-21 21:01pm.
|
|
|
|
|
in the current application, i'm not continuously updating the gridlines or polylines. I've simply added points to them, and then displayed them. there's not a whole lot of code other than that..
<code>
<Canvas Name="Canvas_Plot" ClipToBounds="True" Background="Black">
<Line Name="Vertical_Gridline1" Stroke="LightSkyBlue" StrokeThickness="1" Opacity=".5"></Line>
<Line Name="Vertical_Gridline2" Stroke="LightSkyBlue" Opacity=".5"></Line>
<Line Name="Vertical_Gridline3" Stroke="LightSkyBlue" Opacity=".5"></Line>
<Line Name="Vertical_Gridline4" Stroke="LightSkyBlue" Opacity=".5"></Line>
<Line Name="Horizontal_Gridline1" Stroke="LightSkyBlue" Opacity=".5"></Line>
<Line Name="Horizontal_Gridline2" Stroke="LightSkyBlue" Opacity=".5"></Line>
<Line Name="Horizontal_Gridline3" Stroke="LightSkyBlue" Opacity=".5"></Line>
<Line Name="Horizontal_Gridline4" Stroke="LightSkyBlue" Opacity=".5"></Line>
<Polyline Canvas.Left="0" Name="PlotLine1" StrokeLineJoin="Round" Stroke="White" StrokeStartLineCap="Flat" StrokeThickness="2">
</Polyline>
<Polyline Canvas.Left="0" Name="PlotLine2" StrokeLineJoin="Round" Stroke="White" StrokeStartLineCap="Flat" StrokeThickness="2">
</Polyline>
<Polyline Canvas.Left="0" Name="PlotLine3" StrokeLineJoin="Round" Stroke="White" StrokeStartLineCap="Flat" StrokeThickness="2">
</Polyline>
<Polyline Canvas.Left="0" Name="PlotLine4" StrokeLineJoin="Round" Stroke="White" StrokeStartLineCap="Flat" StrokeThickness="2">
</Polyline>
<Polyline Canvas.Left="0" Name="PlotLine5" StrokeLineJoin="Round" Stroke="White" StrokeStartLineCap="Flat" StrokeThickness="2">
</Polyline>
<Polyline Canvas.Left="0" Name="PlotLine6" StrokeLineJoin="Round" Stroke="White" StrokeStartLineCap="Flat" StrokeThickness="2">
</Polyline>
</Canvas>
</code>
|
|
|
|
|
jlgeris wrote:
What is the Code tag?
The above runs like a rocket ship on my system. 0% CPU.
Your lines don't have any x or y so they are all super small and don't do anything.
modified 27-Feb-21 21:01pm.
|
|
|
|
|
the Code tag was me not entering my code in correctly into the meassge box
well, i set the xy's in the c# code. it's hard for me to show, b/c the system slows when i add a few thousand points to each of the polyline. common sense says, right, there's a lot of data in memory to plot these lines, but i wouldn't expect so much processing when i'm not manipulating the data contained in the polylines.
when i move the mouse over the plot, is it invalidating the image every movement(forcing a re-render)?
|
|
|
|
|
jlgeris wrote: when i move the mouse over the plot, is it invalidating the image every movement(forcing a re-render)?
Do you have any RoutedEvent handlers in your application?
Are these lines being constructed with code or are they databound to a class/properties?
What role does the mouse play in your application?
modified 27-Feb-21 21:01pm.
|
|
|
|
|
I have some event handlers for other controls, but not relating to the canvas. The lines are being constructed with code, basically:
PointCollection pc = BunchOfPoints;
polyline.points = pc;
this is done 6 times
Right now the mouse doesn't play a role. I would like to be able to manipulate the display, but right now the system slows down if i simply move the mouse over.
|
|
|
|
|
I guess we have ruled out the obvious.
Is there any way to reduce the number of points?
I'm not sure what your doing or why, so I have to spitball here.
Can you average points to reduce the number of points?
Can you end user see the difference between 1000 points and 500 points?
Are the values between each point that great, if not then you can plot every 2nd, 3rd, 4th, etc point.
modified 27-Feb-21 21:01pm.
|
|
|
|