Lemon-XQ 2016-04-21 14:26 采纳率: 50%
浏览 1241

关于TC平台下横线优化算法的疑惑~~~TAT大神们帮帮我

以下是代码,原作者是想通过以字而不是字节copy数据到显存,从而实现更快地画一条
横线,但是我看不太懂他的代码TAT。。为什么第一点为奇数,就只填写后一点,最后
一点为奇数,就两点都填写?还有就是这里的“填写后一点”里的“一点”是什么意思、啊,好像不是屏幕上的一点啊。。。
困扰我好多天了,希望有人能解救一下我呜呜呜。。。
void HLine_Fast(int x1,int x2,int y,unsigned int color)
{
unsigned int first_word,middle_word,last_word,line_offset,index;
unsigned int far * video_buffer_w=(unsigned int far )video_buffer;/字变量*/
if((x1&0x0001))
first_word=(color< else
first_word=((color if((x2&0x0001))
last_word=((color else
last_word=color; /*最后一点为偶数,整除,只填写前一点*/
/*处理直线最前面和最后面那两个无法整除的字节*/
line_offset=((y middle_word=((color /*以下以字为单位copy数据到显存*/
video_buffer_w[line_offset+(x1>>1)]=first_word; /*画线首*/
for(index=(x1>>1)+1;index<(x2>>1);index++)/*以字为单位循环画线中部*/
video_buffer_w[line_offset+index]=middle_word;
video_buffer_w[line_offset+(x2>>1)]=last_word;/*画线尾 */
}

  • 写回答

1条回答 默认 最新

  • devmiao 2016-04-21 14:42
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题