PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zu viele Pictures verursachen Lags...



djeurissen
13.08.2012, 03:24
Hallo,

da ich an einem Menü arbeite und ich dort jedes Item und die Stackanzahl seperat durch ein Picture anzeigen lasse, komme ich bis jetzt auf insgesamt 73 Pictures die wenn das Inventar voll ist angezeigt werden und das dann alle aufeinmal.

Das Problem dabei ist eben nur, sollte man das Inventar nun aufrufen müssen diese Pictures alle aufeinmal geladen werden und das sorgt für einen kurzen Lag. Das große Problem dabei ist, das diese auch angezeigt werden wenn man einfach durchs Menü durchblättert es gibt also auch immer einen Ruckler wenn man nur die Unterpunkte ansieht...
Natürlich könnte ich die Picture Anzahl senken indem ich für jedes Item einfach ein Bild mit der entsprechenden Stackzahl drauf mache, aber das würde erstmal mein komplettes bisheriges Skript zerstören und es wäre mir viel zu Umständlich jedesmal extra dafür so eine Fummelei zu veranstalten, wenn ich ein Item erstellen will...

Naja, gibt es keinen Patch der diese Ruckler behebt? Oder ist es überhaupt möglich dafür einen Patch zu erstellen?

RPG Hacker
13.08.2012, 11:21
Probier mal, einfach ganz am Anfang des Spiels (während eines Blackscreens) alle Grafiken, die du für dein Menü brauchst, mit Move Picture anzuzeigen. Soweit ich informiert bin lädt der RPG Maker die Bilder dann in den RAM und lässt sie auch erstmal dort verweilen und sind Bilder erstmal im RAM, sollte sich das Menü sehr viel schneller öffnen.

Corti
13.08.2012, 11:44
Afaik kann man mittlerweile 1000 Pictures haben dank Cherrypatch. Besorg dir diesen 1000 Pictures-Patch, lade die Pictures bei Spielbeginn und benutz nur noch MovePicture um sie ein- und auszublenden. Pictures im Speicher werden afaik beim Speichern und Laden des Spiels automatisch mitverwaltet, solltest also nicht davor stehen, dass die irgendwann nicht mehr auf den entsprechenden IDs zu finden sind, solange du die nicht eigenständig löscht.

Da du bei den Zahlen für die Anzahl jeweils unterschiedliche Zahlenbilder benötigst solltest du dir "Zahlenstreifen" zulegen, die alle Zahlen enthalten wovon aber jeweils nur eine im Bild ist. Beispiel:

Blau = Angezeigter Bildschirmausschnitt
Grün = Zahlenpicture
14879

djeurissen
13.08.2012, 12:15
Hmm, ich blick da nicht ganz durch^^...
Also ich soll die Bilder alle am Anfang laden und sie ganz unsichtbar machen? Und dann eben nur sichtbar machen wenn ich sie brauche?
Das sollte ja nicht allzu schwer sein...

Wobei mir dieser Zahlenstreifen auch nicht mehr Arbeit erspart, da die Items eh nur unter dem 10 Bereich stackbar sind, das heißt ich benötige niemals 2 Bilder um die Stackanzahl anzuzeigen. Würde ich diesen Zahlenstreifen nun nehmen, hätte ich trotzdem die gleiche Picture Anzahl und ich hätte es noch komplizierter gelöst, als ich es jetzt habe...

Kelven
13.08.2012, 12:21
Kann man mit dem Trick Lags wirklich ganz vermeiden? Bei mir war das mal so: 50 Gegner, sobald man einen berührt, wurde eine Animation mit Picture angezeigt (es wurde vergrößert und transparenter, bis nichts mehr zu sehen war). Danach wurde der Gegner per Switch abgeschaltet, das unsichtbare Bild blieb. Als ich dann eine Sieges-Battle-Animation abspielte, dauerte dort jeder Frame mehrere Sekunden. Auf schwächeren Rechner wohl sogar Minuten. xD

djeurissen
13.08.2012, 12:23
Urg, das wäre ja wirklich schlecht wenn das die Battle Animationen verlangsamt D:...
Auf die bin ich angewiesen XD...

Edit: Naja andererseits, kann man die Pictures ja löschen sobald eine Animation angezeigt werden soll und sie dann wieder anzeigen, was natürlich Sinnvoll ist wenn gerade ein Kampf beginnt und es dort BattleAnimationen regnet...

Corti
13.08.2012, 12:28
Unsichtbare Bilder verlangsamen BattleAnimationen? O________o

RPG Hacker
13.08.2012, 14:41
Unsichtbare Bilder verlangsamen BattleAnimationen? O________o

Unsichtbare Bilder verlangsamen ALLES, weil es eben nur unsichtbare Bilder sind und keine Bilder, die gar nicht erst angezeigt werden. Das heißt die Software geht alle Berechnungen durch die nötig sind um ein Bild auf 100% Transparenz anzuzeigen, jedoch ohne sichtbares Ergebnis. Außer ASCII/Enterbrain waren damals klug genug ein Bild bei 100% Transparenz einfach ganz wegzulassen, aber das bezweifle ich.

Corti
13.08.2012, 16:13
Soll heissen du bist dir vollkommen sicher, wie es ist und warum das so ist obwohl du keinerlei Information besitzt, die das begründet?

Sabaku
13.08.2012, 16:21
War es nicht so gewesen, das Transparents bei Battle Animations auch zu lags führen konnte? Zumindest hab ich das schonmal bei einem Kollegen beobachtet. Ich könnte mir also vorstellen, das es bei Pictures einen ähnlichen Effekt geben könnte.(aber ich kanns nicht beschwören)

caesa_andy
13.08.2012, 16:25
Ich bin kein Meister, was pictures auf den alten makern angehet, aber wenn deine Lösung funktioniert Corti, sollte dann dieses Problem


Das große Problem dabei ist, das diese auch angezeigt werden wenn man einfach durchs Menü durchblättert es gibt also auch immer einen Ruckler wenn man nur die Unterpunkte ansieht...

nicht eigentlich überhaupt nicht auftreten? Ich meine wenn, alle Bilder, die einmal im Speicher sind, dort dauerhaft bleiben, dann sollte doch beim einem nachträglichen Aufruf des menüs, bzw. beim Durchblättern des selbigen, überhaupt kein Lag mehr entstehen?

... würde das nicht heißen, dass der Fehler eigentlich ganz wo anders liegt, als bei den Pictures?

djeurissen
13.08.2012, 16:43
Nein, es tritt kein Ruckler auf wenn ich jetzt den Unterpunkt auswähle, sondern es kommt noch ein Ruckler dazu wenn ich das Menü aufrufe...
Habe das ganze vielleicht etwas blöd formultiert^^...

MajinSonic
13.08.2012, 19:19
Ich hatte mit BA's noch NIEMALS ruckeleffekte. Nur im "pictures in battle" patch. Da gabs das Problem. Ansonsten....gar kein Ding.

Also, diesbezüglich hatte ich echt keine Probleme....

Das höre ich zum ersten Mal...

LG

Cherry
13.08.2012, 21:33
Soll heissen du bist dir vollkommen sicher, wie es ist und warum das so ist obwohl du keinerlei Information besitzt, die das begründet?

Ich kann, wenn ich zu Hause bin (was ich grade nicht bin) ja mal in den Programmcode kucken ob da eine Bedingung drin ist, ich meine aber mich zu erinnern, dass da sowas in der Art da war...

djeurissen
13.08.2012, 22:12
Hmm verdammt, ich wollte gerademal mein Skript umschreiben sodass ich die Bilder nicht immer aufrufen muss... Und dabei ist mir aufgefallen das ich die Bilder so oder so immer aufrufen muss und das nicht erst am Anfang des Spiels und dann nie wieder...

Da sich die Items im Inventar ja immer verändern, verändern sich auch die Bilder. Natürlich könnte ich das ganze so lösen indem ich wieder diesen Streifen nehme, der mir Vorgeschlagen wurde aber das würde schon bei 100 Items im Chaos enden. Und zudem bezweifle ich das der Maker so große Bilder überhaupt zulässt...
Zudem habe ich die Items schon in Kategorien unterteilt und ihnen die jeweilige Item ID gegeben und um sicher zu gehen habe ich natürlich sehr großzügig gehandelt was die Verteilung angeht. Insgesamt habe ich also 14000 Items die dann auf den Streifen passen müssten. Und wenn ich die nicht belegten Item ID's einfach nicht mit auf den Streifen nehme, dann werde ich irgendwann keinen Überblick mehr haben wo welches Item hinkommt. Es würde im Chaos enden, so wie ich mich kenne...

Kelven
14.08.2012, 10:06
Werden die Gegenstände eigentlich als Text oder als Grafik dargestellt? Wenn es nur Text ist, könntest du ja diesen einen Patch benutzen, mit dem man Text auf Pictures zeichnen kann. Damit würdest du dir wohl eine Menge Arbeit sparen.

Cherry
14.08.2012, 11:06
Die optimale Lösung wäre sowieso ein DynRPG Plugin was Spritesheets laden kann und Teile davon anzeigt. Geht aber beim 2k schon mit dem Destiny Patch...

djeurissen
14.08.2012, 11:14
Nope, ich lasse sie als Bild anzeigen^^. Soll eben Rollenspiel Typisch rüberkommen, ich mag diese Listenartige aufstellung nicht...

Was mir gerade noch eingefallen ist, das ich es einfach mit Cherrys PicPointerPatch mache und immer wenn sich ein Item verändert, das ich es lösche und durch das neue ersetze... War gestern wohl zu müde um da selber drauf zu kommen.

MagicMaker
14.08.2012, 11:45
Spritesheets laden kann und Teile davon anzeigt. Geht aber beim 2k schon mit dem Destiny Patch...
Den Tipp hätt ich auch gegeben, wenn man dann nicht in einer Palette für alle Bilder gefangen wäre.
Und ich möchte hier eigentlich niemandem zumuten, auf solche Konsolenspieltricksereien wie
Multipaletten zugreifen zu müssen, zumal die Anfertigung der Paletten und einer Sheetgrafik die
sich daran anpassen kann sehr schwer sein dürfte.

Mein Itemmenü das auch Icons benutzt laggt jedenfalls auch, aber da werden nunmal viele Dateien
gleichzeitig geladen, kann ich nicht viel gegen machen. Nur die Zahlenanzeigen lasse ich aus einem
Sheet für alle in ein einziges Pic kopieren.

BlueGesyr
17.08.2012, 21:09
Den Tipp hätt ich auch gegeben, wenn man dann nicht in einer Palette für alle Bilder gefangen wäre.
Und ich möchte hier eigentlich niemandem zumuten, auf solche Konsolenspieltricksereien wie
Multipaletten zugreifen zu müssen, zumal die Anfertigung der Paletten und einer Sheetgrafik die
sich daran anpassen kann sehr schwer sein dürfte.
Bei Icons sollte das doch i.d.R. kein großes Problem sein? Mit 256 Farben lässt sich da schon einiges machen - zumindest in einem Makerspiel. Falls die Bilder größer bzw. farbreicher sein sollen, muss man eben auf mehrere Pictures zurückzugreifen. Jedoch lassen sich 1024 Farben mit recht wenig Aufwand in 8 Pictures realisieren, bzw. mit etwas mehr Aufwand in 5 Pictures.