2010-03-20 4 views
0

Ceci est mon premier "jeu" sur lequel je travaille en C++ en utilisant OpenGL pour les graphiques et SDL pour l'application. Mon code semble fonctionner car je suis capable de créer une fenêtre d'application fonctionnelle et de charger et dessiner complètement une texture avec la bibliothèque Devil Texture. Le problème survient à l'exécution. Mon utilisation de la mémoire, selon Windows Task Manager, commence à environ 13 900, mais augmente régulièrement à environ 15 000 après 4 minutes environ, puis s'arrête. Est-ce normal? Windows Task Manager est-il un moyen inexact d'afficher la mémoire?Croissance de la mémoire OpenGL/SDL Mystery

Répondre

2

Peut-être quelques fuites de mémoire dans votre code, à savoir non libéré pointers..etc ...

Sur Linux, j'utiliser Valgrind vérifier lors de l'exécution. Je ne suis pas sûr de ce que l'équivalent est pour Windows. Ce post devrait vous orienter dans la bonne direction pour trouver un outil équivalent

Vive

1

Si vous faites l'allocation dynamique de la mémoire et désallocation lors de l'exécution de votre application, il se pourrait que vous fragmenter la mémoire et juste besoin de beaucoup pour faire face à tous les "slop" autour de la fragmentation.

J'ai utilisé le package MMGR de http://www.fluidstudios.com/ avant de suivre mon utilisation de la mémoire. Fondamentalement, il vous permet de déverser de superbes informations sur toutes les allocations dans votre programme, de sorte que vous pouvez suivre d'image en image pour voir ce qui se passe.

Bonne chance.

Questions connexes