GUI не обновляется в приложении Threaded OpenGL в QT - PullRequest
0 голосов
/ 06 ноября 2011

У меня (как мне кажется, странное) поведение при использовании QThread. Я тестирую в GNU / Linux с ядром 3.x

Когда я использую поток рендеринга для реализации операций opengl, которые должны быть нарисованы в QGLWidget, если я запускаю его в моем Phenom II X4, он работает нормально. Но если я использую процессор Intel® Rom Atom (TM) N550 1,50 ГГц, графический интерфейс обновляется только при возникновении события (если я перемещаю мышь или нажимаю на клавиатуру) Я пытался использовать Сигнал / Событие в разных потоках, чтобы уведомить основной поток об обновлении, но это не работает. Я вызвал метод обновления QGLWidget внутри потока рендеринга, но он тоже не работает.

Я могу воспроизвести это на этом примере http://mih.voxindeserto.de/threadedcube.html Если я добавлю этот вызов

setRotation(rand()%120,rand()%120,rand()%150);

внутри метода run потока рендеринга ExampleRenderThread.

Эти машины имеют одинаковую ОС, Archlinux x86_64 с ядром 3.0.7

Я не знаю, связано ли это с аппаратным обеспечением или с некоторыми настройками QThread или фильтрацией событий. Что может происходить?

...