|
本帖最后由 NJ8888 于 2016-4-30 08:18 编辑
for (dtloop=0;dtloop<700;dtloop++)
{
for (vloop=0;vloop<4;vloop++)
{
dtt=filebuf[(dtloop<<2)+vloop];
mask=0xc0;
xx=dtloop+22;
for (hloop=4;hloop>0;hloop--)
{
dt=(dtt & mask)>>((hloop-1)<<1);
pos=(vloop<<2)+(4-hloop);
yy=25*pos+30;
mask=mask>>2;
if (dtloop==0)
{
if (dt==0)
{
painter.drawPoint(xx,yy+12);
laststate[pos]=0;
}
else
{
if (dt<2)
{
painter.drawPoint(xx,yy);
laststate[pos]=1;
}
else
{
painter.drawLine(xx,yy,xx,yy+12);
laststate[pos]=3;
}
}
}
else
{
if (dt==0)
{
if (laststate[pos]==1)
{
painter.drawLine(xx,yy,xx,yy+12);
}
else
{
painter.drawPoint(xx,yy+12);
}
laststate[pos]=0;
}
else
{
if (dt<2)
{
if (laststate[pos]==0)
{
painter.drawLine(xx,yy,xx,yy+12);
}
else
{
painter.drawPoint(xx,yy);
}
laststate[pos]=1;
}
else
{
painter.drawLine(xx,yy,xx,yy+12);
laststate[pos]=3;
}
}
}
}
}
//画总线,选D7--D0组合总线,略,执行时间消耗3.3ms
}
三张图片分别是
数据画法是一屏水平700点,16个通道,每个通道每列像素用2位,总每列32位,像素特征是bit00代表画低电平0,bit01代表画高电平点,bit1X代表画一段线,虚拟了画一屏的2800字节数据显示,消耗时间170ms,如果全画点120ms,全画线260ms,参看照片中下部黄色数字,单位us。现在感觉这个时间过长,求解如何缩短提高绘图效率 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|