Vecka sju: Optimering
|
Hej alla kära läsare, Emil här Det har gått ett par dagar sedan vi visade vår Beta och under den tiden har jag fokuserat på att optimera vår kod. Anledningen till varför jag valde att fokusera på denna uppgift var för att vi har haft ett stort problem med lagg och det är inte den enklaste koden i världen att läsa heller. Genom fixa detta problem kommer vi att kunna jobba mer effektivt och vi kommer kunna lägga till fler saker i spelet så att vår vision äntligen kan visas upp. Det första jag gjorde var att göra vår main klass ännu kortare och simplare, jag gjorde detta genom att skapa en ny klass som utför allt som main tidigare gjorde och som nu main kan kalla på. Det gör ingen skillnad men koden blir snyggare och enklare att förstå. Sedan gick jag vidare till vår GameState klass. Det är här skälva spelet utförs. Det är ganska mycket kod att gå igenom men ett problem som jag märkte var att vi laddar i alldeles för mycket texture. Texter är en ganska krävande sak som används för att rita ut allt på skärmen. Så alla våra objekt använder sig av den t.ex. Backgrund, spelare, fienden skott. Så om vi skapar tre fienden så kommer de alla att använda sig av olika textures men de använder sig fortfarande av samma bild, detta är onödigt och krävande. För att ta reda på hur mycket snabbare programmet kör har jag startat en klocka i början av de stora funktionerna och sedan skrivit ut/startat om tiden i slutet.
Så det kommer att fixas genom att ladda in textures en gång och sedan om ett objekt vill använda texturen så kommer den att peka på den istället för att ha sin egen. På skärmen kommer man inte kunna se någon skillnad så grafikerna kommer inte vara så glada men detta kommer att göra så att vi kan göra spelet större utan att ens dator exploderar. Det som först kommer att behövas är en klass som hanterar textures och den är dock inte riktigt klar än. En annan sak som jag märkte var att vi även hanterade ljud/musik på ett liknande sätt som texture. Så detta måste också fixas med hjälp av an klass som hanterar alla ljud och musik. denna vecka har mest gått åt till att lokalisera allting som behöver optimeras och det är därför inte allt arbete är riktigt klart. Men jag har en till dag på mig och då borde inte vara något problem med att bli klar med allt. Tack och hej! |
