``Optimizing Toolkit-Generated Graphical Interfaces''

Bradley T. Vander Zanden

1994 ACM SIGGRAPH Symposium on User Interface Software and Technology, Marina del Rey, CA, November, 1994, pp. 157-166.

Available via anonymous ftp to cs.utk.edu in

pub/bvz/papers/uist94.ps.Z.

Abstract

Researchers have developed a variety of toolkits that support the development of highly interactive, graphical, direct manipulation applications such as animations, process monitoring tools, drawing packages, visual programming languages, games, and data and program visualization systems. These toolkits contain many useful features, such as 1) structured graphics, 2) automatic display management, 3) constraints, and 4) high-level input-handling models. Despite a number of optimizations that have been described in the literature, most toolkit-generated applications run in a predominantly interpreted mode at runtime: they dynamically determine the set of constraints and objects that must be redisplayed, which requires the use of time-consuming algorithms and data structures. The optimizations that do exist rely on semantic information that applies globally to all operations in an application. In this paper we identify a number of optimizations that require local, operation-specific semantic information about an application. For each operation, these optimizations pre-compute update plans that minimize the number of objects that are examined for redisplay, and pre-compute constraint plans that minimize the amount of dynamic scheduling and method dispatching that is performed for constraint satisfaction. We present performance measurements that suggest that these optimizations can significantly improve the performance of an application. We also discuss how a compiler might obtain from a programmer the information required to implement these optimizations.

Postcript of the paper