Ergebnis 1 bis 20 von 31

Thema: Ein Zeit-mess-Event zweckentfremden

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Liegt es an mir oder sind deine Aussagen widersprüchlich?

    Zitat Zitat
    Es spricht nichts dagegen diverse parallele Funktionen in ein PP zu klatschen.
    und

    Zitat Zitat
    Je mehr Code man da rein packt desto ungenauer wird die Zeitmessung.
    Das ganze klingt jetz so wie "Die Zeitmessung ist ja so oder so nicht genau, also macht es auch nix, wenn sie noch bisschen ungenauer wird."
    Ist es das, was du sagen wolltest?

  2. #2
    Also beim Ace ist die Länge des Codes erstmal zweitrangig solange man die Befehle so einstellt das nicht gewaited wird und auch so keine Waits vorkommen, bis auf
    das 1Frame Wait bzw 0.0Frame Wait beim alten Maker am Ende der Schleife.

    Wenn ich also z.B 20 Paralelle Events habe die alle nur kleinkram abfragen, so kann das schon zu Problemen führen wenn man wenig Performance über hat.
    Es war bisher aber kein Problem ein Paralelles Event laufen zu haben, das bis zu paarhundert Conditonal Branches pro Frame abfragt.

    Probleme können auch auftreten wenn man zuviele Sachen jeden Frame erneuert.
    z.B mein Kampfsystem.
    Damals hab ich die Koordinaten für die Events jeden Frame neubestimmt, zusätzlich wurde dann noch eine Trefferabfrage durchgeführt und weil mein Geschoss ein Event war,
    so wurde die Trefferabfrage jeden Frame durchgeführt auf der 10 Felder langen Strecke bis zum Ziel. Da verzehnfacht bis sogar noch wesentlich mehr vermehrt sich der Code.

    Heutzutage läuft nur noch die eine Actionstastenabfrage in der Schleife und alles andere wird einmalig ausgeführt wenn man es brauch.
    Das geht besonders gut duch Call Common Events, deine common Events dürfen also normalerweise nie laufen und keine Bedingung haben.
    So das sie immer ein aufrufendes Event brauchen , das ist sparsamm.
    Manchmal ist es aber ok sachen in ein weitteres Paralelles Event einzubauen.
    z.B eine Miene, das Paralelle Mienen Common Event wird erst aktiv wenn die Miene gelegt wurde und schaltet sich beim Mapwechsel aus sollte auf der nächsten Map keine Miene liegen.
    So hab ich zwar Zeitweise ein zweites Paralelles Event am laufen, aber es ist ok.
    Manchmal geht benutzerfreundlichkeit halt über das Ziel alles in einen Codestrang zu packen.


    Edit: Beim Ace ist häufige Lag ursache: Viele haben einen Set Moveroute Befehl in einer Schleife der den Set Moveroute Befehl des Players jeden Frame neu aufruft obwohls nur einmalig müsste. Dadurch entsteht spürbares Lag. Hatte neulich jemand mit seiner Lauffunktion.

    Geändert von Bex (11.07.2013 um 10:19 Uhr)

  3. #3
    Zitat Zitat von IndependentArt Beitrag anzeigen
    [1]Liegt es an mir oder sind deine Aussagen widersprüchlich?[...]
    [2]"Die Zeitmessung ist ja so oder so nicht genau, also macht es auch nix, wenn sie noch bisschen ungenauer wird."
    zu [1]: Nein. Generell ist dein Ansatz durchaus clever, zumindest cleverer wie der anderer Helden, die lieber alles in einzelne CEs packen weil es einfacher ist und nachher meckern "Buh, mein Spiel hat nur 55 PPs zeitgleich und ruckelt >.<"
    zu [2]: Ich bezwecke nicht dir zu sagen welche Kompromisse du in welcher Form eingehen solltest. Ich möchte dir die Tatsachen aufzeigen um dir zu erlauben einen Antwort zu finden, die deinen Prioritäten entspricht.

    Kurzfassung:
    • PPs zusammen fassen ist generell eine gute, für die Performance förderliche Sache
    • Zeitmessung per PP ist technisch bedingt immer ungenau
    • Einen Zeitmessungs-PP mit anderen PPs zu kombinieren macht die Messung noch ungenauer.


    Jetzt liegt es an dir. Niemand hier kennt dein Spiel und dann wissen welche PPs du wo hast und welche Variante die optimalste ist. Je nach PPs kann es locker flockig problemlos sein die Zeitmessung UND das andere PP zeitgleich zu haben. Die Chance dazu ist recht hoch. Vor Jahren hatte man noch viel schwächere PCs und es wurde noch schlampiger gescriptet, einfach weil man sich noch weniger Gedanken machte und meist gings auch gut.
    Wenn du jetzt X verschiedene grafische Anzeigen, Koordinatenabfragen etc hast, dann könntest du überlegen die in den selben PP zu packen.

  4. #4
    @Corti
    Warum eigentlich eine Schleife in einer Schleife, also ein Sprung zum Label in einem ich sage mal "Thread", der sowieso immer wieder von vorne anfängt? Vielleicht hab ich auch nur missverstanden worum es eigentlich geht.

  5. #5
    Hrm~ gute Frage Ist in diesem Fall wohl eher nicht nötig. Ich hab in dem Beispiel alles intuitiv und aus Gewohnheit mit Labels gemacht.Was speziell die Zeitmessung angeht, das kann man sicherlich auch in der Hauptschleife des CEs machen.

  6. #6
    Wobei die Zeitmessung per PP immer ungenau sein wird, da PP's meines Wissens nach z.B. während eines Map-Übergangs nicht weiterlaufen. Auch überhaupt ein Wait mit in das PP zu setzen macht die ganze Sache schon ungenauer, da bei einem Wait von 1.0s schon ein 1.0s wait + ein 0.0 wait "ausgeführt" werden.

    PeAcE
    MorDen

  7. #7
    Okay, ich werd es einfach mal ausprobieren. Auch vielleicht die Zeit mit und ohne zusätzliche Prozesse messen.

    Zur Zeitmessung speziell gab es übrigens schonmal nen anderen Thread von mir, also die Diskussion nicht unbedingt darauf jetzt ausweiten. ^^

  8. #8
    Warum nutzt ihr eigentlich nicht einfach den timer, wenn ihr genaue Zeitangaben haben wollt? Der müsste doch genauer sein.

  9. #9
    Und läuft im Kampf weiter wenn man will~ ;-)

  10. #10
    Darüber hab ich noch nicht nachgedacht.

    Außerdem würde das ja den ganzen Thread zunichte machen, weil ich dann keinen PP mehr brauche ^^ Wobei, doch, um Minuten und Stunden abzurechnen möglicherweise.

    Geändert von IndependentArt (11.07.2013 um 11:37 Uhr)

Berechtigungen

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