runplus: only reacquire layout UI if recorder might've rendered

timings for start/stop:
13:38:15.996Z: onStartStop()
13:38:16.006Z: setRecording()
13:38:16.728Z: setRecording() done
13:38:16.732Z: layout.render()
13:38:17.154Z: layout.render() done
13:38:17.157Z: exs.start/stop/resume()
13:38:17.161Z: exs.start/stop/resume() done
13:38:17.462Z: setStatus()

13:38:19.027Z: onStartStop()
13:38:19.199Z: exs.start/stop/resume()
13:38:19.202Z: exs.start/stop/resume() done
13:38:19.495Z: setStatus()

13:38:24.795Z: onStartStop()
13:38:24.805Z: setRecording()
13:38:25.483Z: setRecording() done
13:38:25.487Z: layout.render()
13:38:25.913Z: layout.render() done
13:38:25.915Z: exs.start/stop/resume()
13:38:25.919Z: exs.start/stop/resume() done
13:38:26.218Z: setStatus()

13:38:27.842Z: onStartStop()
13:38:28.010Z: exs.start/stop/resume()
13:38:28.012Z: exs.start/stop/resume() done
13:38:28.309Z: setStatus()

in summary:
setRecording: ~700ms
layout.render(): ~420ms
master
Rob Pilling 2025-04-17 22:34:16 +01:00
parent e06c1d78ea
commit a38fecd20b
1 changed files with 6 additions and 3 deletions

View File

@ -92,9 +92,12 @@ function onStartStop() {
then(() => WIDGETS["recorder"].setRecording(true, { force : shouldResume?"append":undefined })).
then(() => {
screen = "main";
layout.setUI(); // grab our input handling again
layout.forgetLazyState();
layout.render();
if(!shouldResume){
// setRecording might have rendered - need to grab UI
layout.setUI(); // grab our input handling again
layout.forgetLazyState();
layout.render();
}
});
} else {
promise = promise.then(