Overview

CryEngine features several methods of analyzing job performance at run-time as well as in offline mode.

Profile 1

The console command Profile1 displays information of individual jobs and their execution time.

The feature should be used to get a rough overview. For a more detailed per frame analysis of data please refer to using the Statoscope tool.


(Note: Do not worry about the frame timings in this picture. The screenshot was taken in windowed + out of focus mode on PC)

How to use:

Features:

Job Types:

Job title bar:

Note: The execution time of a job is added to the frame it was executed in. A job that is executing over more than 3 frames may lead to incorrect results.

Statoscope

Statoscope offers live as well as offline analysis of data on a per frame basis.

Link to the Statoscope Guide where more information about the tool can be found.

How to use:

Step 1:

Step2:

Step3:

Step4:

Step5:

Features:

Job Information Individual:

DataGroup: Y

Individual job stats for the various backend types for a given frame.

Backend Types:

For each job:

PS3 Example:


PC Example:


Job Information Summary:

DataGroup: Z

Summary of all job activity for the various backend types for a given frame.

Backend Types:

For each backend:

An overview of the Job Profiling system with built-in profile options and Statoscope.

sys_job_system_profiler 

This tool visualizes the job activity spread across the the different threads.

sys_job_system_profiler 1

Its broken down into 3 main sections:

As you will notice, the execution time of the jobs is very fast, so you can pause the display at anytime (when in-game) with the Scroll Lock Key.

sys_job_system_profiler 2 is just the execution graph by itself.

sys_job_system_filter

You can filter out particular systems from being displayed to clean up the display and make it easier to read.

Eg: So if you were to type... sys_job_system_filter CBrushRender,WaterUpdate

You will remove these from the view. To add them back in, simply remove them from the above line. 

More than one job can be filtered by using a comma like the example above.

Note: It is case sensitive!

sys_job_system_max_worker 
This sets the number of threads to use for the job system.

sys_job_system_dump_job_list

Print to the console a list of the available "jobs"