2019-12-28 17:50发布
senjet 发表于 2013-8-25 14:29 画椭圆和画圆之所以用画线而不是画点是为了连续性,如果以画点来写,就不一定连续了,有可能是虚点圆。事 ...
love_ourdev 发表于 2013-8-31 21:28 说的具体点就是: 假设设置左上角坐标的耗时为Ta,设置右下角坐标的耗时为Tb,传输一个像素值的耗时为Tc ...
最多设置5个标签!
说的具体点就是:
假设设置左上角坐标的耗时为Ta,设置右下角坐标的耗时为Tb,传输一个像素值的耗时为Tc,
那么画n个像素的”水平线“和”垂直线“的函数可以优化为总时间Tall=(Ta+Tb+n*Tc),
而单独绘制n个像素的点所耗时间是:Tall=n*(Ta+Tb+Tc)。
请问你那个更耗时呢?
同样的道理,图像的块拷贝操作也是如此优化的,关键就是window的概念,现在的外部LCD控制器都有这个功能。
讨论问题你不能拿你以前的“成就”来压别人(言下之意就是你肯定正确,你是权威,你是至尊)。我更相信“三人行必有我师”。
画一个点需要FSMC传送5次....x0 y0 x1 y1 color...也就是x0, y0, x0, y0, color
画一条线需要FSMC传送4+N次...x0 y0 x0 y1 color color color...N....
也就是点是一个像素的线....
SSD1963是可以设置从左到右 从右到左 从上到下 从下到上 逐行 隔行的自增方式的...
也就是在输出文字的时候其实是先读取x0 y0 x1 y1范围内的值 再更改 然后再写回...
也就是一个文字需要4 + width * height * 2 完成一次字的读写...
SSD1963准确来说并没有点的概念和线的概念...所有的都是一个Rectangle...包括位图和字体...
但是常规GUI绘制通常选择竖线作为基本元素...也就是所有的制图都由竖线完成...
所以竖线或横线是GUI的基本元素...而不是点...
据说RA8875支持Rectangle单 {MOD}填充....那样画GUI更快...
的确基本所有的320X240以下的控制器直接点读...点写...
这种控制器本身速度都非常慢...点读/点写损失的速度也不在乎了...价格便宜结构简单...
你到底看明白我说的没有?你拿我说的大概意思稍微详细解释一遍然后拿来反驳我?这表示你很牛逼?
如果你小学语文是体育老师教的,那我在这给你概括一下我说的意思:我说对我上面贴的程序而言,画线不会比画点快,因为上面画线也是最终调用的画点函数,这只是最通用的,只要实线画点就可以,但不一定是最有效率的!
一周热门 更多>