| 

.NET C# Java Javascript Exception

3
In einer C#-Windows-Anwendung, die ich realisieren soll, soll eine Oszilloskopdarstellung enthalten sein. Diese soll online Daten mit bis zu 48kHz Abtastrate darstellen. Ich habe mit den Telerik-Controls experimentiert und mit einer älteren Version von TeeChart. Aber keines der beiden Tools bekommt auch nur annähernd die erforderliche Schnelligkeit hin.

Ich kann die Daten auch vor der Übergabe an das Tool selbst reduzieren, aber trotztdem kommen die von mir verwendeten Tools mit der Online-Darstellung nicht hinterher.

Auch die Darstellung mit Hilfe des System.Drawing-Namespaces ist viel zu langsam.

Kennt jemand ein .Net-Tool, das ich verwenden kann? Oder hat jemand eine Idee, wie ich vorgehen kann?
05.05.2011
KN 1,7k 1 8
KN 1,7k 1 8
1
Hi Kn,
ist das überhaupt möglich? Nehmen wir an wir bekommen 48k Werte pro Sekunde. Nehmen wir an wir haben ein Fenster mit einer Wertbreite von 300. Dann bekommen wir 48000/300=160 Bilder pro Sekunde. Also weit über dem was ein Mensch wahrnimmt.

Ich habe mal ähnliches Probiert. Schau dich mal bei DataTranslation um. Die haben eine Bibliothek die in .Net verwendet werden kann und auch mit Fremddaten arbeitet. "DT .Net Display" heißt bei denen die Library.
smartic 06.05.2011
Bei den Daten handelt es sich um Sound-Daten. Ich kann die Werte für die Darstellung auch vorher reduzieren, dass weniger Daten in das Darstellungs-Control reingehen. Ich denke schon, dass es möglich sein muss, solche Daten am Rechner darzustellen. Per C++ habe ich so etwas schon einmal vor vielen Jahren programmiert, und das ging damals, mit viel langsameren Rechnern. Die C++-Funktionalität kann ich nur jetzt nicht übernehmen, weil das Ganze ja in einen C#-WinForms-Dialog eingebaut werden soll. Ich brauche also am besten ein Control, das die Daten entgegen nimmt und am Bildschirm darstellt.

KN 06.05.2011
1
Wie schon gesagt, schau dich mal bei DataTranslation um.

Ansonsten gäbe es noch die Möglichkeit der C++Wrapper. Dann kannst du auf die bestehende C++ Sachen ber .Net zugreifen.
smartic 06.05.2011
Danke. Ich schaue dann mal bei DT. Was ich früher in C++ gemacht habe, stellt halt kein Control dar. Das malt Linien direkt auf den Bildschirm, incl. Achsen und so. Das war sehr basic damals. ich hatte gehofft, irgend ein Control zu finden, das die Daten einfach in eine Form schreibt. Schön, wenn DT das hätte.
KN 06.05.2011
Hi nochmal. Ich habe die DT-Bibliothek jetzt ausprobert. Ist super, genau das, was ich gesucht habe. Und kostenlos. Tausend Dank für den guten Tipp!
KN 10.05.2011
2 Antworten
5
DirectX wäre das richtige Framework für Dich.
Es gab mal früher Managed DirectX. Das wurde von Microsoft XNA abgelöst. Es gibt eine inoffizielle Weiterentwicklung des alten Managed DirectX unter der Namen SlimDX.
SlimDX is a free open source framework that enables developers to easily build DirectX applications using .NET technologies such as C#, VB.NET, and IronPython. It is designed to be an efficient, simple, and lean wrapper that fully encompasses all of Microsoft's gaming and multimedia technologies and exposes them to managed code. All of the code is under the MIT/X11 license, and all content is under the Creative Commons Attribution-Share Alike license. Our latest release is March 2011, and can be found for users and developers on the Download page.
05.05.2011
Jaksa 4,0k 1 8
Jaksa 4,0k 1 8
Danke, das könnte sicher eine Möglichkeit sein. Dann müsste ich aber wahrscheinlich das ganze Drumherum wie automatische Achsenskalierung selbst programmieren. ich würde mich über en Tool freuen, dass ich einfach einsetzen kann, ohne dass ich die Basisfunktionalitäten selbst entwickeln muss.
KN 05.05.2011
1
Ein ähnliches Thema wurde hier schon angefragt.
Wie kann ich eine Klangdateien visualisieren?
10.05.2011
GerhardK 398 1 7

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH