Окно SDL, по-видимому, неправильно маркируется «невосприимчивым» к ОС

У меня есть оконное окно SDL2, доступ к которому осуществляется через Derelict 3.

Предполагается, что он строб черно-белый (не потому, что я ненавижу эпилептики), и он делает это успешно. Однако через определенный промежуток времени Ubuntu 13.10 отмечает, что окно «не отвечает», вычеркивает его и угасает эффект строба.

Это очень раздражает и полностью убивает эффект, требуемый приложением для визуальной стимуляции, для получения SSVEP-показаний с моей гарнитуры EEG.

Как я могу заставить свою ОС понять, что окно делает именно то, что нужно делать?

Код

Поскольку я завернул вызовы SDL в моем фактическом коде, я собираюсь предоставить псевдокод и методы SDL, вызванные в этих разделах (я проверял, что я не звоню ни в какие другие функции SDL):

make a window using SDL_CreateWindow (no set flags) make a renderer using SDL_CreateRenderer (with presentvsync flag set) for( ... ) { fill screen black using SDL_RenderFillRect and SDL_SetRenderDrawColor update screen using SDL_RenderPresent fill screen white (same as above filling) update screen (same as above update) } exit 

Я педантично проверяю коды ошибок и возвращает значения для всех вызовов SDL в обертке lib. Все в порядке. Что мне нужно знать, это то, что я должен добавить, чтобы обеспечить сердцебиение моей ОС, чтобы он не прекращал посещать мое окно.

Еще одна вещь…

Может кто-нибудь добавить тэг SDL2? SDL2 имеет очень отличный API от SDL1.2 …

Добавлена ​​обработка событий в цикл через SDL_PollEvent(null) . Это удовлетворило ОС.

Для всех, кто использует Ubuntu 16.04 и SDL2.0x – Решение, которое сработало для меня, было:

 SDL_SetHint(SDL_HINT_VIDEO_X11_NET_WM_PING,"0"); 

сразу после SDL_Init (); вызов. см. здесь : SDL2 wiki.