Seite 3 von 5

Re: Life in Slavery

Verfasst: 08.12.2009 18:40
von RSBasic
Ich hab mal das Laden analysiert.

Ich hab in zwei Teilen aufgeteilt:
1. Laden der Grafiken
2. Laden der Sounds

Folgendes Ergebnis:
1. 312ms
2. 827ms (+515ms)
Was am längsten dauert, ist das Laden der Sounds, aber wie kann ich da am besten optimieren?

\\Edit:
Ich hab grad von DarkDragon erfahren, dass man die Sounds auch streamen kann.
Werd ich mal am Wochenende ausprobieren.

Falls ihr eine andere Möglichkeit kennt, Bild

Re: Life in Slavery

Verfasst: 08.12.2009 18:58
von dllfreak2001
Bei den wenigen Sounds kannst du sie ja direkt beim Programmstart laden anstatt beim Start eines Levels.

Re: Life in Slavery

Verfasst: 08.12.2009 19:06
von kswb73
Oder du lädst die Sounds mit #PB_Sound_Streaming. Das bewirkt das nicht der ganze Sound direkt geladen wird, sondern erst beim abspielen. Ich hab damit allerdings noch keine Erfahrung gemacht.

Re: Life in Slavery

Verfasst: 08.12.2009 21:06
von dllfreak2001
Ich könnte mir vorstellen, dass das große Latenzen verursacht.

Also Spielesunds die Feedback geben sollen würde ich auch nicht streamen.

Re: Life in Slavery

Verfasst: 12.12.2009 18:36
von dllfreak2001
:bounce: Hab es endlich durchgespielt!
Sehr schönes Spiel.

Was mich verwirrt ist aber die Geschichte: e
Ein Alien mit einem Alienkumpel der Tom heißt wird in
einem Wald entführt und in einem unterirdischen Hoch-Sicherheitstrakt eingesperrt.

Re: Life in Slavery

Verfasst: 14.12.2009 22:42
von Shadow-Gamer
1. Eindruck geiles Spiel u. geile Webseite

werde es morgen mal durchspielen

greeeeeeeetttts...

Re: Life in Slavery

Verfasst: 28.12.2009 18:29
von RSBasic
Danke fürs Spielen.

Re: Life in Slavery

Verfasst: 09.03.2010 00:07
von darius676
-gelöscht

Re: Life in Slavery

Verfasst: 10.03.2010 18:59
von Thorium
Zum Optimieren vom Ressourcenladen:

Ich hab mir das jetzt nicht angeschaut und weis nicht was du verwendest aber es ist gängig die Ressourcen zu komprimieren um die schneller Laden zu können. Da muss man schauen welche Kompression ein passendes Verhältniss von Kompressionsrate zu Dekomprimierungsgeschwindigkeit liefert. In jedem Fall kannst du aber davon ausgehen das die Festplatte die langsamste Komponente im System ist und sich die CPU beim laden der Daten langweilt. Selbst bei meiner schnellen SSD platte läuft meine CPU grad mal auf 2% Auslasstung, wenn sie von der SSD läd. Also warum nicht die restlichen 98% nutzen zum dekomprimieren?

Und wirklich gut bist du, wenn du lädst und dekomprimierst zur gleichen Zeit. Also ein Thread der die Ressourcen nacheinander läd und ein weiterer Thread der sie dekomprimiert. Damit kannst du das maximum an Performance beim laden rausholen.

Aber nicht alle Kompressionen lohnen sich. Z.B. JPEG ist sehr langsam, meist zu langsam und resultiert in Geschwindigkeitseinbusen beim Laden im Vergleich mit PNG.

Bei den Sounds denke ich mal nutzt du OGG, wenn nicht dann solltest du das tun. ^^
Wenn es Sounds gibt von dehnen du weisst das sie am Anfang des Levels noch nicht gebraucht werden, kannst du sie auch wärend der Spieler das Level spielt schon laden, bevor sie benötigt werden. Threads machens möglich.

Re: Life in Slavery

Verfasst: 11.03.2010 18:14
von RSBasic
@darius676
Naja, diese Hauptgrafiken wie das schwarze und rote Overlay werden schon zu Beginn des Spiels geladen.

@Thorium
Bei meinem Spiel verwende ich für meine Grafiken das PNG-Format.
Ist klein und verlustfrei (Qualität).

Die Sounds sind im OGG-Format.

Ich habs so geregelt, dass am Anfang des Spiels (vor Hauptmenü) die Main-Grafiken (wie zum Beispiel das schwarze und rote Overlay und die Menü-Grafiken) und Main-Sounds geladen werden.
Das Laden vor dem Hauptmenü ist nicht merkbar.

Wenn man ein Level startet, dann werden nur die Grafiken und Sounds geladen, die wirklich benötigt werden, also kommt darauf an, welches Level man startet.
Trotzdem dauert das Laden schon ein bisschen bzw. bei einigen, die nicht so guten PC haben.

Bei mir jedenfalls dauert das Laden circa eine Sekunde. Höchstens zwei, aber mehr auch nicht.

Das Laden der Grafiken dauert bei mir: 0,312 Sekunden
Und das Laden der Sounds dauert bei mir: 0,827 Sekunden
Also insgesamt 1,139 Sekunden.

Ich hab schon nachgeguckt, wie ich es am besten optimieren kann.
Aber da gibt es nichts zum Optimieren.

Das einzige, was man höchstens machen kann (danke für diese Idee :)), ist, dass man die Grafiken und Sounds parallel im Hintergrund automatisch lädt.
Man kann das Laden schon im Hauptmenü beginnen und bis man auf den Button fürs Starten geklickt hat, sind bestimmt so 2 Sekunden vergangen und in dieser Zeit kann das Spiel ja auch vorladen.
Somit kann man auch Zeit sparen und das Laden nachher wird dann verkürzt.

Aber ich werd erstmal später irgendwann nachgucken und ausprobieren.

Falls diese Methode sehr gut funktioniert, so dass das Laden später verkürzt wird oder noch besser komplett wegfällt, werde ich einen Patch veröffentlichen.

--------------------------------------------------

Ich hab mal eine andere Frage, die für mich sehr wichtig ist, und zwar:
Da ich für mein Spiel nicht so viele Feedbacks bekommen habe (ich habe eigentlich mehr erwartet und fand es sehr traurig, da meine Arbeit/mein Aufwand schon ziemlich hoch war), frage ich euch lieber vorher, ob es sinnvoll ist bzw, ob es sich lohnt, wenn ich ein Teil 2 für LiS programmiere?
Also ich würde es vielleicht gerne tun wollen, aber bin mir nicht so ganz sicher, da es schon sehr aufwändig war, ein Spiel zu programmieren.
Es hat zwar Spaß gemacht (ab und zu, wenn es geklappt hat und wenn keine Bugs in Sicht waren :D) und habe Erfahrungen gesammelt, aber der Aufwand war schon krass für mich, da ich auch kein Level-Editor für LiS programmiert habe.
Daher habe ich meine Levels einzeln programmiert.
Vorallem bin ich auch kein Profi, da das mein erstes Spiel ist.

Was meint ihr? Ich kann zwar nicht sagen, wann ich und überhaupt ein Teil 2 programmieren werde, aber fandet ihr das Spiel gut und wollt ein Teil 2?