| CPC G06T 1/20 (2013.01) [G09G 5/363 (2013.01); G09G 2360/02 (2013.01); G09G 2360/10 (2013.01)] | 20 Claims |

|
1. A computing device, comprising:
one or more processors;
one or more hardware-based memory devices storing computer executable instructions which, when executed by the one or more processors, cause the computing device to:
capture a snapshot of an executing application, wherein the snapshot includes a data log of information about operation of the computing device while executing the application;
identify multiple shaders used in the snapshot;
obtain default compilation parameters for the multiple shaders;
determine variations of compilation parameters for each of the multiple shaders, wherein the variations of compilation parameters are based on a first limit on a number of registers that are allowed to be used during scheduling and a second limit on a number of registers that are allowed to be used during register allocation;
compile, by a shader compiler, the variations of compilation parameters for the multiple shaders into multiple compiled shaders; and
re-execute the snapshot using each of the multiple compiled shaders to compute performance metrics for each of the multiple compiled shaders during the snapshot.
|