Mystery OpenGL / SDL рост памяти - PullRequest
0 голосов
/ 20 марта 2010

Это моя первая «игра», над которой я работаю в C ++, используя OpenGL для графики и SDL для приложения. Мой код работает, поскольку я могу создать функциональное окно приложения, полностью загрузить и нарисовать текстуру с помощью библиотеки текстур Devil. Проблема возникает во время выполнения. По словам диспетчера задач Windows, использование моей памяти начинается примерно с 13 900, но через 4 минуты или около того постепенно увеличивается до 15 000, а затем прекращается. Это нормально? Является ли диспетчер задач Windows неточным способом просмотра памяти?

Ответы [ 2 ]

2 голосов
/ 22 марта 2010

Могут быть некоторые утечки памяти в вашем коде, т.е. не освобожденные указатели ... и т. Д.

В Linux я бы использовал Valgrind для проверки этого во время выполнения. Я не уверен, что эквивалент для Windows. Эта запись должна указать вам правильное направление для поиска эквивалентного инструмента

Приветствия

1 голос
/ 23 марта 2010

Если вы выполняете динамическое выделение и освобождение памяти во время выполнения вашего приложения, может случиться так, что вы фрагментируете память и вам просто нужно так много для того, чтобы справиться со всеми «скачками» вокруг фрагментации.

Я использовал пакет MMGR из http://www.fluidstudios.com/ прежде, чтобы отслеживать использование памяти. По сути, это позволяет вам получать полезную информацию обо всех распределениях в вашей программе, поэтому вы можете отслеживать кадр за кадром, чтобы увидеть, что происходит.

Удачи.

...