Cpu 6: Optimera prestanda

Cubeslam cpu 6

Prestanda var verkligen viktigt eftersom vi behövde göra plats för spelmotorn och speciellt webRTC-kodningen/avkodningen.

Jag kan nämna några av de saker jag implementerade:

Inaktiverad kantutjämning

En uppenbar sådan. Denna parameter har kopplats på/av så många gånger under utvecklingen. Jag ville verkligen ha det aktiverat, eftersom de många raka linjerna som kvadratiska objekt skapar, ser ganska taggiga ut, speciellt med alla långsamma kamerarörelser. Men prestandan på långsammare maskiner fick oss att ta beslutet att stänga av det som standard. Synd att du inte kan växla kantutjämning under körning.

Kantutjämning ersättningstrick

När man hade enkla plan, med bara ett grundläggande färgmaterial och ingen kantutjämning, såg det bättre ut att använda en textur istället och ha en liten stoppning i texturen. Sedan skapas den släta kanten av fragment-shadern. Så istället för att ha grafiken ända ut till kanten av texturen, lägg till ett litet utrymme före kanten för att tillåta texturfiltreringen att skapa en jämn kant åt dig. Kanske inte så bra för prestanda med extra texturuppslag, men det är alltid en balans. Hela arenan kunde ha varit en modell med en enda textur, men jag ville ha full och dynamisk kontroll över alla dimensioner och element.

Alternativ efter effekter

Postrenderingseffekterna var också för långsamma att implementera när rambudgeten var så restriktiv. Men vi har ett överlägg renderat ovanpå scenen, den dammiga tejpstrukturen och en skanningslinjeeffekt (linjerna togs bort i den slutliga versionen, men är valfria i inställningsmenyn). Detta skulle naturligtvis läggas till i ett eftereffektskede. Istället använde vi ett plan som läggs till som ett barn till kameran, placerat i en z-position med en specifik skala för att matcha skärmen.

Observera att planet kommer att vara en del av djupskrivningen så var försiktig på vilket avstånd du placerar planet och om du har geometri nära din kamera, annars kommer fragmenten att skrivas över av din scen. Utan djupskrivning måste du vara säker på att planet dras sist till skärmen. En begränsning är att du inte har tillgång till den förrenderade scenen, så effekter som skärpedjup, oskärpa eller färgkorrigering är inte möjliga.

Lämna ett svar

Din e-postadress kommer inte publiceras.