What are the advantages of Bresenham's line drawing algorithm over DDA line drawing algorithm?
DDA and Bresenham algorithms both are efficient line drawing algorithm. Breaenham's algorithm has the following advantages on DDA: (1) DDA uses float numbers and uses operators such as division and multiplication in its calculation. Bresenhams algorithm uses ints and only uses addition and subtraction. (2) Due to the use of only addition, subtraction and bit shifting Bresenhams algorithm is faster than DDA in producing the line. (3) Fixed point DDA algorithms are generally superior to Bresenhams algoritm on modern computers. The reason is that Bresenhams algoritm uses a conditional branch in the3 loop and this result in frequent branch mis-predictions in the CPU. (4) Fixed point DDA also has fewer instructions in the loop body (one bit shift, one increment and one addition to be exact. In addition to the loop instructions and the actual plotting. As CPU pipelines become deeper mis predictions penalties will become more severe. (5) Since DDA uses rounding off of the pixel position obtained by multiplication of division, causes an accumulation of error in the proceeding pixels whereas in Bresenhams line algorithm the new pixel is calculated with a small unit change in one direction and checking of nearest pixel with the decision variable satisfying the line equation. (6) Fixed point DDA does not require conditional jumps, you can compute several lines in parallel with SIMD (Single Instruction Multiple Data techniques.