How to profile the engine?

I've improved the time-system in CE. However, quite obviously this has some flaws that I've yet to trace down. Not easy to do the work of a team solo and with 2 jobs.

The current issue:

The process of starting a game follows this format: Boot, begins timers etc. -> ESYSTEM_EVENT_GAME_POST_INIT, if server == load map, if client == connect -> connections/etc. and loads map

Some logging for my custom CE + custom project setup:
logged during 'connect' execute-string call: Scheduled connection to server, 0.7 seconds have passed since boot.
logged when command actually ran: [CONSOLE] Executing console command 'connect'. [7.0] seconds have passed since boot.
Logged when level load process is started: SetGlobalState 0->1 'INIT'->'LEVEL_LOAD_PREPARE' 14.0 seconds

Meanwhile the standard ball template in stock CE:
Scheduled connection to server, 0.5 seconds have passed since boot.
[CONSOLE] Executing console command 'connect'. [6.1] seconds have passed since boot.
SetGlobalState 0->1 'INIT'->'LEVEL_LOAD_PREPARE' 8.9 seconds

The time between the connect command and when level load is started shouldn't be that long. Sometimes it hits this!
SetGlobalState 0->1 'INIT'->'LEVEL_LOAD_PREPARE' 56.9 seconds

Gotta debug this myself and see where the hang up is, but there's 0 information on how to profile/debug the engine in its respective sections. Would be nice to at least know the basics so I could handle this networking timing issue or whatever......

Re: How to profile the engine?

Sounds like you are looking for the Boot Profiler. This is enabled by default in Profile builds:

The data is stored in the testresults folder in the user data folder generated when running the project.
The tool to analyze the data is in the CRYENGINE/Tools/ProfVis directory.
CRYENGINE Technical Community Manager
Here to help the community and social channels grow and thrive.

My personal belongings;
Beginner Guides | My GitHub | Splash Plugin

Who is online

Users browsing this forum: No registered users and 1 guest