Skip to content

When menu is open, CPU thread congestion from Vue causes choppy video and frame drop every second #159

Open
@ehfd

Description

@ehfd

NOTE: This has been partially fixed so that this will not affect the stream as long as the side menu is closed.

image

image

image

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.

image

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingperformancePerformance or latency issues, not critical but impacts usagewebWeb components including gst-web

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions