From mboxrd@z Thu Jan 1 00:00:00 1970 Message-Id: <200007081915.PAA03839@cse.psu.edu> Subject: [9fans] Why rio instead of 8 1/2 From: "rob pike" Date: Sat, 8 Jul 2000 15:15:10 -0400 To: 9fans@cse.psu.edu MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: d62f975a-eac8-11e9-9e20-41e7f4b1d025 > Please make me clear what is the reason why the new release adopted new > graphic model. Many reasons. Most important is that the bitblt model is twenty years old now and woefully inadequate for representing the kinds of things people do in modern interfaces on modern machines. The old stuff didn't even have the *idea* of color, let alone a way to use it. And for multibit colored pixels, operations like AND and OR are usually nonsense. XOR still has merit, but losing XOR was a small price to pay for the greater generality of alpha-blended image composition. Another reason is that we needed to move to true color, which is not a power of two bits per pixel, and is multichannel, which further reduces the suitability of bitblt. Another reason is that compiling on the fly, although a great idea in 1981 and perhaps in the future, is problematic for a portable system. If all we had was x86s we might be able to make it work, but with MIPS, SPARC, ARM, PowerPC, Alpha - and the list continues to grow - the difficulty of maintaining multiple on-the-fly compilers pales beside the problem of keeping caches synchronized when the architectures often leave caching details up to the motherboard builder. The last release of Plan 9 represented the limits of our ability to cope. On-the-fly compilation for bitblt had to go. Another reason is that we wanted to use VGA accelerator hardware. Finally, it was time for a change in the way the system worked. It just looked old. So we redid it all. That's the way we work. The X people are wrestling with many of these issues today. -rob