在我的图形课程中,我们学习了Naive线条光栅化算法和Bresenham线条绘制算法。我们被告知计算机是整数机器,这就是为什么我们应该使用后者的原因。
如果我们假设在软件层面上没有进行任何优化,对于具有MMX和其他指令集的现代CPU来说,这是真的吗?因为我查看了英特尔的64-ia-32-architectures-optimization-manual.pdf,发现对于MMX,浮点数的加减乘法延迟与整数相同或更好。
如果算法在GPU中执行,这会有影响吗?因为我检查了NVIDIA CUDA Programming Guide 1.0 (pdf),第41页,整数和浮点数的时钟周期相同。
将浮点数转换为整数的效率降低了多少?载入-命中-存储停顿是否是一个真正的问题?
四舍五入数字的函数有多有效?(我们可以考虑C++ STL中的实现)
Bresenham算法获得的效率是由于内循环中使用了加法而不是乘法吗?