Skip to content

Instantly share code, notes, and snippets.

@SamGondelman
Last active May 28, 2019 20:51
Show Gist options
  • Save SamGondelman/ea48e05956405e4cf47ec33e0135a189 to your computer and use it in GitHub Desktop.
Save SamGondelman/ea48e05956405e4cf47ec33e0135a189 to your computer and use it in GitHub Desktop.
(function() { // BEGIN LOCAL_SCOPE
var TOTAL_TIME = 30;
var TIME_STEP = 0.1;
var KEEP_ACTIVE = true
var t = 0;
var i = 0;
var totalSamples = TOTAL_TIME / TIME_STEP;
var timesToMeasure = [ "Game", "Render", "Present", "Engine", "GPU", "Batch" ];
var measuredTimes = [ 0, 0, 0, 0, 0, 0 ];
var numSamples = 0;
var mousePos = Reticle.position;
Controller.mouseMoveEvent.connect(function(event) {
mousePos = { x: event.x, y: event.y }
});
Script.setInterval(function() {
if (t < TOTAL_TIME) {
measuredTimes[0] += Rates.simulation;
measuredTimes[1] += Rates.render;
measuredTimes[2] += Rates.present;
measuredTimes[3] += LODManager.engineRunTime;
measuredTimes[4] += LODManager.gpuTime;
measuredTimes[5] += LODManager.batchTime;
if (KEEP_ACTIVE) {
Reticle.position = { x: mousePos.x + (numSamples % 2 == 0 ? -1 : 1), y: mousePos.y + (numSamples % 2 == 0 ? -1 : 1) };
}
numSamples++;
t += TIME_STEP;
print("Took sample " + ++i + "/" + totalSamples);
} else {
print(timesToMeasure[0] + ": " + measuredTimes[0] / numSamples + " fps, " +
timesToMeasure[1] + ": " + measuredTimes[1] / numSamples + " fps, " +
timesToMeasure[2] + ": " + measuredTimes[2] / numSamples + " fps, " +
timesToMeasure[3] + ": " + measuredTimes[3] / numSamples + " ms, " +
timesToMeasure[4] + ": " + measuredTimes[4] / numSamples + " ms, " +
timesToMeasure[5] + ": " + measuredTimes[5] / numSamples + " ms");
Script.stop();
}
}, TIME_STEP * 1000)
}()); // END LOCAL_SCOPE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment