Странные результаты при запуске моей программы в gDebugger

Я пытаюсь запустить программу OpenGL через gDEBugger ( http://www.gremedy.com ) и Я вижу пару странных вещей:

  1. Кадры кажутся намного быстрее с gDEBugger. Например, если я обновляю позицию какого-либо объекта в каждом фрейме, он будет очень быстро летать по экрану, но когда программа будет запущена без gDEBugger, она будет двигаться гораздо медленнее.

  2. Странно, gDEBugger сообщает 8 GL кадров/секунду. Что не кажется реалистичным: ясно, что FPS выше 8 (кстати, я проверил каждый возможный OpenGL Render Frame Terminator в диалоговом окне «Параметры отладки»). Вот скриншот (нажмите здесь для полного разрешения): введите описание изображения здесь>> </p> </li></ol>

<p>Моя программа использует SDL для создания контекста рендеринга OpenGL:</p>

<pre><code>Uint32 flags = SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_OPENGL;
if(fullscreen) flags |= SDL_FULLSCREEN;

// Initialize SDL's video subsystem
SDL_Init(SDL_INIT_VIDEO) == -1;

// Attempt to set the video mode
SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
SDL_Surface* s = SDL_SetVideoMode(width, height, 0, flags);
</code></pre>

<p>Я использую Windows 7 и графическую карту NVidia (geforce gtx 660m).</p>

<p>Мой вопрос: как объяснить странное поведение, которое я вижу в 1) и 2)? Может быть, по какой-то причине рендеринг выполняется в программном обеспечении вместо видеокарты?</p>

<p>UPD: Очевидно, что я вызываю <code> SDL_GL_SwapBuffers </code> (который не указан как один из терминаторов кадра рендеринга) в конце каждого кадра, но я предполагаю, что он должен просто вызвать функцию SwapBuffers в Windows.</p>
</div>
    </div>
	
                <noindex>
            <div class='adsense-ad-article adsense-ad'>
                <ins class=

1
nl ja de

1 ответы

Что касается вопроса 1: очевидно, gDebugger отключает wait-for-vsync, поэтому частота кадров намного выше 60 кадров в секунду.

Что касается вопроса 2: по какой-то причине при работе с SDL создаются 2 контекста OpenGL. Вы можете увидеть правильное число, добавив счетчики производительности для второго контекста.

0
добавлено
При использовании GLFW также перечисляются два контекста. Второй контекст также является актуальным.
добавлено автор Grimmy, источник
pro.cxx
pro.cxx
3 049 участник(ов)

C/C++ chat 0. Простые вопросы, лабы и о IDE — в чат новичков @supapro 1. Не хамим, не переходим на личности, не вбрасываем утверждения без доказательств 2. No Ads, offtop, flood Объявления о вакансиях и евенты - в лс @AlexFails https://t.me/ProCxx/259155

supapro.cxx
supapro.cxx
1 925 участник(ов)

Чат для тех, кто немного знает C++, простые вопросы по реализации, синтаксису и ide – сюда, а для другого есть: /Главный чат по серьезным вопросам — @ProCxx /Чат по обсуждению всего — @fludpac

pro.graphon (and gamedev)
pro.graphon (and gamedev)
389 участник(ов)

Обсуждаем стандарты консорциума Khronos: OpenGL, OpenCL и пр., предлагаем различные работы, туторы, интересные материалы по этим стандартам (и помечаем их тегами). Правила чата и инфо по системе тегов – /rules. Реклама только по согласованию с @AlexFails.

C++ Russia
C++ Russia
384 участник(ов)

Сообщество разработчиков C++ в Telegram.

cxx.Дискуссионная
cxx.Дискуссионная
298 участник(ов)

это не двач, общайтесь вежливо; разговор на почти любые темы; Не согласны с баном? В лс @AlexFails, @ivario

C++ для маленьких и тупых
C++ для маленьких и тупых
105 участник(ов)

Лоу левел (по среднему IQ участников) чатик ExtremeCode @extremecode Флудилка @extremecode_rest