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. Andy

Beiträge von Andy

  • PolyPlay - Cooler GDI Effekt

    • Andy
    • 5. Mai 2013 um 13:26
    Zitat

    Der Zweck des Effektes ist es, glatte Übergänge zu haben,

    DAS ist richtig!
    Das aber mit Anti-Aliasing gleichzusetzen, DAS ist falsch.
    Du lässt das Aliasing garnicht erst zu (wenn du die "Auflösung" verfeinerst), ergo kannst du auch garkein ANTI Aliasing darauf anwenden!
    Anti-Aliasing ist ein Verfahren, dass ein bereits bestehendes Bild im NACHHINEIN so bearbeitet, dass es diese "glatten Übergänge" bekommt!
    Wenn das Bild schon im Vorfeld keine (sichtbaren) Treppenstufen hat, dann bewirkt ein AA-Algorithmus bestenfalls nichts...außer Performance zu fressen...

  • SciTE - Funktionsname hinter EndFunc einfügen

    • Andy
    • 5. Mai 2013 um 13:17
    Zitat

    Select und Switch (das wird in Tidy immer versemmelt).


    Kann ich nicht bestätigen, bei 1.79 läuft das mit Tidy einwandfrei

  • PolyPlay - Cooler GDI Effekt

    • Andy
    • 5. Mai 2013 um 12:50

    Hi,
    der Effekt ist fein, aber

    Zitat

    Die Effizienz deines AA Algorithmus ist... unkonventionell

    ist noch *hust* stark untertrieben, da das Ganze absolut NICHTS mit Antialiasing zu tun hat 8)
    Bevor man etwas ANTI-aliased muss es vorher erstmal aliased sein ;)

  • Skripte laufen unter Windows Server 2008 und 2012 nicht zuverlässig

    • Andy
    • 5. Mai 2013 um 12:05

    Schon mal vielen Dank, wir werden das ausprobieren!

  • DLL - Frage

    • Andy
    • 4. Mai 2013 um 10:11

    Hi,

    Zitat

    Und wie soll das gehen (z.B. bei user32.dll?). Bitte ein Beispiel geben!


    Ich habe dieses Verfahren schon in mehreren Scripten verwendet, wenn dich das Thema so interessieren würde, wären dir diese Scripte bekannt, oder du hättest in den entsprechenden Threads die Anwendung der verwendeten Funktionen nicht verstanden und dort nachgefragt.
    Auch im "blauen" Forum hättest du reihenweise Informationen bekommen, such dort mal nach Subrogation.
    Weiterhin liefert die Anfrage bei der Suchmaschine deiner Wahl tausende von Treffern incl. Beispielprogrammen!

    Es wäre auch bestimmt kein Problem gewesen, nach DllCallAddress() zu suchen, aus welchem Grund denkst du, ist dieser Befehl überhaupt in AutoIt umgesetzt worden?
    Die Win-API wurde auch größtenteils in AutoIt umgesetzt, bissl stöbern in MSDN schadet sicher nicht. Da stößt man dann zwangsläufig nach einigen Minuten u.a. auf

    [autoit]

    _WinAPI_GetModuleHandle()

    [/autoit]

    und GetProcAddress().

    Und nein, ich lege nur ungern jemandem den Arm aus der Sonne.... ;)

  • Skripte laufen unter Windows Server 2008 und 2012 nicht zuverlässig

    • Andy
    • 3. Mai 2013 um 18:13
    Zitat

    Im Taskmanager habt ihr ja sicher geschaut, ob die Excel.exe am Laufen ist...

    ja, das ist ja das seltsame....Excel läuft lt. Taskmanager.
    Was ich herausgefunden habe, ist dass es, wie du schon bemerkt hast, Probleme gibt bei Anzeigen wie einer msgbox bspw. Dann bleibt das Script auch stehen, daher habe ich es prophylaktisch mal als CUI kompiliert, half auch nichts.
    Ich vermute, Excel startet und zeigt irgendein Fenster an, welches wir ja nicht sehen, da aus dem Taskmanager gestartet wird.
    Wir haben auch schon eine Batch erstellt, in der das Script aufgerufen wird. Das Batchfile von Hand gestartet läuft, aus dem Taskmanager gestartet bleibt es stehen...

  • Skripte laufen unter Windows Server 2008 und 2012 nicht zuverlässig

    • Andy
    • 3. Mai 2013 um 17:56

    Hi,
    Danke für die Antwort.

    Zitat

    Läuft der Taskplaner nicht mit Systmerechten?

    Muss ich prüfen, wäre aber ein Ding, da auch andere Tasks problemlos zumindest diese Excel-Dateien kopieren...

    Zitat

    Hat das "System" (der Server selbst) Berechtigungen auf diese Excel-Dateien zuzugreifen?

    Es wäre schon schön, wenn vor dem Zugriff auf die Datei Excel erstmal starten würde^^

    Zitat

    Falls der Zugriff über einen (Netzwerk-)Share auf die Excel-Dateien erfolgen soll, muss der Server die Berechtigung bekommen darauf zuzugreifen.
    Dafür ist es nötig den Gruppen Network und Domain Computers (in einer Domäne) zumindest Leserechte auf diesem Share zu erteilen.

    Das hatten wir überprüft und auf Dateien zugreifen wollen, die nicht freigegeben waren. Da dort aber kein COM-Error auftritt, bin ich auf das "Debugging" mit den Textdateien gekommen.

    Bei Zugriff auf nicht freigegebene Dateien (im User-Context) wirft das Script einen ganz "normalen" Excel-Fehler (Zugriff wg fehlender Rechte verweigert)

  • Skripte laufen unter Windows Server 2008 und 2012 nicht zuverlässig

    • Andy
    • 3. Mai 2013 um 17:17

    Hi,
    ich hole diesen Thread nochmal nach vorne weil ich heute bei folgendem Problem nicht weiterkomme.

    Habe ein AutoIt-Script erstellt, welches über COM auf div. Excel-Tabellen zugereift. Dieses Script läuft tadellos in meinem und in anderen (u.a. Admin-) Usercontext.
    Nun kam unser Admin auf die Idee, dieses Script per Taskplaner auf dem Server 2008 zu starten, nachdem er sich (als Admin auf dem Server) per Doppelklick zum Starten davon überzeugt hatte, dass alles einwandfrei läuft. Das Script als EXE-Datei startet, die Excel-Files werden bearbeitet, alles schick.
    Also das Script in den Taskplaner des Servers eingetragen, testweise aus dem Taskplaner gestartet und das Script läuft nur so lange, bis die COM-Verbindung zu Excel hergestellt wird. Dann bleibt das Script ohne Fehlermeldung und ohne COM-Fehler einfach stehen.
    Wir haben schon mit den Rechten experimentiert und sämtliche Möglichkeiten in den Einstellungen des Taskplaners durchprobiert.
    Ich habe schon die #RequireAdmin eingebaut, das Script unter x86 und x64 compiliert. Wie gesagt, von Hand gestartet läuft es einwandfrei, im Taskplaner bleibt es genau an der Stelle an der

    [autoit]

    Filewrite("Test1.txt"," ") ;Datei wird erstellt, testweise
    $oExcel = ObjCreate("Excel.Application") ;hier bleibt das Script stehen
    Filewrite("Test2.txt"," ") ;Datei wird nicht erstellt

    [/autoit]

    aufgerufen wird, stehen.
    Bei der Abfrage des COM-Error schreibe ich auch in der ersten Zeile eine Testdatei, aber dort kommt das Script nie an.

    Hat jemand die Möglichkeit, dieses Phänomen auf Server 2008 zu testen oder weiss jemand, an was das liegen könnte?

  • PathWarp To Path bzw. Text zu Bezierkurve biegen

    • Andy
    • 1. Mai 2013 um 19:20

    @Make-Grafik,
    war mir doch klar... ;)

  • PathWarp To Path bzw. Text zu Bezierkurve biegen

    • Andy
    • 1. Mai 2013 um 19:00

    Hi,

    Zitat

    Echt klasse was ihr immer aus AutoIt raushaut und umsetzt! (Naja, auch wenns bischen ASM gecheatet ist )


    "Gecheatet" würde ich das nicht nennen, lediglich das Erkennen von Defiziten und deren Umgehung. An ASM ist in keinster Weise etwas irregulär oder gar unmoralisch oder betrügerisch!
    Mal angenommen, das Script würde 1:1 nach C++ übersetzt, so würde eine ähnliche Framerate entstehen. Dieses Script in ein beliebiges C++-Forum gestellt und nach Hilfe zur Beschleunigung gefragt, wäre ich mal SEHR gespannt auf die Beiträge der qualifizierten User.
    Da sämtliche GDI+-Funktionen nicht zu beschleunigen sind, bleibt also nur noch der Rest....also das, was eukalyptus in ASM-Code umgesetzt hat, und das sind Berechnungen.
    Und die zu optimieren, dafür braucht es das KnowHow, und nicht einen "schnellen" Compiler! Letztendlich würden einige Handvoll C++-Cracks den vom Compiler fabrizierten Code profilen und disasseblieren, und irgendwann käme einer daher und würde die letzten 3-4 FPS über einige Zeilen Inline-ASM rausholen. Dann wäre er kein "Cheater", sondern ein von allen vielbeachteter Programmierer!
    Wenn jemand dasselbe in AutoIt macht, ist er ein "Cheater"?

    Und für die Idee und deren Umsetzung (s.UEZ´s viele tolle Beispiele) braucht es viel Phantasie und noch mehr Gehirnschmalz....beides etwas, was ich 99,9% aller c&p-"Cheater" abspreche!


    UEZ,
    für eukalyptus reicht ein einzelner smilie nicht, ich hatte eher an so etwas gedacht: [Blockierte Grafik: http://sarpbc-forum.birk-gollin.de/images/smileys/betengros.gif]

  • PathWarp To Path bzw. Text zu Bezierkurve biegen

    • Andy
    • 1. Mai 2013 um 15:48

    Hi,

    UEZ,
    sehr sehr nice :thumbup:

    eukalyptus
    DAS nenne ich mal ein schickes Stück Code!!! :rock: *wieso gibts eigentlich keinen "verbeug"-smilie*
    Habe mir den ASM-Teil natürlich disassembliert und mal drübergeschaut, weil die Funktion _PW_Warp() doch relativ lange läuft. //EDIT// uups, meinen Text viel zu lange editiert und posten verpennt, der ASM-Code ist schon da! Btw, auch sehr schön kommentiert!

    Versuche mal, den Teil im Stack, in dem du die XMM-Register speicherst, an einer 16-Bitadresse zu alignen. Das hat den Vorteil, dass du diese Adressen per MOVDQA statt MOVDQU lesen/schreiben kannst.

    Dann habe ich festgestellt, dass du den größten Vorteil bei SSE, nämlich das parallele Ausführen von Code, nicht genug nutzt.
    Ja, das ist auch teilweise schwer, Abhängigkeiten bleiben halt nicht aus.
    bsp:

    Zitat

    movdqa xmm0,xmm1 ;xmm0 bearbeiten
    mulps xmm0,xmm3 ;xmm0 stall, wartet darauf, dass der vorige Befehl abgearbeitet wurde
    movdqa xmm4,xmm5 ;andere Register bearbeiten


    schneller:

    Zitat

    movdqa xmm0,xmm1 ;xmm0 bearbeiten
    movdqa xmm4,xmm5 ;läuft in der instruction Pipeline parallel zur zeile vorher, da keine dependencies
    mulps xmm0,xmm3 ;xmm0 muss nicht auf den vorigen Befehl warten, schneller


    das bringt idR dann etwas, wenn diese Zeilen im inner loop sehr häufig durchlaufen werden.

    Wenn wir schon beim Inner Loop sind, Code Aligning ist sehr wichtig!
    Vor die Loops gehört ein "align 16" (habe ich jetzt nicht geschaut, ob du das gemacht hast, finde aber auch keinen Hinweis, dass du es gemacht hast^^)

    Auch die AutoIt-Structs, aus denen du Daten liest/schreibst gehören 16-Byte-aligned!Da das align16 innerhalb von dllstructcreate nicht zuverlassig funktioniert, habe ich mir eine Funktion dafür geschrieben

    Spoiler anzeigen
    [autoit]

    Func _dllstructcreate16($struct) ;align auf 16-byte adresse
    $temp = DllStructCreate($struct)
    $tempsize = DllStructGetSize($temp) + 16
    $temp = 0
    $mem = _MemGlobalAlloc($tempsize + 16, BitOR($GMEM_FIXED, $GMEM_ZEROINIT)) ;pointer auf speicher
    $a = Mod(Number($mem), 16) ;rest div 16 adresse = offset
    Return DllStructCreate($struct, (Number($mem) - $a + 16)) ;auf 16 alingned pointer
    EndFunc ;==>_dllstructcreate16

    [/autoit]


    Wenn du die Möglichkeit hast, dann bau die Struct direkt so, dass du immer 16-Byte Blöcke holen kannst.
    Wenn du 2 Structs mit Datenpaaren hast (Erste in Struct1, Partner in Struct2) dann schreib statt
    Struct1=X1,X2,X3,X4,X5...
    Struct2=Y1,Y2,Y3,Y4....
    eine Struct mit
    Struct=X1,Y1,X2,Y2,X3,Y3......
    das reduziert massiv die Cache-Misses beim lesen!
    Apropos....per Prefetch lässt sich der Cache mit Daten "vorladen".

    Das profilen des Codes bzw. Ausstoppen der Laufzeiten mache ich mit einem simplen RDTSC am Beginn und Ende des Loops....


    Aber ansonsten absolut super! :thumbup:
    Ich wäre echt mal gespannt, was ein C-Compiler aus dem Code gemacht hätte, vielleicht erbarmt sich ja mal jemand und compiled den Algorithmus mit /SSE-Flag...

  • DLL - Frage

    • Andy
    • 1. Mai 2013 um 12:10

    Hi,

    Starten von DLL-Funktionen aus dem Speicher ist möglich.
    Dll-"Inhalt" per dllstructcreate() usw. in Speicher schreiben und die Funktionen dort per DLLCallAddress() aufrufen.
    Die Adressen bzw. Offsets kann man sich per _WinAPI_GetModuleHandle() holen....

  • 8 Bit zu 3 Bit | Bitaufteilung

    • Andy
    • 1. Mai 2013 um 11:56

    Hi,

    Zitat

    Und zwar möchte ich einen beliebigen String in ASCII Codes konvertieren und die ASCII Codes ins Dualsystem befördern.

    verstehe ich und kann das auch nachvollziehen...
    Was ich absolut nicht verstehe ist der Umweg über die Arrays.
    Ein String IST bereits ein Array....zwar nicht ein zweidimensionales wie bei dir^^, aber ein Array!
    Wie du ja seltsamerweise in deiner Lösung per StringMid() gezeigt hast, ist dir dieser Befehl ja bekannt.

    Ok, hier nun mein Lösungsvorschlag.
    Als Standard wird ein 3-Bit-"Array" zurückgegeben, wenn man als zweiten Parameter eine Ziffer von 1 bis 8 eingibt, erhält man das entsprechende Array.

    Spoiler anzeigen
    [autoit]

    #include <array.au3> ;nur fürs Anzeigen des Arrays

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

    $string = "AutoIt rockt!"

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

    $3BitArray = _String_to_BitArray($string)
    _ArrayDisplay($3BitArray)
    $string = _BitArray_to_String($3BitArray)
    MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @LF & '$string' & @LF & @LF & 'Return:' & @LF & $string) ;### Debug MSGBOX

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

    $5BitArray = _String_to_BitArray($string, 5)
    _ArrayDisplay($5BitArray)
    $string = _BitArray_to_String($5BitArray, 5)
    MsgBox(262144, 'Debug line ~' & @ScriptLineNumber, 'Selection:' & @LF & '$string' & @LF & @LF & 'Return:' & @LF & $string) ;### Debug MSGBOX

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

    Func _String_to_BitArray($string, $bits = 3)
    If $string = "" Then Return StringSplit($string, "") ;leeres Array zurückgeben
    Local $Bitstrom = "" ;hier werden alle Bits nacheinander eingeschrieben
    For $i = 1 To StringLen($string) ;jeden einzelnen Buchstaben
    $asc = Asc(StringMid($string, $i, 1)) ;ascii-code
    For $bit = 7 To 0 Step -1 ;alle Bits je Buchstabe, rückwärts
    $Bitstrom &= 1 * (BitAND($asc, 2 ^ $bit) <> 0) ;i love it^^
    Next
    Next
    $fuellbits = Mod(StringLen($Bitstrom), $bits) ;der Bitstrom wird mit Bits aufgefüllt, damit er durch Anzahl Bits teilbar ist
    $Bitstrom &= StringLeft($Bitstrom, Mod($bits, $fuellbits)) ;einfach hinten dranhängen
    ; ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $Bitstrom = ' & $Bitstrom & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    Return StringRegExp($Bitstrom, '[01]{1,' & $bits & '}', 3) ;als 3-Bit Arrayzurückgeben
    EndFunc ;==>_String_to_BitArray

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

    Func _BitArray_to_String($array, $bits = 3)
    If Not IsArray($array) Then Return "" ;wenn array leer, leeren String zurückgeben
    Local $Bitstrom = "", $ascii = 0, $string = ""
    For $i = 0 To UBound($array) - 1 ;aus allen indizes den Bitstrom generieren
    $Bitstrom &= $array[$i]
    Next
    ; ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $Bitstrom = ' & $Bitstrom & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
    If Mod(StringLen($Bitstrom), $bits) <> 0 Then Return "Array fehlerhaft!" ;summe Bits stimmt nicht
    For $i = 1 To StringLen($Bitstrom) ;alle bits im Bitstrom
    $bit = StringMid($Bitstrom, $i, 1) = 1 ;bit 0 oder 1?
    $ascii += $bit * (2 ^ (7 - ($bit * Mod($i - 1, 8))));wenn bit gesetzt, dann aufaddieren
    If Mod($i, 8) = 0 Then ;wenn 8 bits zusammen....
    $string &= Chr($ascii) ;string mit buchstaben füllen
    $ascii = 0 ;ascii zurücksetzen
    EndIf
    Next
    Return $string
    EndFunc ;==>_BitArray_to_String

    [/autoit]
  • OpenCL meets OpenGL in AutoIt

    • Andy
    • 30. April 2013 um 07:04

    Hi,
    sehr gut, das hilft weiter! Die Buffer werden nicht richtig initialisiert.
    Es sieht dann wohl so aus, als ob das Problem nicht bei CL, sondern (wie ich schon seit einem Jahr vermute) bei GL liegt!
    Also eher weniger bei GL direkt, sondern bei AutoIt, das irgendetwas im Hintergrund macht, was nicht so astrein ist.
    Ich habe auf dem WIN7-Laptop teilweise nämlich sehr seltsame "Kamm-Artefakte", die ab und zu , wenn das Script kompiliert wird, nicht auftreten.
    Denn wenn ich die CL/GL-Beispiele der SDK´s mit C++ kompiliere (VS2010) läuft alles einwandfrei. Ich habe die Beispiele, welche ja auch nur die GL-API aufrufen, 1:1 nach AutoIt portiert und dort gibt es teilweise Anzeigefehler...

  • DLL - Frage

    • Andy
    • 29. April 2013 um 21:16

    Hi,
    wie schon gesagt funktionieren deine Scripte auch unter Win7 (die meisten jedenfalls^^), allerdings im "Win7"-Style.
    Wenn du, aus welchen Gründen auch immer, unbedingt auf XP angewiesen bist, oder Fenster in diesem Style brauchst (oder Fenster in diesem Style "bearbeiten" musst *husthust*) dann erstelle dir entweder eine Virtuelle Maschine VM und benutze darin einfach deinen "alten" Rechner (Image erstellen und reinkopieren), oder probiere in Win7 Ultimate das integrierte (auch in einer VM laufende) XP.
    Ich würde das integrierte XP verwenden, dort installierte Programme hast du sogar im Startmenü von Win7....

  • OpenCL meets OpenGL in AutoIt

    • Andy
    • 29. April 2013 um 21:06

    Orion,
    Alda, dem is ULTRAKRASS! :D
    Sehr cool, was eure Grakas alle so darstellen....wenn ich das richtig sehe, ist das ein Teil des Hintergrundes, der auf die Würfeloberflächen projeziert wird?!
    Welche Hardware hast du?

    @TheShadowAE,
    danke fürs Testen!
    Ich werde wohl nicht drumrum kommen, alle verfügbaren Platforms abzuklappern und dort nach einem Device zu suchen, welches eine GPU ist....
    Dann wäre das zumindest schon einmal geklärt.
    Solange die sich drehenden Würfel dargestellt werden ist es ja schonmal halb fertig^^

  • _WinAPI_BitBlt Probleme

    • Andy
    • 29. April 2013 um 20:46

    Hi,
    frag dich mal, aus welchem Grund jemand x-mal in der Sekunde haufenweise Buttons und anderes Gedöns in ein Fenster "zeichnen" sollte, obwohl sich in diesem Fenster garnichts tut?!
    Wieso zeichnest du nicht die Buttons in ein Fenster und stellst es EINMAL dar und fragst dann nur noch die Buttonevents ab?

    Fürs waagrechte Scrollen einen kostenlosen Speedtip^^:
    Erstelle eine Bitmap mit der Größe (Gesamtbreite x HöheScreenx0.9). Die Gesamtbreite ist die von dir vorgegebene Größe des scrollbaren Bereichs, sagen wir mal 10000 Pixel.
    In diese Bitmap zeichnest du deine zu scrollenden Buttons.
    Jetzt musst du nur noch mit einem BitBlt() den vom Slider angegebenen Bereich, also gewissermaßen einen Ausschnitt deiner Grafik (die Buttons) in das Fenster blitten.
    Die HöheScreen wird nur mit 0.9 (oder 0.5 oder 0.4) multipliziert, da du nur den Streifen brauchst, den du scrollen willst, im Extremfall also nur einen Streifen von der Höhe der Buttons.

    Du kannst natürlich auch einfach jeden einzelnen Button aus einer Bitmap heraus in dein Fenster blitten, aber alles ist schneller, als den Button jedes mal neu zu zeichnen!

  • OpenCL meets OpenGL in AutoIt

    • Andy
    • 28. April 2013 um 21:24

    Hi,
    @TheShadowAE,
    lt. deiner Console müsste es durchlaufen, sowohl GL als auch CL werfen keine Fehler....

    Zitat

    Wieso benutzt du GLCL_easy nicht bei den Würfeln? Da hatte ich die ganze Zeit getestet )

    weil ich ein fauler Sack bin....
    Nein, ich dachte mir schon, dass es bestimmt nicht auf Anhieb glatt läuft (Intel/Nvidea), dafür habe ich mich zu lange mit dem Dreck beschäftigt :huh:
    Also CL läuft nun auf deiner Grafikkarte, das ist schon mal gut, nun müssen wir das nur noch hinbekommen mit der "richtigen" Grafikausgabe im Fenster.
    Die Würfel scheint es ja schon mal zu zeichnen^^, ggf kann minx mit dem Bild was anfangen....

    Hmmm, anhand der FPS und der Kerneltime könnte es sein, dass doch deine CPU verwendet wird^^
    Probier mal in Zeile 66 testhalber von setGLCLautokernel() in

    [autoit]

    setGLCLautokernel("CPU")

    [/autoit]

    und wenn das nicht funzt dann nochmal in Zeile 107 zurück zu $num....=1

  • OpenCL meets OpenGL in AutoIt

    • Andy
    • 28. April 2013 um 13:46
    Zitat

    Also ich hatte mir den Code von hier nicht mehr geladen, sondern mir eine eigene SDK zusammengezimmert, da Andy mir immer nur Bruchteile geschickt hat .

    was heisst Bruchteile, das war alles....mehr braucht man auch nicht.
    Und wenn man jetzt einen x-beliebigen Benchmark startet, der im Fehlerfall einfach abbricht bzw. "geht nicht" anzeigt, dann kommt man auch nicht wirklich weiter...

    Zitat

    Die neuen Treiber lassen sich hier laden: http://www.geeks3d.com/

    DAS ist genau der allergrößte Fehler!!!
    IdR empfehle ich auch die neuesten Treiber, allerdings ist das bei der Interoperability von OpenCL und GL (gerade bei AMD) nicht immer vorteilhaft. Die neuesten Treiber sind IMMER schnell zusammengestrickte, auf die letzte Rille fertig gewordene Konstrukte bei denen man HOFFT (nicht weiß ! ), dass die allerneuesten Features der allerneuesten Grafikkarten unterstützt werden.
    Jedenfalls habe ich mir schon mit neuen Treibern auf dem Laptop massiven Ärger, und nicht nur in der Grafikdarstellung, sondern auch mit Blackscreens nach dem Aufwachen aus dem Standby/S3+4 eingehandelt. Mit dem alten Treiber lief alles wunderbar, nur bekomm mal einer den neuen Treiber komplett aus dem System geschmissen...
    Wenn jemand eine 3 Jahre alte Grafikkarte hat und mit dem damals aktuellen Treiber der Rechner problemlos läuft, dann besteht auch kein Grund, ohne Not den Treiber zu updaten!
    Übrigens ist die verwendete CL/GL Version bzw. deren SDK sehr eng mit den Treibern verknüpft, wenn, dann sollte man schauen, dass beides zusammenpasst, siehe Seite (Text auch mal durchlesen ^^ ) hier ganz unten!

    Trotz allem sollte man die bei minx´s geposteten CL-Benchmark-Link auf der rechten Seite die Hinweise beachten!

    //EDIT// Ich spreche solche "Kleinigkeiten" an, wie die unter den Tisch gekehrte Mitteilung von bspw. AMD, dass mit Runterladen der allerneuesten Treiber und CL (Version 1.2 )-SDK´s keine 32-Bit-Betriebssysteme mehr unterstützt werden!
    Wer also Open CL und GL zusammen auf z.B. XP32 benutzen möchte (was einwandfrei funktioniert! ) muss die passenden Treiber und das CL-SDK Version 1.1 installieren!
    Wie das Bei Nvidia/Intel aussieht sollte man dort abgleichen!

  • OpenCL meets OpenGL in AutoIt

    • Andy
    • 28. April 2013 um 12:14

    Die Frage ist, wieso bei einigen Usern mit Nvidia-Karte die CL- und auch die GL-Beispiele jeweils einzeln einwandfrei funktionieren, aber in Zusammenarbeit (Interoperability) dann Probleme auftreten...

    Die Kombination OpenCL auf CPU und OpenGL auf (wie auch immer GPU) ist sowieso schwierig. Ich vermute da einfach weniger Probleme in der API, als fehlerhafte oder komplett fehlende Unterstützung in den Treibern! Siehe auch diverse Forenbeiträge zu diesem Thema bei den Linuxern, dort wird die Kombination CL/GL sehr gerne verwendet!

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™