Project Report: Reworking Impress Slideshow Rendering with DrawingLayer Primitives
Modernizing the Impress Slideshow The Problem Statement The LibreOffice Impress slideshow engine had an old and inefficient way of rendering slides. The main problem was that it used a complicated, multi-step process. All visual objects, represented by DrawingLayer primitives, were first converted into an old format called a StarView Metafile. This metafile was then rendered through several layers of code before appearing on the screen. This extra conversion step was a major issue. It was slow and wasted resources by turning modern data into an old format and back again. The multiple layers of code made the system hard to debug, maintain, and improve. If there was a bug or a performance issue, it was difficult to find the cause. This old design stood in the way of making the Impress slideshow faster and more modern. The main goal of this project was to remove this old process. The plan was to get rid of the metafile conversion and change the engine to render the DrawingLayer primitives...