JavaFX Sehr viel und unterschiedlich Großen Inhalt auf einer "Fläche" ... Umsetzbar ?

Hallo,

Ich versuche derzeit ein Projekt umzusetzen, da ich jetzt schon einige male einfach losgelegt habe und dann auf halber Strecke gemerkt habe, dass es hier oder dort nicht so funktionieren wird wie gewünscht wollte ich es diesmal besser strukturieren und vorher mal nach Rat fragen.

Um das ganze besser zu veranschaulichen habe ich ein Bild angefertigt welches im Anhang zu finden ist.

Auf dem Bild sind verschieden Große Felder zu sehen alle rechteckig und im Maßstab 16:9. Jedes Feld enthält Inhalt sei es nur ein Bild oder mehrere kleine Bilder oder Bilder und ein Video u.s.w Außerdem soll man per Mausrad soweit zoomen können das z.b die blaue Fläche den kompletten Bildschirm ausflüllt.

Versucht habe ich das mit einer Scrollpane nur da müsste der Inhalt der Orangenen Fläche unheimlich Groß sein z.b 192000x108000 und das ist ja soweit auch nicht umsetzbar.

Nun möchte ich versuchen, dass mit einer Tilepane b.z.w Tilemap umzusetzen nur da mal angenommen eine Blaue Fläche ist so groß wie ein Tile dann würde ja der Inhalt von der orangenen Fläche über zich Tausende Tiles hinweg gehen also sehe ich da auch noch nicht wirklich den richtigen Weg.

Ausserdem müsste man noch beachten, dass wen man weit raus zoomt der Inhalt der Blauen Flächen nicht geladen wird oder mir sehr geringer Auflösung sonst macht das ja kein Rechner mit.

Soweit so gut ... Mich würde mal interessieren wie ihr die Sache umsetzen würdet und auch welchen Aufwand und Können das ganze Benötigt, da ich derzeit noch ein ziemlicher Anfänger bin. Ich habe aber genug Zeit demnächst mir das ein oder andere noch Anzueignen für die Umsetzung.

Gruß
 

Anhänge

  • tile-map.jpg
    tile-map.jpg
    32 KB · Aufrufe: 25
Ich sehe dein Problem nicht: Wenn du so weit reinzoomst bis ein blaues Kästchen den Schirm vollständig einnimmt dann sieht man von den anderen Element genau 0! Warum diese also dann zeichnen lassen?
Kontrolliere einfach immer welche Elemente sich im sichtbaren Bereich befinden und diese werden gezeichnet, alle anderen solltest und musst du nicht zeichnen (im Speicher sind sie dennoch da).
Bei den blauen Kästchen würde ich den Inhalt erst ab einer gewissen Größe anzeigen.
 
Ich sehe dein Problem nicht: ... (im Speicher sind sie dennoch da).

Ich glaube hier liegt sein Problem. Ein Bild dieser Größe kannst du nicht auf einmal im Speicher halten...

Ich würde mir eine art eigenen virtuellen Speicher basteln. Sprich, wenn ein Teil des Bildes angefordert wird, wird dieses in einen Cache geladen geladen. Das Ganze auf eine bestimmte Tile Größe begrenzt. Also sagen wir mal jeder Teilbereich den du lädst hat immer 1024x1024 Pixel (Könne auch beliebig mehr sein je nach vorhandenem Speicher). Der Cache hat dann eine Größe von maximal 10 (auch den Wert muss man durch ausprobieren herausfinden) Tiles. Wenn 10 Tiles im Cache sind und es wird ein neuer angefordert, dann fällt das älteste Tile wieder raus.

Gruß

Claus
 
Gut es war schlecht ausgedrückt. "im Speicher sind sie dennoch da" war nur auf die eigentlichen Objekte bezogen ohne den Mediainhalten.
Diese würde ich eben wie du beschrieben nachladen wenn benötigt.
 

Neue Themen


Zurück
Oben