Einzelnen Beitrag anzeigen

mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#7

AW: [FMX] eigene Komponente (Aufbau & Performance)

  Alt 10. Nov 2016, 02:51
solltest du das "TMS FMX (UI) ComponentPack" haben, wäre dort wohl die "TTMSFMXTileList" das was du suchst...

Ist zwar eigentlich für "Kacheldesign", macht aber um die Ecke gedacht genau das was du willst:
- kann beliebig viele verschieden große Objekte automatisch angeordnet anzeigen
- hat Events "pro Element" zum Selbstzeichen oder zuweisen der Daten
- TMS zeichnet/aktualisiert nur das was gerade angezeigt wird

Für einen schnellen Versuch, würde ich mir selbst pro Objekt intern ein Bild rendern(Größe&Inhalt ergo 100% frei und selbst bestimmt).
Wenn sich was ändert, dann zunächst wieder selbst für das Objekt das Bild intern neu rendern, dann schaun ob es "sichtbar" ist und ein Invalidate auf dessen Position absetzen, alle "Kacheln" stellen per Eventfunktion nur ihr zugehöriges Objektbild dar... fertig.
(Neuzeichnen bei/nach Fremdüberdeckung klappen so auch automatisch, weil das die GUI das Invalidate der betreffenden Regionen selbst auslöst)

Wenn kein TTMSFMXTileList oder das (noch)nicht passt, dann würde ich von dort nur den internen AutoLayoutTeil nutzen mir darauf meine Komponente mit einem "EventsPerObject" Konzept und eigener/virtueller Datenhaltung möglichst über "Pufferbilder" realisieren. Solange der Speicher für die Bilder reicht, ist das (Zeit)Verhalten der GUI somit unabhängig von der Anzahl der Objekte und der Ursache der Aktualisierung immer deterministisch und 100% "non Blocked" wenn man das rendern der Pufferbilder sauber asyncron mit Threads ausserhalb des GUI/Main Treads realisiert.
  Mit Zitat antworten Zitat