Life in Slavery

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Life in Slavery

Beitrag 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
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Re: Life in Slavery

Beitrag von dllfreak2001 »

Bei den wenigen Sounds kannst du sie ja direkt beim Programmstart laden anstatt beim Start eines Levels.
I´a dllfreak2001
Benutzeravatar
kswb73
Beiträge: 319
Registriert: 04.02.2008 16:51
Kontaktdaten:

Re: Life in Slavery

Beitrag 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.
Windows XP: PB 4.31, PB 4.4, PB 4.51
Open Suse 11.2: PB 4.4
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Re: Life in Slavery

Beitrag 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.
I´a dllfreak2001
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Re: Life in Slavery

Beitrag 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.
I´a dllfreak2001
Benutzeravatar
Shadow-Gamer
Beiträge: 152
Registriert: 06.09.2009 13:31
Computerausstattung: NB: Intel P8700, Mobility ATI HD4650, 4GB, Win 7

Re: Life in Slavery

Beitrag von Shadow-Gamer »

1. Eindruck geiles Spiel u. geile Webseite

werde es morgen mal durchspielen

greeeeeeeetttts...
Ich versuche ja nicht faul zu sein. :)
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Life in Slavery

Beitrag von RSBasic »

Danke fürs Spielen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
darius676
Beiträge: 501
Registriert: 08.03.2010 22:12
Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X
Wohnort: AT
Kontaktdaten:

Re: Life in Slavery

Beitrag von darius676 »

-gelöscht
Zuletzt geändert von darius676 am 23.04.2010 20:01, insgesamt 1-mal geändert.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: Life in Slavery

Beitrag 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.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Life in Slavery

Beitrag 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?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten