# Wie finde ich die perfekte Tilegröße raus?



## radiac (23. Aug 2009)

Hallo .

Hab da wieder mal ein Problem. Und zwar habe ich eine Scrolling Map gebaut die 3000 x3000 Pixel groß ist. Diese habe ich ich 400 Teile á 150 x 150 Pixelstücke geteilt.
Wenn ich diese jetzt zusammengesetzt habe, habe ich das Problem, das sich immer wenn
man sich auf dieser Karte bwegt ein "Framestreifen" über die Karte zieht.

Die Frames sind im Schnitt bei 75. Egal wie groß die Auflösung des Fensters ist, es geht nicht weg.

Jetzt denke ich mir gerade, das ich evt die Tiles zu größ gemacht habe oder???

Was ist da besser? Lieber viele kleine Tiles? Oder doch lieber Große bei einer 3000 x 3000 Map.

Würde mich auf Antworten von Erfahrenen Leuten freuen :applaus:


----------



## Marco13 (23. Aug 2009)

Was ist ein "Framestreifen"? ???:L


----------



## Steev (24. Aug 2009)

Ich kenne das,

und zwar ist das Problem, dass sich die X und Y-Position der gesamten Map währen der Renderung verändert. Daher hast du dann so komische Abstände zwischen den Tiles.
Speicher die vor dem Rendern die X und Y-Position in lokalen Variablen und render die Map dann. Dann müssten die Abstände weg sein.

Gruß
Steev


----------



## Marco13 (24. Aug 2009)

Hm .... wenn du die Bewegung (ohne spezielle synchronisation) in einem eigenen Thread machst, ist klar, dass Artefakte auftreten - ist dem so?


----------



## radiac (24. Aug 2009)

x und y wird gespeichert. Mittlerweile habe ich es bei anderen Pcs getestet, die das Problem nicht haben. (scheinbar... habs selbst nicht gesehen).

Mir sagte jemand der mit BlitzMax programmiert, das man mit v-sync das problem beheben kann. Gibt es da eine Möglichkeit in Java??? Weil mein Monitor eine Hz Rate von 60 hat... und die Fps des Spiels bei 67 liegen.

Vielleicht ist jetzt auch klar, was ich meine . Es rollt so eine Art verzerrter Teppich über dem Bildschirm. Wenn ich von links nach rechts die "Map" verschiebe, ist das sogar noch stärker. Flüssig läuft alles .


----------



## radiac (24. Aug 2009)

Nochmal ich .

Habe nachgelesen, das es evt. auch am Fullscreen liegen kann, da die Anwendung im Fullscreen ausgeführt wird. Leider habe ich keine Methode gefunden.


Zitat:

BufferStratergy is the only way to get vsync in Java2D. If you create a fullscreen, page flipped buffer strategy then (IIRC) you get vsync automagically. Otherwise you'll need to check out BufferCapabilities.isPageFlipping() and BufferCapabilities.isFullscreenRequired().

Noch nie gehört xD


----------



## Marco13 (24. Aug 2009)

radiac hat gesagt.:


> you get vsync *automagically*.



Das merk' ich mir :lol:


----------



## radiac (24. Aug 2009)

lol, ist mir beim lesen garnicht aufgefallen xD. :lol:


----------

