[Enhancement] Start-to-ready time profiling
Start-to-ready time profiling, such that eg. System.Diagnostics.ElapsedMsFromPressingF5orCTRL+F5 in the code gets the elapsed time since pressing F5 in the IDE.
The motivation for this is another issue I encountered: When I first started using Beef, the spacegame was loading almost instantly using F5 with barely noticeable white background flash when using SDL in Accelerated mode. But after updating Windows 10 with march updates the white flash became easily noticeable (it took longer to show the game itself). I had to change SDLApp to hide the window briefly. Profiling said that 600 ms is spent in WinVerifyTrust when using Accelerated mode and if SDL is set to Software mode then it's instant loading again.
I did some testing and looks like just setting a breakpoint first line of code in Main and using the profiler to check time passed seems good enough, however being able to get and save that time from also release runs for monitoring for possible changes in app startup time after system updates is also of interest so I'm not closing this.
The idea would be to append the "Startup time (debug/release) (dbg attached or not): x ms" during every run to a log in order to monitor those possible changes. It's a bummer to notice slowdown in startup time without anything beyond a feeling backing it up.