Graphical interfaces and windowing are now the norm for
computers-human interaction. Also, advances in computer
networking have given computer users access to immense
distributed resources accessible from anywhere on the
network. In this setting, the desktop, or personal
computer plays the role of a user-interface engine that
mediates access to the available resources. Interface
paradigms, such as the "desktop metaphor" and "direct
manipulation," provide the user with a consistent, intuitive
view of the resources. Traditional computer research has
focused on enhancing computer performance from the numerical
processing and transaction processing perspectives. In the
research described in this thesis a systematic framework is
developed for analyzing and improving the performance of
window systems and graphical user interfaces. At the system
level a protocol-level profiling strategy has been developed
to profile the performance of display-server computers. A
sample protocol-level profiler, Xprof, has been developed for
applications under the X Window System. At the micro-
architecture level the memory access characteristics of
windowing programs are studied. Cache tradeoffs for a
frame-buffer cache are presented. A cache organization is
proposed to improve the frame-buffer performance.