Ergebnis 1 bis 20 von 2331

Thema: Programmwunsch und -erstellungsthread #2

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Such mal bugmenots Posts durch. Irgendwo hat er was gemacht mit Optimierung der Performance, war aber ein Fix und kein Plugin.

  2. #2
    Zitat Zitat von Corti Beitrag anzeigen
    Such mal bugmenots Posts durch. Irgendwo hat er was gemacht mit Optimierung der Performance, war aber ein Fix und kein Plugin.
    >>AntiLagSwitch<<?

  3. #3
    Ja, den kenn' ich schon. Aber ich meine genau noch so etwas.

    Eigentlich suche ich auch viel mehr etwas, was die Route von Events erst beginnen lässt, wenn sie in Bildschirmnähe auftauchen. Aber beim XP hat das mit diesem Script auch funktioniert... :/

  4. #4
    Zitat Zitat von Stray Beitrag anzeigen
    etwas, was die Route von Events erst beginnen lässt, wenn sie in Bildschirmnähe auftauchen
    Nennt sich Logik und eine Prise Mathematik. Vielleicht noch ein bisschen Coden mit den Funktionen, die dir das Werkzeug (mit dem du arbeitest) bereits zur Verfügung stellt.

    Wenn es trotzdem ruckelt, kannst du ja posten, welche Eventbefehle du am meisten ausführen lässt. Lösungen gibt es nur für definierbare Probleme.

    Zitat Zitat von Stray Beitrag anzeigen
    [...]Route von Events erst beginnen lässt, wenn sie in Bildschirmnähe auftauchen. Aber beim XP hat das mit diesem Script auch funktioniert
    Entschuldigung, dass ich dem jetzt ohne gentleman'sche Wortwahl antworte, aber das klingt dämlich. Also das Konzept von "Was nicht auf dem Screen ist, wird nicht aktualisiert".


    Die VXP-Reihe leidet an irgendetwas anderem, was die Performance so grottig werden lässt.

    Da helfen auch keine asynchronen Wasserfallgrafiken.

  5. #5
    Na gut. Es hat beim RmXP damals zumindest geholfen. Es hat natürlich nicht das Problem beseitigt, dass der RPGXP ohnehin viele Ressourcen frisst usw.

    Es geht dabei auch um eine ganze Menge Events, da es ja sonst nicht laggen würde. Es wäre nämlich etwas großer Aufwand für eine große Anzahl an Ereignissen eine Horde an extra Variablen und co. für die Berechnung dessen, wann ein solches im Bildschirmbereich auftaucht aufzustellen und für jedes davon gesondert anpassen zu lassen.
    Aber es war nur eine kleine Idee und sicher ist die Performance vom Rm2k(3) in den meisten Fällen auch gut genug.

    Geändert von Stray (01.08.2014 um 19:56 Uhr)

  6. #6
    Die Performance sämtlicher RPG Maker ist mit Ausnahme des XP hervorragend. Es sei denn, du hast einen wirklich alten PC.

    Beim XP hilft wiederum die Fusion mit dem VX Ace, d.h. du benutzt den RMXP mit RGSS3. Sofern du Skripte benutzt, müssten die dafür aber extra abgeändert werden.

    Die 2k-/2k3-Performance-Schwierigkeiten resultieren dagegen meistens aus diesen Sachen:
    - größere, rotierende Pictures (nicht bei jedem PC)
    - keine 0.0s oder 0.1s waits am Ende eines parallelen Prozesses
    - zu riesige Maps mit zuvielen Objektcharsets

    *senf

  7. #7
    Zitat Zitat von Davy Jones Beitrag anzeigen
    Beim XP hilft wiederum die Fusion mit dem VX Ace, d.h. du benutzt den RMXP mit RGSS3. Sofern du Skripte benutzt, müssten die dafür aber extra abgeändert werden.
    Soweit ich weiß funktioniert dann die native Encryption vom XP allerdings ebenfalls nicht mehr.

  8. #8
    Zitat Zitat von Stray Beitrag anzeigen
    eine ganze Menge Events, da es ja sonst nicht laggen würde.
    Sofern du nicht auf die Idee kommst mehr als 200 mal <MoveEvent> je Frame ausführen zu lassen. (Das kann man zB. mit einem 0.0 wait in 200er Blöcke aufteilen.) MovementRoutes sind da weniger anspruchsvoll im Hinblick auf Prozessorauslastung.



    Zitat Zitat von Stray Beitrag anzeigen
    großer Aufwand für eine große Anzahl an Ereignissen eine Horde an extra Variablen und co. für die Berechnung dessen, wann ein solches im Bildschirmbereich auftaucht
    Dazu braucht man insgesamt nur 5 (Hero_x, Hero_y, Event_ID, Event_x, Event_y). Für alle Events. Und nicht für jedes Event x Werte. Bei Differenz von Hero_x - Event_x falls kleiner -20 / größer +20 bzw. Differenz in y-Pos wird halt... ich weiß nicht... so eine Art SelfSwitch umgelegt, welcher die zweite EventPage aktiviert, bei der der MovementType auf [stationär] steht. Wenn das Event wieder im Screen ist -> SelfSwitch OFF, dann geht die MovementRoute soweit ich weiß da wieder weiter, wo sie unterbrochen wurde.

    Oder besser noch: Event_ID[xyz] bis Event_ID[zyx], welche sich in einem Bereich der Map aufhalten, erst stillegen, wenn man eine bestimmte Entfernung verzeichnet. Dann laufen die Events zumindest nicht mehr asynchron oder sonstwie ungeplant durcheinander. (Ich nehme mal an, auf das Problem stößt man mit dem XP Skript?)

    Item&EventPointer-Ersatz

    Aber es sieht auch irgendwo dämlich aus, wenn etwas, das aus dem Bild raus ist, auf einmal nicht mehr hinterherkommt.

    Geändert von bugmenot (01.08.2014 um 23:41 Uhr)

  9. #9
    Zitat Zitat von goldenroy Beitrag anzeigen
    Soweit ich weiß funktioniert dann die native Encryption vom XP allerdings ebenfalls nicht mehr.
    Die XP-Verschlüsselungen wurden schon vor Jahren geknackt, dementsprechend ist der Kram so unnötig wie ein Kropf.

    Geändert von Davy Jones (02.08.2014 um 18:07 Uhr)

  10. #10
    Ich möchte aber eine wirklich große Menge Events auf einer Map verwenden, die blöderweise alle gleichzeitig einen Parallelen Prozess bräuchten. Waits habe ich bereits überall eingefügt. Laggen tut es trotzdem immer wieder mal und ich bin mir nicht sicher, ob das auf jedem anderen Rechner noch genauso 'knapp-gut' läuft, obwohl mein Computer nicht gerade eine Low-End-Maschine ist. Er ist relativ neu und funktioniert gut.

    @bugmenot:
    Auch bei 5 Variablen wäre es bei der Menge an Events und den damit zu ersetzenden Variablen extrem, da in einem Event nicht nur die Werte abgespeichert werden, sondern auch in Bedingungen abgefragt werden, was auch wieder ersetzt werden muss. Ich benutze zur Zeit für jedes Event die selben Variablen, was verrückterweise sogar ganz okay funktioniert.

    Zitat Zitat
    Aber es sieht auch irgendwo dämlich aus, wenn etwas, das aus dem Bild raus ist, auf einmal nicht mehr hinterherkommt.
    In meinem Fall wäre es nicht so wichtig, weil es ein Sidescroller ist, bei dem sich der Bildschirm während des Spielens automatisch verschiebt.

    Geändert von Stray (14.08.2014 um 14:24 Uhr)

  11. #11
    Zitat Zitat von Stray Beitrag anzeigen
    Ich möchte aber eine wirklich große Menge Events auf einer Map verwenden, die blöderweise alle gleichzeitig einen Parallelen Prozess bräuchten. Waits habe ich bereits überall eingefügt. Laggen tut es trotzdem immer wieder mal und ich bin mir nicht sicher, ob das auf jedem anderen Rechner noch genauso 'knapp-gut' läuft, obwohl mein Computer nicht gerade eine Low-End-Maschine ist. Er ist relativ neu und funktioniert gut.
    Wäre es nicht sicherer und einfacher die Events von einem globalen Loop-Event zu callen? So hättest du a) nur einen PP und b) verhinderst du von vornherein, dass sich die Events - wenn sie die gleichen Variablen nutzen - gegenseitig in die Quere kommen.

    PeAcE
    MorDen

  12. #12
    Aber das würde ja bedeuten, dass man wieder für jedes einzelne Event neue Variablen schaffen muss - und gerade das will ich nicht.
    Die Überschneidung ist nicht das große Problem, denn die funktioniert sogar ganz gut, wenn man sie in den Griff kriegt.

    Geändert von Stray (27.08.2014 um 13:11 Uhr)

  13. #13
    Zitat Zitat von Stray Beitrag anzeigen
    Aber das würde ja bedeuten, dass man wieder für jedes einzelne Event neue Variablen schaffen muss - und gerade das will ich nicht.
    Die Überschneidung ist nicht das große Problem, denn die funktioniert sogar ganz gut, wenn man sie in den Griff kriegt.
    Hi Stray. Vielleicht misverstehe ich das Problem mit den eigenen Variablen aber vielleicht hilft dir meine Vorgehensweise bei solchen Sachverhalten.

    Ich benutze für den Rm2k den Destinypatch und habe auf meinen Maps bis zu 40 Events die sich per Call einer Datenbankevents registrieren.
    Im Anschluss daran wird in einem einzigen Event der Datenbank über die IDs geloopt und je nach Eventnamen zu der ID oder weiteren Infos reagiert.

    Dabei ist der Destinypatch unersetzlich, denn er hat die Möglichkeit ein Events per ID aus einer Variable fernzusteuern oder sogar ihr Aussehen zu verändern.
    Das Minimum was du brauchst ist eine reservierte Anzahl von Variablen des RPGMaker für die ID-Liste.

    Falls deine Events Gegner sind, die eine gewisse Energie haben brauchst du logischerweise für jeden Gegner mindestens eine eigene Variable für die Energie. Der DestinyPatch bietet hier zusätzlich eigene Datentypvariablen an, die hierfür sehr praktisch sind.
    Du kannst damit beispielsweise die HP-Variable in den dworten des Destinypatch zusammensetzen aus (MapID * 1000) + EventID.
    d.h. Event 1 auf Map 1 = d[1001]
    Event 90 auf Map 150 = d[150090]
    Der DestinyPatch lässt maximal 900.000 dworte zu, soweit ich weiß.
    Auf diese Weise kannst du deinen Events eigene globale Variablen zugestehen aber du kannst ganz ohne konkrete Variablen arbeiten indem du die entsprechende Variable immer über die Formel (MapID * 1000) + EventID = dwordPointer erhälst.

    Kann man überhaupt verstehen, was ich meine?

Berechtigungen

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