Ok, was busy for the last few days optimizing for speed, hadn't done a tuneup in a while, managed to get some real improvements.
These quick tests were done to measure the "update load" -- the load caused by CSI just periodically updating the surfaces. There is no input (no button pushing etc.), this is to get a ballpark idea of just the refreshing that occurs all the time.
Happy to report update load down by up to 85% in some of the best cases.
The following tests were done on a late 2012 Mac Mini (2.3 GHz quad i7) running 10.14.6 and Reaper 6.0.
This is a 1420 Track torture test that won't actually run on this box, but you can bank the tracks while it is stopped, so it is valuable as a nice beefy test case.
The EuCon rig (2 Mixes and a Transport) is set up as a 512 Channel EuCon console -- took about 8 minutes for EuControl to concoct it, but it didn't fall over, and ran beautifully once it got online
Banking was almost as responsive as with the 16 Channel / 140 Track standard project used for everyday testing.
Here are the results of a few runs. These are for a single pass, usually the refresh rate for surfaces is set between 15 - 30 Hz so multiply these numbers by about 20 to get a feel for how much of a second CSI eats up -- hint - it's not much
A majority of tracks have an FX or 3 on them plus a few Sends.
1420 Track project
512 Channel EuCon console
Don't forget these are microseconds, divide by 1000 to get milliseconds.
Rebuild Track List - 599 microseconds
Console1 - HandleExternalInput - 2 microseconds
LaunchPad - HandleExternalInput - 2 microseconds
iPad - HandleExternalInput - 10 microseconds
iPhone - HandleExternalInput - 8 microseconds
EuCon - HandleExternalInput - 1 microseconds
Console1 - Request Update - 49 microseconds
LaunchPad - Request Update - 196 microseconds
iPad - Request Update - 12 microseconds
iPhone - Request Update - 12 microseconds
EuCon - Request Update - 513 microseconds
Update Edit Mode Window - 3 microseconds
Total duration = 1407
Rebuild Track List - 391 microseconds
Console1 - HandleExternalInput - 2 microseconds
LaunchPad - HandleExternalInput - 2 microseconds
iPad - HandleExternalInput - 12 microseconds
iPhone - HandleExternalInput - 8 microseconds
EuCon - HandleExternalInput - 2 microseconds
Console1 - Request Update - 35 microseconds
LaunchPad - Request Update - 225 microseconds
iPad - Request Update - 27 microseconds
iPhone - Request Update - 14 microseconds
EuCon - Request Update - 507 microseconds
Update Edit Mode Window - 1 microseconds
Total duration = 1226
Rebuild Track List - 417 microseconds
Console1 - HandleExternalInput - 3 microseconds
LaunchPad - HandleExternalInput - 2 microseconds
iPad - HandleExternalInput - 11 microseconds
iPhone - HandleExternalInput - 10 microseconds
EuCon - HandleExternalInput - 4 microseconds
Console1 - Request Update - 36 microseconds
LaunchPad - Request Update - 258 microseconds
iPad - Request Update - 26 microseconds
iPhone - Request Update - 23 microseconds
EuCon - Request Update - 520 microseconds
Update Edit Mode Window - 2 microseconds
Total duration = 1312
Rebuild Track List - 429 microseconds
Console1 - HandleExternalInput - 2 microseconds
LaunchPad - HandleExternalInput - 3 microseconds
iPad - HandleExternalInput - 12 microseconds
iPhone - HandleExternalInput - 13 microseconds
EuCon - HandleExternalInput - 2 microseconds
Console1 - Request Update - 43 microseconds
LaunchPad - Request Update - 199 microseconds
iPad - Request Update - 20 microseconds
iPhone - Request Update - 20 microseconds
EuCon - Request Update - 530 microseconds
Update Edit Mode Window - 2 microseconds
Total duration = 1275