c#做大图片浏览的控件,处理鼠标拖动,如何提高绘图性能? 每当mousemove的时候都调用e.Graphics.DrawImage(img, dst, src, GraphicsUnit.Pixel)性能很差啊, 而且很耗CPU. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用double-buffer试试,参看http://www.codeproject.com/cs/media/flickerFreeDrawing.asp 谢谢 Knight94(愚翁) ( 五星(高级)) 的回复.我现在是用自定义控件, 并通过this.SetStyle(ControlStyles.DoubleBuffer, true);this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);this.SetStyle(ControlStyles.ResizeRedraw, true);this.SetStyle(ControlStyles.UserPaint, true);调用.net内置的doublebuffer, 感觉性能不好.主要是mousemove的事件比较频繁, 窗口大的时候重绘的区域又比较大. "http://www.codeproject.com/cs/media/flickerFreeDrawing.asp"我测试过了, 如果drawobject比较大的话性能也不行. 就算是一个800*600的图, 拖来拖去cpu占用率也很高. 在C++中有局部刷新技术,不知道.Net中是怎么解决的 不如拖动的时候,移动图片所在的PictureBox的Location属性 to 就算是一个800*600的图, 拖来拖去cpu占用率也很高.是否加载鼠标按键判断,我以前做过,并不是很大 textbox的换行问题 请教高手,SQL实现DataGridView统计显示的问题 C#检测机器是否安装某组件 小问题,解决马上给分. C#DataGridView的Items是按什么编号? 急问:生成的安装包在安装的时候出现“无法获得×××程序集中的安装程序类型,程序集中的一个或多个类型无法加载”的错误 如何删除WEB工程中文件,新手啊,请懂的高手们进来帮忙解决一下 大问题? 关于两个form的问题 如何使DataGrid的各个列的宽度正好充满DataGrid的宽度? 启动进程sqlservr时,弹出dos窗口怎么办啊,大侠救我啊 C#中怎么高效画大图片
http://www.codeproject.com/cs/media/flickerFreeDrawing.asp
我现在是用自定义控件, 并通过
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
this.SetStyle(ControlStyles.UserPaint, true);
调用.net内置的doublebuffer, 感觉性能不好.主要是mousemove的事件比较频繁, 窗口大的时候重绘的区域又比较大.
我测试过了, 如果drawobject比较大的话性能也不行.