Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Подвисает экзешник


Автор: xperienced 7.2.2008, 19:57
Брэйкпоинт на первой же строчке мэйна срабатывает секунд через 40 после запуска.
Жутко нагружается машина в это время (на первых же секундах память подскакивает метров до 500, потом довольно быстро спадает.)
Никакой динамической памяти нету вообще.
После этих аномалий начинает нормально функционировать.

Точно могу сказать что это не проблемы с дебаг-версией (в релизе то же самое). Проверялось на нескольких машинах - одно и то же.

Почему пишу сюда, в мультимедию? потому что при выкоменчивании всего что связано с glut'ом проблема исчезает.

Что это вообще может быть, что такого критического выполняется ещё до int main() ?

Идеи? может кто сталкивался?

Автор: JackYF 7.2.2008, 20:10
Цитата(xperienced @  7.2.2008,  18:57 Найти цитируемый пост)
Идеи? может кто сталкивался? 

Я - нет. Код показывай, при выкомменчивании которого всё хорошо.

Автор: xperienced 7.2.2008, 20:27
Там проект по графике очень много постить. Кинул в пм ссылку на архив.

Автор: xperienced 7.2.2008, 21:37
Извините, дал маху. Неделю уже копаю под glut, а тут закоментил всё аккуратненько и понял что gl тут не при чём. проблема вообще в другой степи, а именно:
Конструктор в классе ComplexNum. При его выкомменчивании лаг пропадает.

class ComplexNum
{
public:
    
    double Re, Im;

ComplexNum( double c1 = 0, double c2 = 0 ) 
    {
        Re = c1;
        Im = c2;
    }

.........
}

я реально не втыкаю как такое могёт быть

Автор: JackYF 7.2.2008, 21:40
Цитата(xperienced @  7.2.2008,  20:37 Найти цитируемый пост)
я реально не втыкаю как такое могёт быть 

сколько объектов типа ComplexNum у тебя создаётся?

Автор: xperienced 7.2.2008, 21:47
Пара-тройка. Да это не важно. я ж говорю: выкоменчивание ОДНОГО ТОЛЬКО конструктора избавляет от тормозов. 

Автор: JackYF 7.2.2008, 23:03
Цитата(xperienced @  7.2.2008,  20:47 Найти цитируемый пост)
я ж говорю: выкоменчивание ОДНОГО ТОЛЬКО конструктора избавляет от тормозов.  

мда... неинициализованные переменные? на другом компиляторе пробовал?
жалко, strace не сделать...

Автор: xperienced 8.2.2008, 00:04
Пробовал. VS6.0 , VS2003.NET . Одно и то же. Ну да чёрт с ним. можно и без конструктора. Главное что нашёл в чём дело. 
Хоть ничерта и не понял

Автор: xperienced 8.2.2008, 00:37
Цитата(JackYF @ 7.2.2008,  23:03)
 неинициализованные переменные?

Вопрос снимается. Случайненько так наткнулся на нехиленький массивчик ( эдак на сотенку миллиончиков комплЕксных ). 
Конструктор-то по умолчанию их всех и начинает забивать нулями.  

Огромное спасибо за помощь, JackYF.

Автор: atavinta 18.2.2008, 13:12
Раз вист первая строка, значит проблема с избытком статической памяти. Перенеси все, что можно в динамическую.

Автор: JackYF 18.2.2008, 14:47
atavinta, по-моему, вопрос уже давно решён.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)