Page Index Toggle Pages: 1 Send TopicPrint
Normal Topic win7 graphics performance on notebooks.. (Read 4625 times)
ulthien
Junior Member
**
Offline


I love YaBB 1G - SP1!

Posts: 91
Location: Munich
Joined: Nov 29th, 2011
win7 graphics performance on notebooks..
Jan 18th, 2013 at 11:11am
Print Post  
Hello,

our Mindfusion Diagram based application is running nice on desktop systems (win7 32 or 64 bit, win XP too) but now for some demos the Dell notebook (quite new, i7 CPU quad cores, 8GB RAM) shows sluggish performance especially in 2D graphics like ZoomIn() & ZoomOut(), moving-dragging the nodes over the diagram, etc.

I noticed its in power-saving mode and turned it to "full performance", but this helped only a bit.

Usually the answer is "get the newer drivers", but are there any experiences the community can share on sluggish performace of MindFusion lib on notebooks?

cheers
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: win7 graphics performance on notebooks..
Reply #1 - Jan 18th, 2013 at 11:37am
Print Post  
Try running the Perforator tool on the laptop and see if it shows and software emulation used (SW IRT graphs):
http://msdn.microsoft.com/en-us/library/aa969767.aspx

That would mean the Dell's graphics card does not support various WPF features in hardware and WPF implements them in software. You might offer some options to users to disable such features for better performance. These usually include effect like drop shadows, which I think are implemented as DirectX shaders, and semi-transparency (e.g. don't use Opacity property of UIElements and disable the diagram's ModificationEffect property).

I hope that helps,
Stoyan
  
Back to top
 
IP Logged
 
ulthien
Junior Member
**
Offline


I love YaBB 1G - SP1!

Posts: 91
Location: Munich
Joined: Nov 29th, 2011
Re: win7 graphics performance on notebooks..
Reply #2 - Jan 21st, 2013 at 4:10pm
Print Post  
thank you, good tip.

when we started looking at the Perforator, we noticed that when a ZTop() or ZBottom() for a node is called, all of the diagram is redrawn through the Render WPF thread - which is quite time costly if you have hundred or more nodes...

Is there a way to suppress this z-depth rendering time loss? Mostly only 1-3 nodes are really redrawn on z-depth overlap adjustment, but still whole redraw is thrown for all of the diagram?

cheers
  
Back to top
 
IP Logged
 
ulthien
Junior Member
**
Offline


I love YaBB 1G - SP1!

Posts: 91
Location: Munich
Joined: Nov 29th, 2011
Re: win7 graphics performance on notebooks..
Reply #3 - Jan 21st, 2013 at 5:14pm
Print Post  
i have used the VirtualizingDiagram of the 2.8 version (instead of previous diagram), and adding the nodes to NodesSource seems to help at rendering speedup... it is difficult to say how much, but its visible speedup.

now OFC, i still have to reroute all the event handlers too Undecided
  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: win7 graphics performance on notebooks..
Reply #4 - Jan 21st, 2013 at 5:24pm
Print Post  
The Z order of a WPF element's children depends on the order they are returned in by element.GetVisualChild() while WPF builds its visual tree. So when you change the Z order, the control has to call InvalidateArrange to re-run the arrange phase in order to make WPF call GetVisualChild again for all children, and unfortunately there doesn't seem to be any way provided for invalidating it only partially. Anyway ZTop and ZBottom don't sound like something you'd need to call that often.

Stoyan
  
Back to top
 
IP Logged
 
ulthien
Junior Member
**
Offline


I love YaBB 1G - SP1!

Posts: 91
Location: Munich
Joined: Nov 29th, 2011
Re: win7 graphics performance on notebooks..
Reply #5 - Jan 22nd, 2013 at 12:53pm
Print Post  
Unfortunately we do, as the design has slightly overlapped nodes  Roll Eyes

...

OTOH, how do you really use the VirtualizingDiagram ? there is barely one sentence in docu about it - do you simply add the nodes to NodesSource or they have to be added to Items collection too? Are there any code examples?

When i added the nodes to NodesSource, the scrollviewer did not fill up correctly and i can now scroll only to about 1/3rd of nodes vertically.. (the rest 2/3rds are not reachable therefore at all)

cheers

  
Back to top
 
IP Logged
 
Stoyo
God Member
*****
Offline


MindFusion support

Posts: 13230
Joined: Jul 20th, 2005
Re: win7 graphics performance on notebooks..
Reply #6 - Jan 22nd, 2013 at 1:08pm
Print Post  
Check the Samples\C#\Virtualization sample project. You shouldn't add anything to the collections inherited from the base Diagram class - Nodes, Links, Items. Work only with the source objects of the VirtualizingDiagram class.

I hope that helps,
Stoyan
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1
Send TopicPrint