Asynchrone und mehrfädige Programmierung in MQL - Seite 38

 
Andrey Barinov:

Selbst wenn es eine Million Zellen sind. Wenn man maximal 1000 davon auf dem Bildschirm sehen kann, warum dann alles aktualisieren/zeichnen?

Dies war ein Stresstest für die Leistungsfähigkeit meiner Tische. (Die Monitore sind bei jedem unterschiedlich).

 
Реter Konow:
Dies war ein Stresstest für die Leistungsfähigkeit meiner Tische.

Damit ist das Problem nicht gelöst. Wenn die Zellen nicht auf dem Bildschirm sichtbar sind, müssen sie nicht berührt/berechnet/gezeichnet werden. Das Gleiche gilt für andere grafische Objekte.

 
Andrey Barinov:

Damit ist das Problem nicht gelöst. Wenn die Zellen nicht auf dem Bildschirm sichtbar sind, müssen sie nicht berührt/berechnet/gezeichnet werden. Das Gleiche gilt für andere grafische Objekte.

Stresstest. Erforderlich, um die Geschwindigkeit des Neuzeichnens bei dieser Größe des sichtbaren Bereichs zu testen.
 
Реter Konow:
Stresstest.

Ich verstehe immer noch nicht, worum es geht. Es gibt eine Leinwand. Seine Größe ist auf die Größe des Monitors (in Pixeln) begrenzt. Was spielt es für eine Rolle, was auf ihr passiert? Sie müssen eine konstante Anzahl von Pixeln zeichnen. Und Sie können Filme zeigen oder Tabellen zeichnen oder was auch immer.

 
Andrey Barinov:

Ich verstehe immer noch nicht, worum es geht. Es gibt eine Leinwand. Seine Größe ist auf die Größe des Monitors (in Pixeln) begrenzt. Was spielt es für eine Rolle, was auf ihr passiert? Sie müssen eine konstante Anzahl von Pixeln zeichnen. Und Sie können Filme zeigen oder Tabellen zeichnen oder was auch immer.

Ja. Lassen Sie mich das erklären. Diese Tabelle befindet sich beispielsweise in einem begrenzten Sichtfeld, das kleiner ist als die Größe des Diagramms. Alle Werte in der Tabelle ändern sich in einem Rhythmus von 100 ms. Angenommen, wir zeichnen nur den sichtbaren Bereich der Leinwand neu. Plötzlich beginnt der Benutzer, die Leinwand zu verschieben. In diesem Fall werden in den nicht gemalten Zellen die alten, unveränderten Werte angezeigt. Sollen sie beim Scrollen neu gezeichnet werden? Dann wird der Bildlauf sehr langsam sein.
 
Реter Konow:

Und auf einen Artikel über die Verbindung von Sharp-Tabellen habe ich schon lange gewartet. (Nur werden Sie nicht so leicht an meine Anschlussfähigkeit herankommen, nehmen Sie mich beim Wort. :))

"Sie verstehen einfach nicht die Fähigkeiten der Microsoft-Compiler, die riesige Menge an vorgefertigten Paketen (Bibliotheken), die in C++ oder C# geschrieben sind, und schon wieder reden Sie von Schwierigkeiten...

Ich habe Ihnen gezeigt, wie Sie ein C#-Formular mit 2 Klicks in einen separaten Thread in WinFormshttps://www.mql5.com/ru/forum/303283#comment_10600035"werfen" können.

Um welche Art von Schwierigkeiten handelt es sich?

Ok, ich bin dumm, ich beweise, dass rund nicht eckig ist, vergessen Sie nicht, das Argument über den Vertrieb durch Macrket wieder zu erzählen, übrigens haben Sie einen Durchbruch! - Sie sind bereits in KB! Ist es nur eine Frage der Zeit, bis der nächste Markt kommt? ;)


Andrej Barinow:

Damit ist die Frage aber noch nicht vom Tisch. Wenn die Zellen auf dem Bildschirm nicht sichtbar sind, müssen sie nicht berührt / gezählt / gezeichnet werden. Das Gleiche gilt für andere Grafikobjekte.

leider hat er seinen eigenen Ansatz für die Grafiken, gibt es die gleichen topiary von Peter, hier in KB auch mit den Quellen, er vor kurzem seine Tabelle gepostet, wenn interessiert versuchen, die Logik des Autors zu verstehen, ich bin nicht engagiert, sah selektiv, erkannte, dass alles, was ich kann das Gewicht der Quellen zu schätzen, wenn die Erinnerung mich richtig - 3 MB Text ;)

 
Igor Makanu:

" Sie verstehen einfach nicht die Fähigkeiten der Microsoft-Compiler, die riesige Anzahl von fertigen Paketen (Bibliotheken), die in C++ oder C# geschrieben sind, und schon wieder reden Sie von Schwierigkeiten...

Ich habe Ihnen gezeigt, wie Sie ein C#-Formular mit 2 Klicks in einen separaten Thread in WinFormshttps://www.mql5.com/ru/forum/303283#comment_10600035"werfen" können.

Um welche Art von Schwierigkeiten handelt es sich?

Ok, ich bin albern, ich beweise, dass rund nicht eckig ist. Vergessen Sie nicht, die Geschichte über den Vertrieb durch Macrket noch einmal zu erzählen, Sie haben übrigens einen Durchbruch! - Sie sind bereits in KB! Ist es nur eine Frage der Zeit, bis der nächste Markt kommt? ;)

...

1. Das kann ich mir vorstellen, deshalb entwickle ich in MQL. Dort gibt es jetzt nichts mehr zu tun. Ich bin zu spät dran. Ich muss eine neue bauen. Für mich ist der einzige verbleibende globale Bereich die KI. Aber das wird später kommen.

2. Sie verstehen nicht, worum es bei der Verbindung mit einer externen grafischen Benutzeroberfläche geht. Bei der Frage der Effizienz und der einfachen Anbindung kommt es nicht auf die Fähigkeiten von Sharp an, sondern darauf, wie einfach es ist, sie in eineranderen Entwicklungsumgebung zu nutzen. In einer anderen Anwendung. In einer anderen Sprache. Eine native Verbindung ist per definitionem besser, wenn sie mit Sorgfalt hergestellt wird.

 
Реter Konow:

Native Verkabelung ist per definitionem besser, wenn sie mit Sorgfalt durchgeführt wird.

besser als was? - bestimmte Werte, Zahlen?

das einzige, was Sinn macht, ist der Verkauf auf dem Markt. Sie wissen bereits, diese aus meiner Erfahrung beim Schreiben auf den Foren (für hundert Codes geschrieben, nur 3 Grafiken Arbeitsplätze und ich selbst schob die Kunden - ich war in den Fähigkeiten der MQL-SB interessiert)

Wenn Sie 100 Verkäufe Ihres Produkts erreichen, erhalten Sie bessere Zahlen und wir werden sehen, was das BESTE Wort ist.

;)

 
Реter Konow:
Ja. Lassen Sie mich das erklären. Diese Tabelle befindet sich beispielsweise in einem begrenzten Sichtfeld, das kleiner ist als die Größe der Karte. Alle Werte in der Tabelle ändern sich mit einer Frequenz von 100 ms. Angenommen, wir zeichnen nur den sichtbaren Bereich der Leinwand neu. Plötzlich beginnt der Benutzer, die Leinwand zu verschieben. In diesem Fall werden in den nicht gemalten Zellen die alten, unveränderten Werte angezeigt. Sollen sie beim Scrollen neu gezeichnet werden? Dann wird der Bildlauf sehr langsam sein.

Bei 1000 Zeilen wird niemand mehr durchblättern. Sie müssen andere Lösungen für dieses Problem anbieten. Sie müssen Filter und eine Suche usw. durchführen, dann werden nur die gewünschten Zeilen angezeigt.

Dies gilt natürlich nur, wenn man GUIs für Menschen macht und nicht um der GUIs willen.

Was kann man in einer Tabelle mit 1000 Zeilen mit Hilfe eines Bildlaufs finden? Welche Aufgabe wird gelöst?

P.S. Schon wieder Offtopic...

 
Andrey Barinov:

Was kann in einer Tabelle mit 1000 Zeilen durch Blättern mit dem Auge gefunden werden?

Wenn es eine bedingte Formatierung und Sortierung gibt, können Sie Bereiche mit Minimal-/Maximalwerten für mehrere Parameter auf einmal finden.

Offtopic, natürlich. Peter versteht es immer wieder, die Dinge auf den Punkt zu bringen.)