arm上qt画图,如何降低cpu占用?

lamanmi 2010-09-25 10:38:38
程序中创建了一个绘图区域 class PaintArea:public QWidget

绘图时
void PaintArea::paintEvent(QPaintEvent *)//重画函数
{
//新建一个QPainter对象
QPainter p(this);
//以下根据数据操作p进行绘图

}

因为一直在变动,调用repaint()让其每秒重画一次.

使用top命令看系统状况
程序一直占用40%-98%左右,线多>10根足有的情况cpu会90%以上,导致界面其他显示状况会卡住。

我的板子用的是at91sam9261,主频在200Mhz

请问如何绘图能降低CPU占用呢?
...全文
303 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dext 2010-09-27
  • 打赏
  • 举报
回复
每次画在一个 QImage 或 QPixmap 上

QPaintEvent 只画QImage 或 QPixmap

用一个定时器 调用 repaint

用信号通知 更新QImage 或 QPixmap。
火箭猫 2010-09-25
  • 打赏
  • 举报
回复
效率没有这么不堪吧~多余十根线就这么费?
DIE654456 2010-09-25
  • 打赏
  • 举报
回复
绘图操作通常和CPU的关系不大。
主要和显卡驱动、显存相关把?
你的绘图程序需要什么样的计算过程吗?

通常都是第一次绘制很卡,第二次开始会好点。双缓冲也许能改善一点,不过设备不一定支持。

16,199

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧