Galerie der in MQL geschriebenen UIs - Seite 56

 
Nikolai Semko #:
Nein Perth, immer noch zu viel. Deine Oberfläche mit all dem Text, den Schatten usw. erreicht auf einem schwachen Prozessor maximal 50 ms.
Suchen Sie nach dem Fehler.
Führen Sie ein Profiling durch. Sehen Sie, welche Funktionen 95% der Zeit beanspruchen.
Vielleicht verwenden Sie ChartGet oder XY-Funktionen (obwohl Sie keine Bindung an ein Diagramm haben).
Wie auch immer, führen Sie eine Profilerstellung durch. Es wird nur 40 Sekunden dauern.

Ja, ich werde alles noch einmal überprüfen. Aber das ist nicht der Punkt. Der Zeichenblock zeichnet nicht nur. In ihm gibt es logische Labyrinthe, die eingehende Ereignisse verarbeiten. Sie werden benötigt, um zu entscheiden, was gezeichnet werden soll und was nicht. Sie entscheiden, woher die Bilder kommen und wo und wie sie überlagert werden sollen. Wenn es sich um eine einfache Zeichenfunktion mit 100 Linien handeln würde, gäbe es nichts zu sagen. Aber dies ist ein massiver Mechanismus, der sicherstellt, dass ALLES gezeichnet wird.

Das ist es wert, berücksichtigt zu werden.))

 
Andrey Barinov #:

Ich verwende einfach NICHT die Standard-Leinwand :).

...

Und dies ist eine angenehme Überraschung. :) Selbstentfaltung ist immer cool. Auch wenn sie unvollkommen ist.

Ich habe nichts gegen die Ccanvas-Klasse (ich habe sogar ihre Funktionalität in die Konstruktor-Dateien aufgenommen), aber ich benutze sie noch nicht. Das Schlüsselwort ist "noch". Ich habe große Pläne für sie. Für die Zukunft.

 
Ich werde die Rendering-Geschwindigkeit einer leeren grünen Leinwand in der Größe des Diagramms überprüfen und das Ergebnis hier veröffentlichen.
 
Реter Konow #:

Ja, ich werde alles doppelt überprüfen. Aber das ist nicht der Punkt. Der Zeichenblock zeichnet nicht nur. In ihm gibt es logische Labyrinthe, die eingehende Ereignisse verarbeiten. Sie werden benötigt, um zu entscheiden, was gezeichnet werden soll und was nicht. Sie entscheiden, woher die Bilder kommen, wo und wie sie überlagert werden sollen. Wenn es sich um eine einfache Zeichenfunktion mit 100 Linien handeln würde, gäbe es nichts zu sagen. Aber dies ist ein massiver Mechanismus, der sicherstellt, dass ALLES gezeichnet wird.

Das ist es wert, berücksichtigt zu werden.))

Nein, wenn es richtig implementiert ist, dauert das Ereignismodell nicht länger als eine Mikrosekunde (ein Millionstel einer Sekunde), selbst wenn es Tausende von Prüfungen gibt.
Suchen Sie nach einem Fehler.
Und hören Sie auf, defensiv zu sein! Niemand greift Sie an, man will Ihnen nur helfen.
Ich habe spürbare Verzögerungen (>300 ms) ab 100 Tausend Objekten, und an die Preis-Zeit gebunden.
 
Nikolai Semko #:
Nein, wenn das Ereignismodell korrekt implementiert ist, dauert es nicht länger als eine Mikrosekunde (ein Millionstel einer Sekunde), selbst wenn es Tausende von Prüfungen gibt.
Suchen Sie nach einem Fehler.
Und seien Sie nicht so defensiv! Niemand greift Sie an, man will Ihnen nur helfen.
Ich habe spürbare Verzögerungen (>300 ms) ab 100 Tausend Objekte, und gebunden an Preis-Zeit.

Ich bin nicht defensiv))) Ha ha. Ich erkläre nur. ))

Also gut. Ich werde mit einem einfachen Test beginnen. Ich fülle eine bildschirmfüllende Leinwand mit einer Farbe und messe die Zeit. Sie messen Ihre Rendering-Funktion und dann wird klarer, ob ich Bremsen in meinem Code habe. Vielleicht gibt es welche. Ich streite mich nicht. Ich muss es überprüfen.

 
Реter Konow #:

Ich bin nicht abwehrend.) Ha ha. Ich erkläre nur. ))

Also gut. Ich werde mit einem einfachen Test beginnen. Ich werde eine Leinwand im Vollbildmodus mit einer Farbe füllen und die Zeit messen. Sie messen Ihre Rendering-Funktion und dann wird klarer, ob ich Bremsen in meinem Code habe. Vielleicht gibt es welche. Ich streite mich nicht. Ich muss es überprüfen.

Ich dachte, dass Sie vielleicht noch nie mit Profiling gearbeitet haben. Du arbeitest auch nicht mit Debugging.


 
Nikolai Semko #:

Ich dachte, Sie haben vielleicht noch nie mit Profiling gearbeitet. Du arbeitest auch nicht mit Debugging.


Nicht mit Debugging. Ich kann es nicht, wegen des russischen Codes. Ich habe mit Profiling gearbeitet. Aber das ist schon lange her. Ich mag es, auf die altmodische Art zu programmieren. So ist es nun mal.

Ich werde es morgen machen. In den letzten Tagen habe ich von 6:00 Uhr morgens bis 22:00 oder 23:00 Uhr abends gearbeitet. Mal mehr, mal weniger. Ich bin ein bisschen müde.