作者cplusplus (一切都结束了)
看板C_Sharp
标题[问题] 跑马灯...闪烁?
时间Sun Aug 17 20:08:06 2008
我目前想用最简单的方法做一个跑马灯出来
所以我用 Label control,配上一个thread,然後一直控制这个label往某个方向跑
我这个label放在一个panel里面,并帮panel设定了 backgroundimage,
问题来了,当panel没有设定backgroundimage的时候,label跑起来好好的
但是加了backgroundimage的时候,有时候会一瞬间在label尾端出现一个残影(?)
比如label往左移动 20 pixel,後端就会出现 20 pixel宽的方块
颜色好像跟panel的backcolor一样....||||
请问这个要怎麽处理才好呢? 还是说有其它方法比较适合做跑马灯的呢?
感谢啊
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.229.5.140
※ 编辑: cplusplus 来自: 61.229.5.140 (08/17 20:08)
1F:→ cplusplus:原因大概是没有double buffer吧...换了一个方式直接 08/17 20:26
2F:→ cplusplus:放到form上,就不会出问题了~ 切......~"~ 08/17 20:26
3F:推 tomex:这仅是解决UI上的问题,效能问题却没有解决,尤其多执行绪上 08/19 01:15
4F:推 tomex:用这样timer+位移的方式,会引起cpu interrupt,效能损失大 08/19 01:15
5F:推 tomex:我有用过direct draw来画,但还是会造成cpu高(loading大时) 08/19 01:16
6F:→ cplusplus:简单即可~ :D 08/19 20:05
7F:推 tomex:我们是开发广告机软体,原以为最简单的东西,却是最耗效能的 08/19 23:27
8F:推 tomex:大家留意一下这状况即可 08/19 23:28
9F:→ cplusplus:loading很小啊 100ms一次 你的应用需要吃这麽多资源?? 08/21 19:15
10F:→ cplusplus:可能是你interval太小了吧 那麽小,人眼睛分辨不出来吧 08/21 19:15
11F:→ cplusplus:一般人眼反应时间大概16.7ms 不太需要这麽快 08/21 19:17
12F:→ cplusplus:而且对於跑马灯这种东西 人脑有自动补偿作用~ 应该还好 08/21 19:18
13F:→ cplusplus:不然就用timer吧,让你的主thread去做这件事情,不需要 08/21 19:18
14F:→ cplusplus:担心context switch 08/21 19:18