作者: cs1587426195
查看: 2107|回复: 9
打印 上一主题 下一主题

winform程序已实现窗口中的图片控件下落,但xp系统很卡

[复制链接]
跳转到指定楼层
楼主
cs1587426195 发表于 2016-1-21 10:18:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查看: 2107|回复: 9
winform程序,最近在做一个任务,一个异形form窗体,里面有5个图片控件,程序启动,这5个图片控件会下落,当下落到一定位置之后,会再创建5个控件,继续下落,目前该效果已经实现,但是在xp系统(应该说是性能较差的电脑上,下落过程中很慢,很卡),用的是定时器(线程,多种timer都尝试过,不管用),定时器的时间我设置是40毫秒,每次下落5个像素,定时器时间如果设置大了,下落效果差,设置小了,cpu消耗很大。有没有比较好的解决方案?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播
回复 论坛版权

使用道具 举报

沙发
乔克斯 发表于 2016-1-21 11:30:02 | 只看该作者
下次请发到技术求助板块,现在贴已转移。使用系统UpdateLayeredWindow函数进行窗体绘制。
板凳
 楼主| cs1587426195 发表于 2016-1-25 09:58:57 | 只看该作者
乔克斯 发表于 2016-1-21 11:30
下次请发到技术求助板块,现在贴已转移。使用系统UpdateLayeredWindow函数进行窗体绘制。 ...

当时没有及时回复,是因为在尝试往代码性能上做优化,结果还是不理想,因为使用了System.Timers.timer,所以操作控件得使用委托,所以导致在差的电脑上就若隐若现一样,并且现的时候的效果就像窗口的动画自上而下的那种感觉,如果使用System.Window.Form.Timer,不使用委托,那么就会很卡。UpdateLayeredWindow不会使用(没学过c#),然后我下载了别人的一个雪花飘飘的源码,结果却不卡,看了代码,使用的是Graphics绘制的,所以想问一下要实现我的这种效果,该怎么绘制,图在楼下
地板
 楼主| cs1587426195 发表于 2016-1-25 10:01:48 | 只看该作者
C:\Users\Administrator\Desktop\360截图20160125100125931.jpg
5#
 楼主| cs1587426195 发表于 2016-1-25 10:02:31 | 只看该作者
怎么上传图片啊
6#
 楼主| cs1587426195 发表于 2016-1-25 10:06:06 | 只看该作者
算了不上传了,效果图就类似本论坛回帖时的头像,里面的人头是另一个背景图,上面还有文字描述
7#
 楼主| cs1587426195 发表于 2016-1-25 11:15:24 | 只看该作者
乔克斯 发表于 2016-1-21 11:30
下次请发到技术求助板块,现在贴已转移。使用系统UpdateLayeredWindow函数进行窗体绘制。 ...

或者说,怎么解决因为使用了委托,造成控件若隐若现的问题,用了双缓冲
8#
乔克斯 发表于 2016-1-25 11:19:08 | 只看该作者
建议是Graphics画。如果你是计时器不断改top left的位置这样实现的话。肯定会卡。
9#
 楼主| cs1587426195 发表于 2016-1-25 12:02:04 | 只看该作者
乔克斯 发表于 2016-1-25 11:19
建议是Graphics画。如果你是计时器不断改top left的位置这样实现的话。肯定会卡。 ...

还是一样的问题,,那么有没有方法解决若隐若现的问题呢,
10#
 楼主| cs1587426195 发表于 2016-1-25 12:07:45 | 只看该作者
乔克斯 发表于 2016-1-25 11:19
建议是Graphics画。如果你是计时器不断改top left的位置这样实现的话。肯定会卡。 ...

公司一位外国大神解决了,正在优化。谢谢
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-4-19 12:28, Processed in 0.557468 second(s), 28 queries , Gzip On.

快速回复 返回顶部 返回列表