1 = VGA Output Examples = 2 3 * [[Examples/vga|vga]] 4 * [[Examples/vga-cpu|vga-cpu]] 5 * [[Examples/vga-dual|vga-dual]] 6 * [[Examples/vga-pmp|vga-pmp]] 7 * [[Examples/vga-timer|vga-timer]] 8 9 == Comparison == 10 11 In investigating different techniques, the following observations have been 12 made about the behaviour of the different VGA examples: 13 14 {{{#!table 15 || DMA Channels || Horizontal Resolution || Picture Stability 16 || Pixel Consistency || Scrolling Operational 17 == 18 vga || 1 || High || No || No || Yes 19 == 20 vga-cpu || 0 || High || Yes || Yes || Yes 21 == 22 vga-dual || 2 || High || No || No || No 23 == 24 vga-pmp || 1 || High || No || No || Yes 25 == 26 vga-timer || 2 || Low || Yes || Yes || Yes 27 }}} 28 29 Here, picture stability is assessed with the CPU accessing RAM. In general, 30 all of the approaches can provide stable pictures with limited RAM access 31 loading. However, under load, the picture will stretch and ripple for all 32 examples where picture stability is given as "No". 33 34 It should be noted that the vga-timer example employs two DMA channels, but 35 this is only to maximise horizontal resolution. With a single channel, 36 horizontal resolution is diminished still further in comparison to the other 37 examples. 38 39 It would appear that two most viable approaches are the vga-cpu and vga-timer, 40 if only because they produce consistently-sized pixels, retain picture 41 stability under load, and provide operational horizontal scrolling. These 42 approaches provide a tradeoff between performance (vga-timer being faster) and 43 resolution (vga-cpu being better).