![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Rocky |
![]()
Сообщение
#1
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Еще раз всем привет... Вот столкнулся с очередной проблемкой... Есть такой кусок кода
И все. В винде все летает.... скомпилил в линуксе - загрузка цп под 80%. Тормоза просто дикие. Почему так может быть? 2 часа пытался понять что за фигня. У меня KDE со всеми наворотами, compiz все летает просто.. а тут простенькая программа одной функцией по сути убивает все..... Как лучше всего фон программе задать? Единственное что в голову приходит это запихнуть в ремурсы... Утром проверю поможет ли это или нет... Но непонятно почему так тормозит программа из-за этого? _Back.jpg размером 1280х1024.... Весит 300 КБ.... |
|
|
![]() |
BRE |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Одна из причин тормозов может быть в том, что не все драйвера сейчас могут ускорять 2D аппаратно.
Вообще, ты выполняешь рисование не оптимально. В событии QPaintEvent, передается регион (область), которую нужно обновить. Вместо этого ты обновляешь все окно. Картинка размером 1280х1024x4 = 5 242 880 байт. При постоянной перерисовке происходит прокачка 5 Мб данных только для фона (без аппаратного ускорения это тяжело). Т.е. вместо перерисовки небольшой области, которая изменилась, ты постоянно перерисовываешь всю сцену. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 25.4.2025, 3:06 |