AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Langsame Aktualisierung wenn Gestenmanager vielen Elementen zugeordnet ist
Thema durchsuchen
Ansicht
Themen-Optionen

Langsame Aktualisierung wenn Gestenmanager vielen Elementen zugeordnet ist

Ein Thema von blawen · begonnen am 27. Jun 2024 · letzter Beitrag vom 28. Jun 2024
Antwort Antwort
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
679 Beiträge
 
Delphi 12 Athens
 
#1

Langsame Aktualisierung wenn Gestenmanager vielen Elementen zugeordnet ist

  Alt 27. Jun 2024, 18:11
Ich habe ein TGridPanel, auf welchem 50 TMemos platziert sind.
Diese sind wiederum dem Gestenmanager "GestureManager1" zugeordnet und genau mit diesem habe ich ein Problem.

Die Anwendung funktioniert grundsätzlich, allerdings ist die Ladezeit sehr hoch - sprich wenn das Formular aufgerufen wird, vergehen mehrere Sekunden, bis dieses angezeigt wird.
Ohne den Gestenmanger geht das Formular nahezu unverzögert auf.

Bei meinen Versuchen habe ich die TMemos sowohl statisch als auch dynamisch erstellt und in beiden Fällen kann ich keinen Merklichen Zeitunterschied feststellen.
Wenn die Anzahl Zuweisungen < 10 ist, merkt der Anwender nichts, was darüber liegt irritiert, weil die Anwendung zu hängen scheint.


Frage:
Gibt es einen Weg, um die Zuweisung zu vereinfachen, bzw. die Geschwindigkeit zu erhöhen?
Oder gibt es einen viel besseren Ansatz?

Gruss
Blawen

abweichungen.jpg
Roland
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Langsame Aktualisierung wenn Gestenmanager vielen Elementen zugeordnet ist

  Alt 27. Jun 2024, 20:57
Da fehlt noch etwas an Informationen, denn wenn ich 50 Memos mit einem GestureManager verbinde, dann geht das gefühlt genauso schnell auf wie ohne.

Welche Gesten sind denn in den Memos jeweils aktiviert?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
679 Beiträge
 
Delphi 12 Athens
 
#3

AW: Langsame Aktualisierung wenn Gestenmanager vielen Elementen zugeordnet ist

  Alt 27. Jun 2024, 22:49
Da fehlt noch etwas an Informationen, denn wenn ich 50 Memos mit einem GestureManager verbinde, dann geht das gefühlt genauso schnell auf wie ohne.

Welche Gesten sind denn in den Memos jeweils aktiviert?
Hallo Uwe

Im eigentlichen Projekt sind es Left, Right, Up, Down und Curlique.

Im Anhang habe ich ein Minimalprojekt und ein Video angehängt.

Neben der Hauptform besitzt es die beiden Formen FVorgabe, in welchem die Memos bereits enthalten sind und FManuell, in welcher die Memos dynamisch erzeugt werden.
In diesem Formular erzeugt der Button1 zuerst die Memos und der Button2 weist den Gestenmanager zu.
Das Video zeigt diesen Fall und man sieht sehr gut, wie die Memos kurz aufleuchten, wenn der Gestenmanger zugewiesen wird.

Die deutliche Zeitverzögerung habe ich in beiden Fällen nur beim ersten Öffnen des Formulars, beim zweiten Öffnen erfolgt dies unverzögert.

Hast Du mir eventuell einen Tipp, was ich anders machen muss?

Gruss
Roland
Angehängte Dateien
Dateityp: zip Gesten.zip (79,5 KB, 4x aufgerufen)
Dateityp: zip Video.zip (403,8 KB, 6x aufgerufen)
Roland
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#4

AW: Langsame Aktualisierung wenn Gestenmanager vielen Elementen zugeordnet ist

  Alt 28. Jun 2024, 00:13
Das Problem schnellste was ich hier herausholen kann ist immer noch die statische Zuweisung (ca. 1000 ms).

Die beiden Methoden ErzeugeMemos und GestenManagerZuweisen kann man noch beschleunigen, wenn man sie in ein GridPanel1.LockDrawing/UnlockDrawing klammert (zusammen ca. 2000 ms).

Etwas schneller wird es noch, wenn der GestureManager direkt nach dem TMemo.Create, aber vor dem Zuweisen des Parent gesetzt wird (ca. 1700 ms).
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Langsame Aktualisierung wenn Gestenmanager vielen Elementen zugeordnet ist

  Alt 28. Jun 2024, 07:35
Oder gibt es einen viel besseren Ansatz?
Das sieht visuell nach einem Paradebeispiel für die TVirtualStringTree aus. Gesten habe ich darin bisher nur manuell implementiert, aber zumindest kann man diese über die Eigenschaft Touch konfigurieren, weil das weiter oben im Komponentenbaum implementiert ist. Insofern wäre es einen Versuch wert.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz