当前位置:编程学习 > C#/ASP.NET >>

大量绘图 工作 刷新 窗体 都会 延时

目前 每次刷新 窗体 都要重新 绘图 因为 绘图 复杂 所以 都会 延迟

如何 解决~~ --------------------编程问答-------------------- 据说可以用双缓冲解决,你可以百度下C# 双缓冲 界面延迟

不过我自己尝试了没有用,不知道是不是我方法有问题 --------------------编程问答-------------------- 每次图都不一样?为什么要每次都重绘呢?貌似没有必要啊,或者我不了解楼主的需求 --------------------编程问答--------------------
引用 1 楼 josxhn 的回复:
据说可以用双缓冲解决,你可以百度下C# 双缓冲 界面延迟

不过我自己尝试了没有用,不知道是不是我方法有问题


双缓冲 没用 ~~~ --------------------编程问答--------------------
引用 2 楼 jiangfling 的回复:
每次图都不一样?为什么要每次都重绘呢?貌似没有必要啊,或者我不了解楼主的需求


图像 是在 每次 窗体 改变 的时候重绘的  怎么 能不重绘~~~求教 --------------------编程问答-------------------- 之前遇到过重绘慢甚至无响应的问题,是因为跨线程访问控件导致的,不知道楼主是否有此问题。
PS:双缓冲没用 --------------------编程问答-------------------- 涉及到自己画得窗体 加上他们: 
             this.DoubleBuffered = true;
            this.SetStyle(ControlStyles.UserPaint, true);//自绘
            this.SetStyle(ControlStyles.DoubleBuffer, true);// 双缓冲
            this.SetStyle(ControlStyles.ResizeRedraw, true);//调整大小时重绘
            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景.
            this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);// 双缓冲
然后,把要显示的图形先绘制到内存中 如:
Bitmap bitmap =new Bitmap(100,100); 
 Graphics g=Graphics.FromImg(bitmap);  g.FillRectangle()... 最后画到整个窗体 基本平滑 无闪屏...
其他操作嘛  可以考虑部分 区域无效  只刷新部分区域 避免闪烁.....
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,