Ergebnis 1 bis 6 von 6

Thema: Performance mancher RGSS Scripte

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Vielen vielen Dank. Ich glaube diese Antwort ist mehr als ausreichend.
    Allerdings hätte ich nun eine weitere Frage schlussfolgernd aus der ersten:

    Zu 1).
    Ich habe bereits bemerkt, dass Sprites welche den selben Viewport teilen manchmal überlappen, jeh nachdem welches zuletzt gezeichnet wird, wozu sind dann die Sprite internen Z-Koordinaten da?
    Immerhin kann ja das Z eines Sprites selbst auch gesetzt werden.

    Zu 2).
    Aber wenn ich einen Sprite benutze dann wird doch ebenfalls ein Bitmap verwendet und ausgeschnitten um dargestellt zu werden. Wo genau ist der Unterschied in der Performance wenn ich einen Blocktransfer mache?
    Ist es die Tatsache, dass die Src_Rect neugesetzt werden muss? Doch das passiert im Sprite ja auch.
    Und das Problem, dass ich nun temporär stendig ein neues Bitmap erschaffe von dem ich den Blocktransfer durchführe müsste doch theoretisch, nach meiner Ansicht, beiseite geschafft werden wenn ich das Bitmap nur in der Initialisation als lokale Variable speichere.

  2. #2
    1)
    die regel, dass sprites mit höherer z koordinate oben liegen, gilt nur für die sprites im selben viewport.
    für sprites in unterschiedlichen viewports gilt, dass das sprite mit dem höheren viewport oben liegt.

    du kannst dir ein viewport eigentlich wie ein sprite vorstellen und die sprites im viewport sind das bitmap.

    2)
    das src_rect eines sprites ist immer vorhanden und die information in src_rect wird in Graphics.update IMMER zum rendern verwendet. die zusätzliche arbeit für die CPU ist also nur das ändern der rect daten (und 4 zahlen ändern benötigt kaum rechenleistung)
    wenn du jedoch per blocktranfer arbeitest muss die cpu zusätzlich das bitmap bearbeiten (und zwar jedes pixel einzeln kopieren - das ist rechenleistung im vergleich zu 4 zahlen).

    die zusätzliche arbeit, die durch das weitere sprite im 1. fall verursacht wird, wird soweit ich weiß von der gpu berechnet und die hat bei nem 2d spiel eh zu wenig zu tun ._.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •