Я изучал Qt Quarterly статью о QGraphicsScene
и OpenGL с целью использования его в проекте.Я уже решил использовать Qt, учитывая его всестороннее превосходство, но пошел по пути реализации класса, полученного из QGLWidget
, однако тогда мне все еще нужно будет реализовать элементы пользовательского интерфейса.Использование методов из цитируемой статьи означало бы, что я мог бы также использовать виджеты Qt для пользовательского интерфейса, делая программу зависимой только от Qt (а не от CEGUI или подобного).
В любом случае, я запускал образец подНастольный Linux-компьютер с процессором Core i7 и довольно хорошей картой Nvidia, и он работает хорошо, однако на моем MacBook Pro 2010 (Core i5 и Nvidia 330) он работает очень плохо, особенно при взаимодействии с ним с помощью мыши.
Вопрос: кто-нибудь может предложить способы улучшения производительности этого образца?Я не эксперт по Qt, но я думаю, что плохой ответ вызван вызовами update()
из кода обработки мыши в сочетании с синхронизированными вызовами update()
в конце самого метода.Я думаю, что нужен фоновый поток для обновления движения объекта и синхронизированный, но постоянный вызов update()
.
Может кто-нибудь прокомментировать это?
РЕДАКТИРОВАТЬЯ уже пытался удалить все вызовы на update()
, кроме сброса таймера, и это мало что меняет.