Description
NOTE: This has been partially fixed so that this will not affect the stream as long as the side menu is closed.
The above spike in CPU usage every second represents a stutter/frame drop that exists exclusively with lower power mode (Windows, for example) in clients, which gets better when the highest power mode (and thus a higher ceiling in CPU clock).
It becomes worse if the stream is actively moving.
Interestingly, the heap either notably increases or sharply decreases during that spike.
The source of this issue is from Vue, where the microtasks every second originate with nextTick, flushCallbacks, flushSchedulerQueue, Watcher.run, Watcher.get, updateComponent, Vue._update, Vue._render, patch, render, normalizeScopedSlots, patchVnode, etc... from vue.js, causes massive lag in the WebRTC video element.
However, this could be a result of our own code components, which would be less concerning than requiring an overhaul in the web interface or a major update in the libraries.
Also note that ff0ba43 is another source that contributes to elevated CPU clocks which must be optimized, but this is separate where the elevated CPU usage is distributed across the whole timeframe and not a brief and sharply blocking CPU spike every second.
Designating as a blocker for project release and a high-priority issue.