Domanda

Questo è il mio primo "gioco" a cui sto lavorando in C ++ utilizzando OpenGL per la grafica e SDL per l'applicazione. Il mio codice sembra funzionare come io sono in grado di creare una finestra di applicazione funzionale e completamente caricare e disegnare una texture con la libreria Diavolo Texture. Il problema si pone in fase di esecuzione. Il mio utilizzo della memoria, in base al Task Manager di Windows, parte da circa 13.900, ma cresce costantemente fino a circa 15.000 dopo 4 minuti o giù di lì e poi si ferma. È normale? È Task Manager di Windows un modo impreciso di visualizzazione di memoria?

È stato utile?

Soluzione

potrebbero essere alcune perdite di memoria nel codice, vale a dire non liberato pointers..etc ...

Su Linux, vorrei utilizzare Valgrind di controllare questo in fase di esecuzione. Non sono sicuro di quale sia l'equivalente è per Windows. Questo inviare dovrebbe puntare nella giusta direzione per trovare un strumento equivalente

Saluti

Altri suggerimenti

Se stai facendo allocazione dinamica della memoria e deallocazione durante l'esecuzione della vostra applicazione, potrebbe essere che si sta frammentando la memoria e solo bisogno di tanto per affrontare tutti i "slop" intorno alla frammentazione.

Ho usato il pacchetto MMGR da http://www.fluidstudios.com/ prima di monitorare il mio utilizzo della memoria. In sostanza si permette di dump di grandi informazioni su tutte le assegnazioni nel programma, in modo da poter tenere traccia di un fotogramma all'altro per vedere cosa sta succedendo.

In bocca al lupo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top