cunlingwang 发表于 2011-5-5 15:50:15

rtgui 两个绘画任务同时进行怎么会相互干扰?【已上图】

例如我现在开辟两个面板,一个正在进行dc缓冲动画的运行,另外一个是进度条(progressbar),如果中途进行进度条的绘画操作,dc缓冲动画运行物体经过的地方会留下部分进度条同种颜色的散点,等进度条绘画完成,经过的路径中就没有散点了。难道两个同时绘画的任务会相互干扰吗?

ffxz 发表于 2011-5-6 09:20:28

能给个截图吗?

cunlingwang 发表于 2011-5-6 10:07:51

回复【1楼】ffxz
能给个截图吗?
-----------------------------------------------------------------------

http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_637240G89SRB.jpg
进度条绘画的时候动画面板出现的点 (原文件名:110506A0011.jpg)

http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_637241HNE3XO.jpg
进度条绘画的时候动画面板出现的点 (原文件名:110506A00211.jpg)



我的进度条用的默认的灰白色背景,蓝色的进度条,进度条前进过程中,动画面板出现进度条的背景色和前景色的白点和蓝点,那红色的是运动的字“123”,如果进度条不在运动,就没有出现干扰的迹象,这种现象好像就是进度条绘画是,画到了动画面板中,因为动画也在进行绘画操作,两个同时绘画的面板貌似有影响。
还有一点就是运动的字“123”的“3”的右下角出现画点的,就是这个 “123” 在绘画完后的最后一个点的右边出现白点或者蓝点,导致运动痕迹上出现白点或者蓝点,进度条不运动就不会出现那个点,当然也就没有干扰迹象了。

cunlingwang 发表于 2011-5-6 10:20:23

http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_637275SVKW5H.jpg
程序运行中断运行截图 (原文件名:110506A006.jpg)


上图是进度条和动画同时运行时,我停止仿真是拍到的,可以很清楚的看到是右下角出现的点,此时“123”正在向右上角运行。

ffxz 发表于 2011-5-6 11:54:06

看不太明白,看不太懂

两个线程去对一个视图进行操作?

billowtust 发表于 2011-5-6 12:38:09

资源锁

cunlingwang 发表于 2011-5-6 13:17:38

回复【4楼】ffxz
看不太明白,看不太懂
两个线程去对一个视图进行操作?
-----------------------------------------------------------------------

http://cache.amobbs.com/bbs_upload782111/files_39/ourdev_637367TQSYF5.png
(原文件名:rtgui_副本.png)

不是一个视图,是两个不同的视图,但是都有绘图操作。

cunlingwang 发表于 2011-5-6 13:19:11

回复【5楼】billowtust
资源锁
-----------------------------------------------------------------------

请问资源锁是怎么一回事?请教了。

ffxz 发表于 2011-5-6 13:21:30

回复【6楼】cunlingwang

(原文件名:rtgui_副本.png)
不是一个视图,是两个不同的视图,但是都有绘图操作。
-----------------------------------------------------------------------

那么现象是什么样的,进度条绘图乱了?动画乱了?

cunlingwang 发表于 2011-5-6 13:36:47

回复【8楼】ffxz
回复【6楼】cunlingwang

(原文件名:rtgui_副本.png)
不是一个视图,是两个不同的视图,但是都有绘图操作。
-----------------------------------------------------------------------
那么现象是什么样的,进度条绘图乱了?动画乱了?
-----------------------------------------------------------------------

进度条影响不大(进度条蓝色末尾偶尔会有毛刺,不常有。),如果panel1的进度条在绘画的话,panel2的动画经过之处就会乱点了,动画背景是全黑的,所以那些点特别明显,等到panel1进度条绘画完成,panel2也就正常了,但那些点还在,只有动画经过了那些点才回被磨成黑色,因为dc_buffer的背景色是黑色的。

cunlingwang 发表于 2011-5-6 13:40:50

补充一点,动画一开始就一直运行着,进度条只是人工中途手动调节。

ffxz 发表于 2011-5-6 14:11:23

回复【9楼】cunlingwang
进度条影响不大(进度条蓝色末尾偶尔会有毛刺,不常有。),如果panel1的进度条在绘画的话,panel2的动画经过之处就会乱点了,动画背景是全黑的,所以那些点特别明显,等到panel1进度条绘画完成,panel2......
-----------------------------------------------------------------------

估计是驱动绘图时被抢占,然后导致绘图时乱了,你在驱动底层加些保护试试。

cunlingwang 发表于 2011-5-6 14:16:05

回复【11楼】ffxz
回复【9楼】cunlingwang
进度条影响不大(进度条蓝色末尾偶尔会有毛刺,不常有。),如果panel1的进度条在绘画的话,panel2的动画经过之处就会乱点了,动画背景是全黑的,所以那些点特别明显,等到panel1进度条绘画完成,panel2......
-----------------------------------------------------------------------
估计是驱动绘图时被抢占,然后导致绘图时乱了,你在驱动底层加些保护试试。
-----------------------------------------------------------------------

谢谢ffxz老大,我试试看。
页: [1]
查看完整版本: rtgui 两个绘画任务同时进行怎么会相互干扰?【已上图】