Сообщение Re[3]: GUI на GDI+ - высокая нагрузка на CPU от 26.09.2014 23:01
Изменено 22.04.2019 10:36 deleted2
Re[3]: GUI на GDI+ - высокая нагрузка на CPU
ABP>С помощью программы Dependency Walker заметил, что Qt использует Windows GDI (gdi32.dll), а не GDI+. Значит GDI быстрее чем GDI+, или все же дело в обработке сообщений от окна
Сейчас все, что можно, внутри винды использует видеокарту, даже GDI. Потери времени могут быть только на обвязку и инициализации. А их можно и там и там вынести за код отрисовки. Сейчас лучше всего рисовать через Direct2D. Vista+. Если же нужно очень качественно рисовать наклонные линии, рекомендую Antigrain.
Что именно у вас не так, не понятно. Попробуйте логгировать отрисовку и потом найти узкие места с помощью Performance Counters. Весь возможный код инициализации, включая загрузку картинок и шрифтов, выносите за пределы кода отрисовок. Если все-равно все кажется неоптимальным, можно кешировать целые куски изображения и быстро кидать их по BitBlt.
PS. У меня на достаточно древнем ноутбуке Все окно Firefox при изменении размера окна и полной перерисовки жрет меньше одного ядра (30% CPU). Так что ищите у себя баг или неоптимальное использование ресурсов. Не должно быть так.
Сейчас все, что можно, внутри винды использует видеокарту, даже GDI. Потери времени могут быть только на обвязку и инициализации. А их можно и там и там вынести за код отрисовки. Сейчас лучше всего рисовать через Direct2D. Vista+. Если же нужно очень качественно рисовать наклонные линии, рекомендую Antigrain.
Что именно у вас не так, не понятно. Попробуйте логгировать отрисовку и потом найти узкие места с помощью Performance Counters. Весь возможный код инициализации, включая загрузку картинок и шрифтов, выносите за пределы кода отрисовок. Если все-равно все кажется неоптимальным, можно кешировать целые куски изображения и быстро кидать их по BitBlt.
PS. У меня на достаточно древнем ноутбуке Все окно Firefox при изменении размера окна и полной перерисовки жрет меньше одного ядра (30% CPU). Так что ищите у себя баг или неоптимальное использование ресурсов. Не должно быть так.
Re[3]: GUI на GDI+ - высокая нагрузка на CPU
deleted