1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. SBond

Beiträge von SBond

  • einfacher AutoIt/GDI+ Leistungstest

    • SBond
    • 9. Juni 2013 um 19:53

    Update 09.06.2013: noch ein Leistungstest (mit PureBasic und C)


    [Blockierte Grafik: https://dl.dropboxusercontent.com/u/68438584/Arduino-Control/Performance-Test/Performance-Test%20-%20PureBasic%20x86.jpg]


    die Dateien gibt es im ersten Beitrag ;)

  • [MultiGraph UDF] - dynamischer GDI+ LineGraph (als Software-Oszilloskop geeignet)

    • SBond
    • 22. Mai 2013 um 21:52

    Update 1.0.0.3

    16.03.2013 - 1.0.0.3 - behoben: die Hintergrundfarbe der Achsenbeschriftung wurde nicht komplett übernommen
    07.03.2013 - 1.0.0.2 - neue Funktion: _MG_Graph_optionen_position () -> verschiebt einen Graphen in der GUI oder passt die Größe neu an
    06.03.2013 - 1.0.0.1 - behoben: geplottete Werte an der ersten Position des Graphen waren fehlerhaft

    und die PureBasic-Version hinzugefügt

  • Binärdaten bitweise auslesen

    • SBond
    • 17. März 2013 um 15:45

    ....man bin ich blöd. :D

    ...traurig, dass ich nicht selber darauf gekommen bin...


    vielen Dank.

    das klappt natürlich :)

  • Binärdaten bitweise auslesen

    • SBond
    • 17. März 2013 um 15:12

    Hi Leute,

    Kennt jemand eine einfache Möglichkeit Binärdaten bitweise auszulesen?
    ...ggf. gibt es ja eine UDF, aber ich bin bis jetzt nicht fündig geworden.


    ...nehmen wir mal an, ich habe ein Byte mit dem Wert 154. (Binär sieht es dann so aus: 10011010)

    nun nehme ich meine imaginäre Funktion:

    $Bit = _BitRead ($meinByte, 3) --> der zweite Parameter ist die Bitstelle (von rechts ausgehend), die zurückgegeben werden soll / $Bit wäre in diesem Fall: 0


    oder so eine imaginäre Funktion:

    $Bits = _BitRead ($meinByte)

    Ergebnis wäre ein Array:
    $Bits[0] = 0
    $Bits[1] = 1
    $Bits[2] = 0
    $Bits[3] = 1
    $Bits[4] = 1
    $Bits[5] = 0
    $Bits[6] = 0
    $Bits[7] = 1


    gibt es sowas oder lässt es sich einfach mit möglichst wenig Zeilen realisieren?

  • Darstellungsprobleme mit GDI+ und skalierbarer GUI

    • SBond
    • 8. März 2013 um 00:04

    jap, habe es vergessen :D

  • Darstellungsprobleme mit GDI+ und skalierbarer GUI

    • SBond
    • 7. März 2013 um 23:22

    super, das ist perfekt


    ...vielen Dank :D

  • Darstellungsprobleme mit GDI+ und skalierbarer GUI

    • SBond
    • 7. März 2013 um 22:12

    Hi Leute.

    habe da ein kleines Problem....

    Wenn ich bei einer skalierbaren GUI die Größe ändere, dann verschwindet das von GDI+ gezeichnete Bild.
    Habe mal ein quick and dirty Beispiel eingefügt. Kann man das irgendwie korrigieren?


    [autoit]


    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <ScreenCapture.au3>

    [/autoit][autoit][/autoit][autoit]

    Opt("GUIOnEventMode", 1)
    $hGUI = GUICreate("test", 500, 500,-1,-1, $WS_SIZEBOX)
    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    GUISetOnEvent ($GUI_EVENT_CLOSE, "_Exit", $hGUI)
    GUIRegisterMsg ($WM_SIZE, "WM_SIZE")

    [/autoit][autoit][/autoit][autoit]

    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
    $hBitmap = _ScreenCapture_Capture("", 0, 0, 500, 500)
    $hImage = _GDIPlus_BitmapCreateFromHBITMAP($hBitmap)
    _GDIPlus_GraphicsDrawImageRect ($hGraphic, $hImage, 0, 0, 500, 500)

    [/autoit][autoit][/autoit][autoit]

    While (1)
    Sleep (1000)
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func WM_SIZE()
    _GDIPlus_GraphicsDrawImageRect ($hGraphic, $hImage, 0, 0, 500, 500)
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func _Exit()
    _GDIPlus_Shutdown ()
    Exit
    EndFunc

    [/autoit]


    ...achja... ich sollte noch erwähnen, dass das Bild während der Skalierung den Inhalt ändert, daher habe ich WM_SIZE() mit eingebaut. Hier im Beispiel ändert sich das Bild inhaltlich nicht weiter. ...da es ja nur ein Beispiel ist...

  • [MultiGraph UDF] - dynamischer GDI+ LineGraph (als Software-Oszilloskop geeignet)

    • SBond
    • 7. März 2013 um 19:31

    haha... jo

    ..nutze ich aber seltener ^^

  • [MultiGraph UDF] - dynamischer GDI+ LineGraph (als Software-Oszilloskop geeignet)

    • SBond
    • 6. März 2013 um 23:24

    ..auch etwas späte Antwort....

    Leerzeilen, wie meinst du das?

    Im Code?

    ..im Code lasse ich öfters größere Abstände, damit ich beim Scrollen leichter bestimmte Blöcke oder Bereiche finden kann. Für mich ist es übersichtlicher.

  • einfacher AutoIt/GDI+ Leistungstest

    • SBond
    • 6. März 2013 um 23:14

    etwas späte Antwort....

    OpenGl ist schon ganz interessant, aber ich komme nicht so wirklich damit klar.

  • Happy Glückwunsch Andy zum 47'ten

    • SBond
    • 4. Februar 2013 um 21:42

    yay :D


    von mir auch alles Gute *tröööööt*

  • [MultiGraph UDF] - dynamischer GDI+ LineGraph (als Software-Oszilloskop geeignet)

    • SBond
    • 4. Februar 2013 um 09:37

    geil :D

    das werde ich mir nachher mal näher anschauen :)

    vielen Dank

  • [MultiGraph UDF] - dynamischer GDI+ LineGraph (als Software-Oszilloskop geeignet)

    • SBond
    • 3. Februar 2013 um 22:51

    omg :D

    naja... ich wohne wegen meinem Studium seit 3 Jahren in Magdeburg :) Akzent habe ich noch nicht... hoffe ich... obwohl :D

    Dein Living Graph hatte ich auch schon mal zerpflückt. Ich musste mir einfach alles anschauen, was ich so im Netz gefunden hatte. Nun ist es ja doch eine eigene UDF geworden.
    Ich werde die aber noch erweitern, so dass man z.B. auch mit vier Quadranten gut arbeiten kann.

    ..da habe ich gleich noch eine Frage...

    Ich wollte eigentlich mit GUIRegisterMsg() prüfen, ob das Mausrad verwendet wurde, um so z.B. den Graphen zu zoomen. Das würde prinzipiell auch gehen, aber ein Nachrichtencode kann nur eine Funktion ansprechen. Wenn jemand die UDF verwenden würde und für sein Programm auch diesen Nachrichtencode benötigt, dann würde es zum Konflikt kommen.

    also das...

    [autoit]


    GUIRegisterMsg(WM_MOUSEWHEEL, "Funktion_1")
    GUIRegisterMsg(WM_MOUSEWHEEL, "Funktion_2")

    [/autoit][autoit][/autoit][autoit]

    Func Funktion_1()
    ...
    EndFunc

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func Funktion_2()
    ...
    EndFunc

    [/autoit]

    ...würde nicht funktionieren. In diesem Fall wird nur Funktion_2() ausgeführt. Gibt es da eine andere Möglichkeit?

  • [MultiGraph UDF] - dynamischer GDI+ LineGraph (als Software-Oszilloskop geeignet)

    • SBond
    • 3. Februar 2013 um 21:29

    ...ja das muss ich noch ändern. Der Rahmen ist nämlich ein Label :D
    Das bringt das ganze zum Flackern. Ich wusste schon irgendwie am Anfang, dass es eine dumme Idee war. :D

    ich werde es demnächst mal korrigieren ^^

  • einfacher AutoIt/GDI+ Leistungstest

    • SBond
    • 3. Februar 2013 um 17:24

    schöne Ergebnisse. Es wäre echt schön gewesen, wenn man die Grafikkarte für GDI verwenden könnte :D So muss nunmal ein CPU-Kern alles machen.


    UEZ:

    zu AutoIt kam ich durch einen Internetkontakt, mit dem ich jetzt schon lange befreundet bin. "Kare", der hier auch mal ein paar Beiträge geschrieben hat, programierte einige Software um Treiber automatisiert zu installieren. Er schlug mir mehrmals vor, AutoIt auszuprobieren. ...es sei wohl sehr einfach. Die ersten Scripts, die ich dann so im Internet sah, schreckten mich total ab. Ich konnte bis dahin gerade mal ein wenig C und war noch etwas überfordert. Er programmierte viel damit. z.b: einen Builder, mit dem man Rettungs-CDs erstellen kann (LSP-Builder).

    Irgendwann vor knapp 2 Jahren wollte ich für meine RettungsCDs ein grafisches Menü haben, da der GRUB-Bootloader auf textbasis nicht wirklich toll aussieht. Ich habe es auch geschaft, aber es war verdammt viel Arbeit. ...aber so etwas kann man doch keinem zumuten... .....kann man das nicht automatisieren? ..hmmm... Ein Programm mit einer schönen Oberfläche ?
    Bis heute kann ich mit C keine GUI erstellen. ...also was nehmen?! Ha! Backpapier... ähh... AutoIt :D

    Ich habe mir hier im Forum die deutsche Hilfe heruntergeladen und dann klein angefangen. Und siehe da... nach einem Tag war die erste Version fertig.. ... mein erstes AutoIt-Programm. Dieses Erfolgserlebnis hat mich daher etwas geprägt und ich begann viel Freude daran zu entwickeln. Nach kurzer Zeit war mein Programm mit knapp 4000 Zeilen fertig und habe es veröffentlicht: http://www.livesystem-pro.de/showthread.php…fo-Download-FAQ

    Mein erstes Programm, das Bilder (wenn auch extern) bearbeiten konnte und so konvertierte, dass es für den Bootloader darstellbar ist.


    Seit kurzem bin ich auf dem Microcontroller-Trip. Ich habe mir ein Raspberry Pi zugelegt (richtig geiler, günstiger, kreditkartengroßer kleinst-Computer) und wollte mir ein Osziloskop programmieren. Aber GDI+ ist langsam :(. Ich suchte nach anderen Graphic-Engines und merkte, dass Direct2D, QuickDraw und Irrlicht nicht so das wahre sind. So stieß ich immer wieder auf dieses Forum insbesondere auf die Beiträge von UEZ, die mir zeigten was man mit GDI+ so alles machen konnte. Also musste ich erstmal ein Programm schreiben, um zu testen wie Leistungsstark GDI+ ist. Das ist hier dieses kleine Benchmark-Programm. Die Werte waren so gut, dass ich meine erste UDF schrieb. Und aus Dankbarkeit an dieses Forum habe ich mich hier registriert um wieder etwas zurückzugeben und um eventuell mal anderen Usern helfen zu können.

    hier ist die UDF: [MultiGraph UDF] - dynamischer GDI+ LineGraph (als Software-Oszilloskop geeignet)

    Wer will, kann ja mal Beispiel 3 starten und posten, wieviele FPS ihr bei den Standard-Einstellungen habt :D


    lg
    SBond

  • einfacher AutoIt/GDI+ Leistungstest

    • SBond
    • 3. Februar 2013 um 16:08

    UEZ: nicht ganz :D
    Ich studiere Elektrotechnik (ende des 5 Semesters von 7 / Bachelor of Engineering). Momentan sind wieder viele Prüfungen, aber das wird schon.

    Es ist immer wieder interessant, wie unterschiedlich Ergebnisse ausfallen.

    Ich habe mal ein Test mit unterschiedlichen Sprachen auf meinem Laptop gemacht.
    Einfache Aufgabe: eine Zahl von 1 bis 1 Mrd hochzählen.

    Die benötigte Zeit:

    Autoit: 2 Minuten und 27 Sekunden
    C: 8,2 Sekunden
    PureBasic: 0,3 Sekunden

    ..ein enormer Zeitunterschied. Aber das AutoIt als Interpreter langsam ist, sollte ja bei den meisten bekannt sein. Für die allgemeinen Zwecke reicht es aber in der Regel aus.

    Hier ist auch mal ein Test-Resultat:


    Computer-Informationen
    ------------------------------------------------------------------------------------------------------------------------
    CPU-Architektur: X64
    CPU-Clock: 3399 MHz
    CPU-Name: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz

    Betriebssystem: WIN_7
    Build: 7601
    Service-Pack: Service Pack 1
    Betriebssystem-Architektur: X64


    Test 01/16: von 1 bis 100.000.000 zählen... (dies kann einige Sekunden dauern)
    ------------------------------------------------------------------------------------------------------------------------
    gemessene Zeit: 6.8017 s


    Test 08/16: nur den fertigen Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 0
    ------------------------------------------------------------------------------------------------------------------------
    Plottfrequenz: 34811.954 Hz
    Bildfrequenz (FPS): 52.745 Hz
    Plottzeit für einen Wert: 0.029 ms
    Plottzeit für ein Bild (660 Werte): 19.14 ms


    Spoiler anzeigen


    ########################################################################################################################
    ##################################################### Dateibeginn ####################################################
    ########################################################################################################################


    Software-Informationen
    ------------------------------------------------------------------------------------------------------------------------
    Programmtitel: AutoIt/GDI+ Benchmark
    Programmversion: 1.0.0.2
    Autor: SBond
    Erstellungsdatum: 15.01.2013
    letztes Update: 17.01.2013
    Lizenz: Freeware

    Informationen: Mit diesem kleinen Programm ist es möglich, eine Leistungsanalyse von AutoIt und GDI+ durchzuführen,
    um diese anschließend vergleichen zu können.


    ########################################################################################################################


    allgemeine Benchmark-Informationen
    ------------------------------------------------------------------------------------------------------------------------
    Datum: 19.01.2013
    Zeit: 20:07:15

    Benchmark-Dauer: 125.77 s
    Grafik-breite 660
    Grafik-höhe: 300
    Grafik-Pixel: 198000


    ########################################################################################################################


    Computer-Informationen
    ------------------------------------------------------------------------------------------------------------------------
    CPU-Architektur: X64
    CPU-Clock: 3399 MHz
    CPU-Identifier: Intel64 Family 6 Model 42 Stepping 7
    CPU-Name: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz

    Betriebssystem: WIN_7
    Build: 7601
    Service-Pack: Service Pack 1
    Betriebssystem-Architektur: X64


    ########################################################################################################################


    Test 01/16: von 1 bis 100.000.000 zählen... (dies kann einige Sekunden dauern)
    ------------------------------------------------------------------------------------------------------------------------
    gemessene Zeit: 6.8017 s


    ########################################################################################################################


    Test 02/16: immer eine Linie in den Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 0
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8.0027 s
    Plottfrequenz: 325.64 Hz
    Bildfrequenz (FPS): 0.493 Hz
    Plottzeit für einen Wert: 3.071 ms
    Plottzeit für ein Bild (660 Werte): 2026.86 ms


    Test 03/16: immer eine Linie in den Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 1
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8.0007 s
    Plottfrequenz: 320.722 Hz
    Bildfrequenz (FPS): 0.486 Hz
    Plottzeit für einen Wert: 3.118 ms
    Plottzeit für ein Bild (660 Werte): 2057.88 ms


    Test 04/16: immer eine Linie in den Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 2
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8.0026 s
    Plottfrequenz: 352.011 Hz
    Bildfrequenz (FPS): 0.533 Hz
    Plottzeit für einen Wert: 2.841 ms
    Plottzeit für ein Bild (660 Werte): 1875.06 ms


    ########################################################################################################################


    Test 05/16: immer eine Linie in den Frontbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 0
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8.0009 s
    Plottfrequenz: 9568.923 Hz
    Bildfrequenz (FPS): 14.498 Hz
    Plottzeit für einen Wert: 0.105 ms
    Plottzeit für ein Bild (660 Werte): 69.3 ms


    Test 06/16: immer eine Linie in den Frontbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 1
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8 s
    Plottfrequenz: 9656.5 Hz
    Bildfrequenz (FPS): 14.631 Hz
    Plottzeit für einen Wert: 0.104 ms
    Plottzeit für ein Bild (660 Werte): 68.64 ms


    Test 07/16: immer eine Linie in den Frontbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 2
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8.0001 s
    Plottfrequenz: 9254.634 Hz
    Bildfrequenz (FPS): 14.022 Hz
    Plottzeit für einen Wert: 0.108 ms
    Plottzeit für ein Bild (660 Werte): 71.28 ms


    ########################################################################################################################


    Test 08/16: nur den fertigen Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 0
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8.0007 s
    Plottfrequenz: 34811.954 Hz
    Bildfrequenz (FPS): 52.745 Hz
    Plottzeit für einen Wert: 0.029 ms
    Plottzeit für ein Bild (660 Werte): 19.14 ms


    Test 09/16: nur den fertigen Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 1
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8 s
    Plottfrequenz: 34989.125 Hz
    Bildfrequenz (FPS): 53.014 Hz
    Plottzeit für einen Wert: 0.029 ms
    Plottzeit für ein Bild (660 Werte): 19.14 ms


    Test 10/16: nur den fertigen Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 2
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8 s
    Plottfrequenz: 33889.125 Hz
    Bildfrequenz (FPS): 51.347 Hz
    Plottzeit für einen Wert: 0.03 ms
    Plottzeit für ein Bild (660 Werte): 19.8 ms


    ########################################################################################################################


    Test 11/16: nur den fertigen Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 0, Rauschsignal 1
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8.0002 s
    Plottfrequenz: 33246.669 Hz
    Bildfrequenz (FPS): 50.374 Hz
    Plottzeit für einen Wert: 0.03 ms
    Plottzeit für ein Bild (660 Werte): 19.8 ms


    Test 12/16: nur den fertigen Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 0, Rauschsignal 2
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8.0001 s
    Plottfrequenz: 32422.095 Hz
    Bildfrequenz (FPS): 49.124 Hz
    Plottzeit für einen Wert: 0.031 ms
    Plottzeit für ein Bild (660 Werte): 20.46 ms


    Test 13/16: nur den fertigen Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 0, Rauschsignal 3
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8 s
    Plottfrequenz: 33691.75 Hz
    Bildfrequenz (FPS): 51.048 Hz
    Plottzeit für einen Wert: 0.03 ms
    Plottzeit für ein Bild (660 Werte): 19.8 ms


    Test 14/16: nur den fertigen Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 0, Rauschsignal 4
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8 s
    Plottfrequenz: 31979.625 Hz
    Bildfrequenz (FPS): 48.454 Hz
    Plottzeit für einen Wert: 0.031 ms
    Plottzeit für ein Bild (660 Werte): 20.46 ms


    Test 15/16: nur den fertigen Backbuffer zeichnen... Messdauer: 8 sek, Rendermodus: 0, Rauschsignal 5
    ------------------------------------------------------------------------------------------------------------------------
    eingestellte Messdauer: 8 s
    gemessene Zeit: 8 s
    Plottfrequenz: 21701 Hz
    Bildfrequenz (FPS): 32.88 Hz
    Plottzeit für einen Wert: 0.046 ms
    Plottzeit für ein Bild (660 Werte): 30.36 ms


    ########################################################################################################################


    Test 16/16: nur den fertigen Backbuffer zeichnen... , Rendermodus: 0, Einzelpixel (dies kann einige Sekunden dauern)
    ------------------------------------------------------------------------------------------------------------------------
    gemessene Zeit: 6.9475 s


    ########################################################################################################################
    ###################################################### Dateiende #####################################################
    ########################################################################################################################


  • einfacher AutoIt/GDI+ Leistungstest

    • SBond
    • 3. Februar 2013 um 11:35

    haha

    mit arrays arbeite ich eigentlich öffters, aber der Code wurde einfach nur schnell und faul geschrieben :D
    ...ich wollte damit nur in der Fachhochschule die Rechner fix testen.

  • einfacher AutoIt/GDI+ Leistungstest

    • SBond
    • 3. Februar 2013 um 10:06

    oh nein 8|


    dadurch das mein Code zu lang war ist wohl die ganze Nachricht gelöscht wurden :(
    Ich bin ja so ein Amateur :D

  • einfacher AutoIt/GDI+ Leistungstest

    • SBond
    • 2. Februar 2013 um 23:28

    Hi Leute,

    hier ist ein kleines Programm, mit dem ihr die Leistung von AutoIt und GDI+ auf verschiedenen PCs testen und anschließend vergleichen könnt.
    eventuell kann es ja jemand von euch gebrauchen :)


    Update 09.06.2013:

    alle Programme mit Quellcode im Anhang


    noch ein Leistungstest (mit PureBasic und C)

    [Blockierte Grafik: https://dl.dropboxusercontent.com/u/68438584/Arduino-Control/Performance-Test/Performance-Test%20-%20PureBasic%20x64%20-%201.jpg]

    [Blockierte Grafik: https://dl.dropboxusercontent.com/u/68438584/Arduino-Control/Performance-Test/Performance-Test%20-%20PureBasic%20x64%20-%203.jpg]


    lg
    SBond

    Dateien

    Performance-Test.rar 1,15 MB – 325 Downloads AutoIt-Benchmark - 1.0.0.2.rar 362,6 kB – 413 Downloads AutoIt-Benchmark.au3 55,45 kB – 419 Downloads
  • [MultiGraph UDF] - dynamischer GDI+ LineGraph (als Software-Oszilloskop geeignet)

    • SBond
    • 2. Februar 2013 um 23:23

    Hi Leute,

    ich stelle euch meine kleine UDF vor. "MultiGraph" ist wie der Name schon sagt ein Graph, mit dem sich Abläufe zeitlich darstellen lassen. Zum Plotten der Werte wird GDI+ verwendet, wobei auch hohe FPS-Raten erreicht werden können. Gute CPUs (Intel i7) können bis zu 15000 Werte pro Sekunde plotten (bei 660 Werten/Oszillogramm -> ca. 22 FPS), Leistungsschwache CPUs (z.B. Intel CoreDuo) schaffen immerhin noch >5500 Werte pro Sekunde (ca. 8-9 FPS). Damit wäre es von der Darstellungsgeschwindigkeit als Osziloskop ausreichend geeignet.

    Der Graph bietet verschiedene Darstellungsmodis und die Achsbeschriftungen werden dynamisch angepasst.

    sonstige Funktionen:

    - aktivierbares Antialiasing
    - Interpolation der Darstellung
    - Anpassung der Auflösung
    - 10 verschiedene Graphen mit jeweils 10 Kanälen erstellbar (notfalls kann man die Anzahl auch in der UDF einfach erhöhen)
    - Anpassung der Linienbreite/farbe/Tranzparenz


    Aktuelle UDF-Version (Autoit): 1.0.0.3

    16.03.2013 - 1.0.0.3 - behoben: die Hintergrundfarbe der Achsenbeschriftung wurde nicht komplett übernommen
    07.03.2013 - 1.0.0.2 - neue Funktion: _MG_Graph_optionen_position () -> verschiebt einen Graphen in der GUI oder passt die Größe neu an
    06.03.2013 - 1.0.0.1 - behoben: geplottete Werte an der ersten Position des Graphen waren fehlerhaft


    Aktuelle UDF-Version (PureBasic): 1.0.0.0

    23.05.2013 - 1.0.0.0 - Fertigstellung, verbesserte Funktionalität (gegenüber AutoIt)

    hier gibt es noch die Performancestarke PureBasic-Version: HIER

    --------------------------------------------------------------------------------------------------
    zur PureBasic-Version: die PureBasic-Version bietet mehr Optionen und ist um das 80-100 fache Leistungsstärker.
    Die AutoIt-Version schafft ca. 5.000 Werte/sek (bei ca. 7-10 FPS)
    Die PureBasic-Version schafft ca. 500.000 Werte/sek (bei ca. 300-900 FPS) und eignet sich daher zur Echtzeitdarstellung von Zeitverläufen.
    zusätzliche Funktionen: 4 Quadranten-Ansicht, Hilfslinien zum Messen, dynamische Berechnung der Achsenbeschriftung
    --------------------------------------------------------------------------------------------------


    aktuelle Funktionen der AutoIt-Version:

    _MG_Graph_erstellen
    _MG_Graph_optionen_position
    _MG_Graph_optionen_allgemein
    _MG_Graph_optionen_Rahmen
    _MG_Graph_optionen_Hauptgitterlinien
    _MG_Graph_optionen_Hilfsgitterlinien
    _MG_Graph_optionen_Plottmodus
    _MG_Kanal_optionen
    _MG_Graph_initialisieren
    _MG_Wert_setzen
    _MG_Graph_updaten
    _MG_Graph_clear
    _MG_Graph_Achse_links
    _MG_Graph_Achse_rechts
    _MG_Graph_Achse_unten
    _MG_Graph_Achse_unten_update
    _MG_Graph_Achse_links_update
    _MG_Graph_Achse_rechts_update
    _MG_Graph_plotten
    _MG_Graph_entfernen


    Beispiel 1:

    oben: 2 Kanäle (sin und tan-Funktion) mit Antialiasing und Interpolation
    unten: scrolling-Graph ohne Antialiasing und Interpolation
    [Blockierte Grafik: http://s14.directupload.net/images/130202/fgl6c9zt.jpg]


    Beispiel 2:

    Achtung bunt!! :D
    Dies soll eigentlich nur die Einstellungsmöglichkeiten der einzelnen Elemente darstellen
    [Blockierte Grafik: http://s14.directupload.net/images/130202/b3fsgrvv.jpg]


    Beispiel 3:
    ...leicht erweiterter Graph. Hier kann man mal "Live" die einige Einstellungen ändern um zu schauen wie die UDF arbeitet.
    Die GUI ist skallierbar! d.h. Der Graph ändert die größe dynamisch zur GUI-Größe. Die Achsen werden dynamisch angepasst.
    [Blockierte Grafik: http://s14.directupload.net/images/130202/3dy3zy2s.jpg]


    ich hoffe, dass es eventuell ein paar User glücklich macht.

    lg
    SBond

    Dateien

    MultiGraph.au3 117,13 kB – 737 Downloads MultiGraph 1.0.0.0 - PureBasic.rar 963,01 kB – 617 Downloads MultiGraph - Beispiel 1.au3 5,13 kB – 737 Downloads MultiGraph - Beispiel 3.au3 9,24 kB – 725 Downloads

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™