15
Measuring Performance and Optimizing the Code
Welcome to Chapter 15! In the previous chapter, we extended the glTF application to render a large crowd of model instances at the same time on the screen.
In this chapter, we will search for performance problems by measuring the time the application needs for some function calls, such as the calculation of the joint matrices for the vertex skinning or the upload of the matrix data into the buffers of the graphics card. This measurement allows us to find so-called hotspots, which are parts of the code that are called many times during the program execution.
First, we discuss some basic dos and don’ts of code optimization. Then, we explore a couple of different methods to make the code – at least theoretically – faster. There is no guarantee that an optimization will have a positive effect on the speed of a program, as using the wrong data type or algorithm can even slow down the code. Therefore, we need...