Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Danke für den Link, aber nur eine Folgefrage: Kann dieser Code verwendet werden, um die Leistung der Grafikkarte zu testen?
Nein. Zunächst müssen Sie ein paar Millionen Objekte pro Seite hinzufügen. Und dann loop(10000){ ChartRedraw(); }
:)
Nein. Zunächst müssen Sie ein paar Millionen Objekte pro Seite hinzufügen. Und dann loop(10000){ ChartRedraw(); }
:)
Ein paar Millionen sind zu viel, aber 100.000 sind gut genug für einen Test.
Ist das in Ordnung? Kann man es "objektiver Test der Eignung der Grafikkarte für MT5" nennen?
Oder sollten die Objekte vielleicht auch ihre Werte ändern?
Ein paar Millionen sind zu viel, aber 100.000 sind gut genug für einen Test.
Kann man es als "objektiven Videokartentest für mt5" bezeichnen?
Was steht dort? :) ich habe
2012.02.27 19:04:09 CardTest(Urain) (EURUSD,H1) Count ChartRedraw()=1000 bei time=26224 ms
Was steht da? Meiner.
2012.02.27 19:04:09 CardTest(Urain) (EURUSD,H1) Count ChartRedraw()=1000 bei time=26224 ms
Versuchen wir, einen Teil der Objekte neu zu zeichnen und die CPU und die Grafikkarte anzugeben. Wenn die Entwickler dies nicht ablehnen, können wir einen Zweig erstellen und jeder wird seine Daten veröffentlichen. Hier ist der Code, bei dem ein Teil der Objekte neu gezeichnet wird.
hier werden weitere Ausdrucke umgeschrieben, die bei welchen Einstellungen sichtbar waren.
Ups, die internen Zähler müssen in j geändert werden.
Er schreibt:
Versuchen wir, einen Teil der Objekte neu zu zeichnen und die CPU und die Grafikkarte anzugeben. Wenn die Entwickler dies nicht ablehnen, können wir einen Zweig erstellen und alle, die es wünschen, können ihre Daten posten. Hier ist der Code, bei dem ein Teil der Objekte neu gezeichnet wird.
Dieser Test testet eher die Geschwindigkeit der asynchronen Kommunikationswarteschlange mit Objekten (ObjectSetXXXX-Funktion) und nicht das Videosystem.
Ich behaupte nicht, aber vielleicht ist Ihnen nicht aufgefallen, dass vor Beginn des Tests die zyklische Zeit des Objektwechsels gemessen und anschließend ein Vielfaches der Zeit von der Gesamtzeit abgezogen wurde.
Korrigieren Sie mich, wenn ich falsch liege.
SZY Eindeutig ich nicht diskontieren if(i%2==0), aber ich glaube nicht, dass dieser Test wird die Zahlen erheblich ändern, wir brauchen die relative Zahl auf verschiedenen videahas.
HH Übrigens werden ähnliche Messungen ohne Neuzeichnen erzielt, sogar etwas mehr, was wahrscheinlich besagt, dass bei häufiger Verwendung der Funktion ObjectSetXXXXX deren Arbeit irgendwie beschleunigt wird und der Zeitabzug leicht überschätzt wird.
Er schreibt:
Jetzt ist es so:
2012.02.27 19:37:44 gpu_Test (Urain) (EURUSD,M30) ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=22792 mk.c.
CPU: AuthenticAMD AMD Phenom(tm) II X6 1100T Processor with OpenCL 1.1 (6 units, 3840 MHz, 16345 Mb, version 2.0)GPU: Advanced Micro Devices, Inc. Cayman with OpenCL 1.1 (20 units, 750 MHz, 1024 Mb, version CAL 1.4.1664 (VM))
Dies geschieht jedoch auf einem leeren Bildschirm. Wenn es so aussieht (512 Zeilen auf dem oberen Display und das gleiche auf dem unteren Display):
dann ist es so.
2012.02.27 19:47:53 gpu_Test (Urain) (EURUSD,M1) ChartRedraw() Count=1000 CountObj=100000 CountObjRedrawt=1000 time=123022 mk.c.
Ich behaupte nicht, aber vielleicht ist Ihnen nicht aufgefallen, dass vor Beginn des Tests die zyklische Zeit des Objektwechsels gemessen und anschließend ein Vielfaches der Zeit von der Gesamtzeit abgezogen wurde.
Ja, ich habe nicht sofort bemerkt, dass es einen Korrekturvorgang gibt.
Dennoch ist meine Korrektur völlig korrekt. Die Geschwindigkeit einer asynchronen Warteschlange (die eigentlich eine Warteschlange ist) hängt direkt von der Betriebsart der Warteschlange ab.
Zunächst haben Sie die Geschwindigkeit der Warteschlange pro Schreibvorgang ohne externe Stimuli und ohne Lesevorgänge gemessen. Sie erfolgte sogar sofort (reso=0 ms, überprüfen Sie es selbst). Doch dann begannen Sie, in Ihren Tests nicht nur Schreib-, sondern auch Leseoperationen über ChartRedraw zu verwenden, wodurch die Warteschlange für das Korrekturlesen blockiert wurde und sich alle Operationen überschnitten.
Tatsächlich handelt es sich um einen Test von 1.000.000 Änderungen bei 1.000 Objekten in einer bestehenden Menge von 100.000 Objekten. Es gibt keine Möglichkeit, einen Videotest mit ObjectXXXx-Funktionen aufzurufen.
Ja, ich habe nicht sofort bemerkt, dass es einen Korrekturvorgang gibt.
Dennoch ist meine Korrektur völlig korrekt. Die Geschwindigkeit einer asynchronen Warteschlange (die eigentlich eine Warteschlange ist) hängt direkt von der Art ihrer Bearbeitung ab.
Zunächst haben Sie die Geschwindigkeit der Warteschlange pro Schreibvorgang ohne externe Stimuli und ohne Lesevorgänge gemessen. Sie erfolgte sogar sofort (reso=0 ms, überprüfen Sie es selbst). Doch dann begannen Sie, in Ihren Tests nicht nur Schreib-, sondern auch Leseoperationen über ChartRedraw zu verwenden, wodurch die Warteschlange für das Korrekturlesen blockiert wurde und sich alle Operationen überschnitten.
Tatsächlich handelt es sich um einen Test von 1.000.000 Änderungen bei 1.000 Objekten in einer bestehenden Menge von 100.000 Objekten. Dies kann nicht als Videotest mit ObjectXXXx-Funktionen bezeichnet werden.
Und wenn wir zuerst den kompletten Satz von Repaints ohne ChartRedraw und dann mit ChartRedraw messen und eine Subtraktion vornehmen, wäre das dann korrekt?
Übrigens, das Thema ist sehr relevant, Sie könnten einen Test schreiben, es ist einfacher für Sie, wenn Sie die interne Struktur von mql kennen.