gdi绘制为什么很卡

gdi绘制为什么很卡,第1张

当我开启双缓冲后,绘制正常,一切看起来都是那么完美,但是如果我们查看CPU占用率会发现很高,并随我们绘制的快慢和累计时间而也越来越大!我的电脑基本上上会达到30%左右,这在有的场景下是不能容忍的

经测试发现,关闭双缓冲,cpu占用率下降一半,但是还是很高!并且会闪烁!

临时方案1:究其原因,鼠标移动太快,调用Invalidate次数过多,并且太快! 在mouse_move中使用Thread.sleep(10),来控制刷新频率。当然,界面刷新可能不太流畅!

临时方案2:如何每次刷新的位置固定和区域固定,使用Invalidate的重载,传递区域进去,这样也可以有效减少CPU占用!

如果你觉得GDI+绘制较慢,可以采用GDI绘制。。。GDI+的确比较慢,但处理起来方便些。WIN8没有新的图像描绘更新。除非DirectX,但那是做游戏用的。

如果你想了解别的图像绘制,请百度skia,也是个不错的选择。

您好

GDI+是XP以后系统的绘图库,GDI+跟GDI相比强大多了你可以看到XP以前的版本根本不支持透明跟渐变还有锯齿消除

GDI+的编程方便多了Flash8里面的绘图基本上全是GDI+用GDI根本实现不了当然速度比GDI慢一点点不过绝对划算。GDI+


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/9937535.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存