Permalänk
Medlem

Minnesläcka!

Hur hittar man en sån på ett enkelt sätt? Minnesanvändningen speedar upp med ca 1mb/s.. Jag har kollat igenom min lilla kod, men jag hittar inget som möjligtvist skulle kunna resultera i en minnesläcka. Förutom möjligtvist min linked list, men det läcker även om jag "kopplar bort" den.. Förutom den deklareras det inget nytt under spelets gång.
Så, har ni nå tips på hur jag hittar orsaken till detta? Eller en länk till en site där jag kan posta koden på om det behövs.

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell

Permalänk
Medlem
Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

Boundschecker säger jag bara

http://www.compuware.com/products/devpartner/visualc.htm
14 dagars trial version finns.. Och du borde nog kunna hitta felet inom 14 dagar

Visa signatur

Surf/jobbdator: i7 3770K | GA-Z77-D3H | 16 GB | Intel 510 + 750 GB | HD6870 2GB | 30'' | P180B
Server: Phenom X4 9500 | GA-MA78G-DS3H | 8 GB | 5.4 TB | YY-0221
Speldator: IBM PC XT | 8088 4.77 MHz | 640k | 10 MB HDD | EGA | 360k/720k diskett

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av MagnusL
www.rafb.net/paste

Tackar

Citat:

Ursprungligen inskrivet av snq
Boundschecker säger jag bara

http://www.compuware.com/products/devpartner/visualc.htm
14 dagars trial version finns.. Och du borde nog kunna hitta felet inom 14 dagar

Fint, nu kan jag sitta och vänta på att någon "validerar min request".. Yey?

http://rafb.net/paste/results/5AQCDs81.html
Där har vi den vesäntliga biten av koden iaf, jag tryckte in lite kommentrarer också, hoppas de säger något över huvud taget.

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell

Permalänk
Medlem

void printNumber(int n, int x, int y){ SDL_Surface *numbers = SDL_LoadBMP("numbers.bmp"); ...

.. ska den ladda bitmapen varje gång du printar siffrorna? ... Du anropar ju printNumber varje loop .. och laddar bilden varje gång .. men du förstör ju aldrig bilden ..

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

skriv en funktion där du laddar bitmappen när du startar programmet istället

Visa signatur

flippy @ Quakenet

Permalänk

Optimering is the shit.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av MagnusL

void printNumber(int n, int x, int y){ SDL_Surface *numbers = SDL_LoadBMP("numbers.bmp"); ...

.. ska den ladda bitmapen varje gång du printar siffrorna? ... Du anropar ju printNumber varje loop .. och laddar bilden varje gång .. men du förstör ju aldrig bilden ..

Jaaså, tackar då. Visste inte riktigt bilden låg kvar där.

Citat:

Ursprungligen inskrivet av alexandersson
Optimering is the shit.

Vad menar du?

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell

Permalänk

Näe, det var väll mera ett tråkig skämt.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av alexandersson
Näe, det var väll mera ett tråkig skämt.

Säg gärna vad du menar..
Är det dåligt skrivet vill jag givetvis veta varför, och hur det kan förbättras.

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell

Permalänk
Medlem

Teletubbie: ett tips .. hårdkoda inte värden direkt i koden , speciellt om du använder de många gånger.. använd #defines (eller möjligen konstanter), underlättar extremt mycket, både när man ska modifiera koden och när man ska debugga .. är ju väldigt lätt att skriva fel tal ibland ..

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

Du menar som 25, min tilesize? Förekommer en hel del i draw()..

alexandersson; hittade en liten sak att optimera nu, men stor var den inte. (två loopar i rad som går till 32 i draw())

Edit: Kommar faktiskt inte på nå mer än 25 (min tilesize) att definera, kanske var därför jag inte gjorde det förut.. ^^ Var ett tag sen jag skrev den biten.

Edit: Det fanns visst en anledning till att jag inte gjorde ihop de där två looparna i ett ändå.. Som sagt, var ett tag sen jag skrev den biten.

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell

Permalänk

Menade att du laddade om en BMP fil varje gång printNumbers användes.

Permalänk
Medlem

Oh.. Låter som precis det jag bad om att få veta i klartext. ^^
Anyways, tack alla! Nu flyter det på igen..

Visa signatur

"Some poor, phoneless fool is probably sitting next to a waterfall somewhere, totally unaware of how angry and scared he's supposed to be." - Duncan Trussell