我有一个程序,它使用Bresenham 的线算法来扫描一行中的像素。这是读取像素而不是写入像素,在我的特定情况下,读取它们的成本很高。
但是,我可以确定不需要读取某些像素范围。它看起来像这样:
Normal scan of all pixels:
*start
\
\
\
\
\
*end
Scan without reading all pixels:
*start
\
\
- At this point I know I can skip (for example) the next 100 pixels
in the loop. Crucially, I can't know this until I reach the gap.
\
*end
中间的间隙要快得多,因为我可以遍历像素而不读取它们。
但是,我可以以任何方式修改循环,直接在循环内向前跳转 100 个像素,直接在行算法中提前 100 步计算所需的值吗?