2009-12-01 4 views
2

Je voudrais dessiner un graphique/graphique à haut débit (30fps +) dans une application Windows Forms.Dessin graphique 30fps dans Windows Forms

Comment?

Windows Forms obtient des fréquences d'images TERRIBLE dessinant un dessin d'arrière-plan clair sur une fenêtre.

(je viens du pays de GNU, donc je me excuse si cela saute aux yeux.)

Répondre

4

Si vous utilisez Windows Forms (comme dit dans votre question):

Si vous avez besoin d'obtenir > 30FPS, vous aurez probablement besoin de changer pour une technologie différente. Le dessin GDI + n'est pas trop efficace.

DirectX fonctionnerait bien pour cela. Vous pouvez faire la cartographie dans Direct3D en utilisant DirectX incorporé dans une fenêtre. SlimDX est un bon moyen de le faire depuis C#. Cela étant dit, vous avez étiqueté cela avec WPF - si vous utilisez WPF, tout est conservé en mode graphique, donc il ne devrait pas y avoir de "dessin en clair" requis. Vous devez simplement mettre les éléments du graphique au besoin. Dans ce cas, 30FPS devrait être faisable.

+0

Eh bien, DirectX est également une bonne option pour cela ... –

+0

Donc Windows Forms est incapable de graphiques "en mode retenu", et je dois déplacer l'application sur WPF? –

0

Exécution de l'inclinaison complète Je reçois environ 180FPS en utilisant un tableau System :: Windows :: Forms :: DataVisualization :: Charting :: traçant 128bins d'une FFT en utilisant un style 'FastLine' pour la série de données. Cela fonctionne sur un IBM Thinkpad Intel Core 2 Duo (2.53Ghz).