作者proach (pazroach)
看板C_Sharp
标题Re: [问题] 如何快速更新画图
时间Sun Feb 24 23:09:31 2013
※ 引述《acespeed (xXx)》之铭言:
: 大家好
: 小弟第一次在这个版上发文
: 想请问大家
: 目前我要做一个可以看波型的介面
: 我会有一个bar来移动要看哪部分的图形
: 目前我的作法是
: 移动bar侦测到後
: 清掉所有图
: 重新画新的图
: 不过这样的做法我发现无法快速移动bar
: 市面上的软体都有办法快速移动bar後图依然跟得上
: 想请问大家这样是如何做到的
: 谢谢
假设你绘图的程式码速度够快。
bar 是原本 UI的 thread, 下新的绘图参数命令後就不理了,命令会被
一个变数储存起来。绘图是另一个 thread, 收到新的绘图参数才绘图,更新。
bar下第一个命令,让绘图的 thread 在绘图,但还没绘完时,如果 bar
又下了2nd, 3rd, 4th个绘图命令,会洗掉尚未被处理的命令,因此绘图 thread
绘制完 1st图之後,回神过来只有看到 4th命令,总共绘图并更新两次。
这样做的 trick 是,user乱拉 bar时,其实中间少了什麽东西他未必知道,
但他一定知道最後一张图是否正确。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.4.39
1F:推 acespeed:对~我就是发现会这样~不过像网页或者其他软体,都可以 02/25 00:00
2F:→ acespeed:乱拉bar依然每一张图都有办法看的到~有连续的感觉 02/25 00:00
3F:→ acespeed:不知道那是怎麽办到的~"~ 02/25 00:01