High resolution displays, fluid user interfaces and impressive graphics have become essential features of modern mobile devices. This trend has prompted a move from traditional pixel-based graphics to more flexible and efficient vector graphics. The relationship between graphics content and performance, however, is not always straightforward with vector graphics. This discrepancy has resulted in applications suffering from a number of quality issues, such as poor performance, high memory usage or extraneous power consumption.
This thesis examines the process of analyzing these quality problems. We focus on mobile applications that use three-dimensional OpenGL ES or two-dimensional OpenVG graphics. To help solve a given quality issue, we classify it as a distinct class, based on the dominant cause behind the issue. We note that this classification process requires a great deal of information about the graphics of the examined application. Obtaining this quantity of information is not practical with the tools currently available.
To obtain this data, we will design and implement a set of tools. The key idea is to capture or trace the graphics drawing commands executed by an application into a file for further offline processing. These commands are then analyzed, processed and transformed to gain the necessary level of insight into the examined quality issue.
We then demonstrate the usage of the toolkit in examining poor application performance, a visual error in an application, the quality of a seemingly well-performing application, the performance profiles of a number of graphics implementations and the detailed graphics content features of an application.
Having completed these use cases successfully, we conclude that the tracer paradigm is a viable approach for analyzing quality issues in mobile vector graphics applications.
Keywords: graphical debugging, tracing, content features, OpenGL ES, OpenVG