To go along with the render pipeline test in #65 , we want to create a set of "repeating" commands for the Metal app to execute without needing to consult the socket connection to Matlab.
Actually, we already did, and this issue is just here to call them out and add some commentary.
Each one is initiated by a single command from Matlab to the Metal app, and then the Metal app will run automatically for a specified number of frames, repeating the same draw command and in most cases randomizing what it draws.
On each frame during the sequence the Metal app will write back to Matlab two timestamps:
a "draw" time when the drawing command was completed processing (similar to the processedTime returned from other draw commands)
a "frame" time when the most recent frame was done being presented to the display (similar to the processedTime of mglFlush)
The help text for each of these commands gives an example of how the returned timestamps can be plotted to see how long the Metal app took on each frame to process the randomized draw commands, and to show the frame itself.
To go along with the render pipeline test in #65 , we want to create a set of "repeating" commands for the Metal app to execute without needing to consult the socket connection to Matlab.
Actually, we already did, and this issue is just here to call them out and add some commentary.
The new commands are:
Each one is initiated by a single command from Matlab to the Metal app, and then the Metal app will run automatically for a specified number of frames, repeating the same draw command and in most cases randomizing what it draws.
On each frame during the sequence the Metal app will write back to Matlab two timestamps:
The help text for each of these commands gives an example of how the returned timestamps can be plotted to see how long the Metal app took on each frame to process the randomized draw commands, and to show the frame itself.