Abstract
Graphical rendering must be fast enough so as to avoid hindering the user perception/action loop. Traditionally, programmers interleave descriptions and optimizations to achieve such performances, thus compromising modularity. In this paper, we consider graphic rendering as a compilation chain: we designed a static and dynamic graphical compiler that enables a designer to clearly separate the description of an interactive scene from its implementation and optimization. In order to express dependencies during run-time, the compiler builds a dataflow that can handle user input and data. We successfully used this approach on both a WIMP application and on a demanding one in terms of computing power: description is completely separated from implementation and optimizations while performances are comparable to manually optimized applications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aho, V., R., S., Ullman, J.D., Ullman, J.: Compilers: Principles, Techniques, and Tools. Morgan Addison-Wesley, Boston (1986)
Barboni, E., Conversy, S., Navarre, D., Palanque, P.: Model-based engineering of widgets, user applications and servers compliant with arinc 661 specification. In: Doherty, G., Blandford, A. (eds.) DSVIS 2006. LNCS, vol. 4323, pp. 25–38. Springer, Heidelberg (2007)
Bederson, B.B., Grosjean, J., Meyer, J.: Toolkit Design for Interactive Structured Graphics. IEEE Transactions on Software Engineering 30(8), 535–546 (2004)
Blanch, R., Beaudouin-Lafon, M., Conversy, S., Jestin, Y., Baudel, T., Zhao, Y.P.: Indigo : une architecture pour la conception d’applications graphiques interactives distribuées. In: 17th conference on Conférence Francophone sur l’Interaction Homme-Machine, pp. 139–146. ACM Press, New York (2005)
Burke, M., Torczon, L.: Interprocedural optimization: eliminating unnecessary recompilation. ACM Trans. Program. Lang. Syst. 15, 367–399 (1993)
Chatty, S.: Defining the behaviour of animated interfaces. In: IFIP TC2/WG2, pp. 95–111. North-Holland Publishing Co, Amsterdam (1992)
Chatty, S., Sire, S., Vinot, J.-L., Lecoanet, P., Lemort, A., Mertz, C.: Revisiting visual interface programming: creating GUI tools for designers and programmers. In: 17th annual ACM symposium on User interface software and technology, pp. 267–276. ACM Press, New York (2004)
Conversy, S., Barboni, E., Navarre, D., Palanque, P.: Improving modularity of interactive software with the MDPC architecture. In: EIS (Engineering Interactive Systems) conference 2007, joint HCSE 2007, EHCI 2007 and DSVIS 2007 conferences. LNCS. Springer, Heidelberg (2008)
Deutsch, L.P., Schiffman, A.M.: Efficient implementation of the smalltalk-80 system. In: 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, pp. 297–302. ACM Press, New York (1984)
Dourish, P.: Using Metalevel Techniques in a Flexible Toolkit for CSCW Applications. ACM Trans. Comput.-Hum. Interact. 5, 109–155 (1998)
Dragicevic, P., Fekete, J.-D.: The input configurator toolkit: towards high input adaptability in interactive applications. In: AVI 2004: working conference on Advanced visual interfaces, pp. 244–247. ACM Press, New York (2004)
Draves, S.: Compiler Generation for Interactive Graphics using Intermediate Code. In: Danvy, O., Thiemann, P., Glück, R. (eds.) Dagstuhl Seminar 1996. LNCS, vol. 1110, pp. 95–114. Springer, Heidelberg (1996)
Hölzle, U., Ungar, D.: A third-generation self implementation: reconciling responsiveness with performance. In: 9th annual conference on Object-oriented programming systems, language, and applications, pp. 229–243. ACM Press, New York (1994)
Huot, S., Dumas, C., Dragicevic, P., Fekete, J.-D., Hégron, G.: The magglite post-wimp toolkit: draw it, connect it and run it. In: 17th annual ACM symposium on User interface software and technology, pp. 257–266. ACM Press, New York (2004)
Kiczales, G., Lamping, J., Lopes, C.V., Maeda, C., Mendhekar, A., Murphy, G.: Open implementation design guidelines. In: 19th international Conference on Software Engineering, pp. 481–490. ACM Press, New York (1997)
Lattner, C., Adve, V.: LLVM: a compilation framework for lifelong program analysis & transformation. In: IEEE international symposium on Code generation and optimization, pp. 75–86. IEEE Press, New York (2004)
Peercy, M.S., Olano, M., Airey, J., Ungar, P.J.: Interactive multi-pass programmable shading. In: 27th Annual Conference on Computer Graphics and interactive Techniques International Conference on Computer Graphics and Interactive Techniques, pp. 425–432. ACM Press, New York (2000)
Zanden, B.T.V., Halterman, R., Myers, B.A., McDaniel, R., Miller, R., Szekely, P., Giuse, D.A., Kosbie, D.: Lessons learned about one-way, dataflow constraints in the garnet and amulet graphical toolkits. ACM Trans. Program. Lang. Syst. 23, 776–796 (1994)
Zanden, B.T.V., Myers, B.A., Giuse, D.A., Szekely, P.: Integrating pointer variables into one-way constraint models. ACM Trans. Comput.-Hum. Interact. 1, 161–213 (1994)
Zanden, B.T.V., Halterman, R.: Using model dataflow graphs to reduce the storage requirements of constraints. ACM Trans. Comput.-Hum. Interact. 8, 223–265 (2001)
ARINC Specification 661-3 Cockpit Display System Interfaces to User Systems, Aeronautical Radio Inc. (2007)
Scalable Vector Graphics (SVG) 1.1 Specification. W3C Recommendation (2003), http://www.w3.org/TR/SVG/
XSL Transformations (XSLT) Version 1.0. W3C Recommendation (1999), http://www.w3.org/TR/xslt
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Tissoires, B., Conversy, S. (2008). Graphic Rendering Considered as a Compilation Chain. In: Graham, T.C.N., Palanque, P. (eds) Interactive Systems. Design, Specification, and Verification. DSV-IS 2008. Lecture Notes in Computer Science, vol 5136. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70569-7_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-70569-7_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-70568-0
Online ISBN: 978-3-540-70569-7
eBook Packages: Computer ScienceComputer Science (R0)