Dynamic Slice-to-Frame Ratio for Single-Threaded Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In single-threaded environments, large workloads during video or media rendering can cause frames to be skipped, leading to choppy or unresponsive video playback due to processing time exceeding frame duration, resulting in frustration for users.

Innovation Solution

The workload is divided into slices and scheduled using a dynamic slice-to-frame ratio, which is adjusted based on effective frame and slice rates to maximize workload execution while minimizing frame skips, by assigning workload slices to upcoming frames in a way that ensures consistent rendering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If workload is executed in single-threaded environment during frame rendering, then workload processing is completed, but frame rate decreases and frames are skipped

Engineering Contradiction:
Improveworkload processing throughputVSAvoidframe rendering speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent divides the workload into multiple workload slices that can be distributed across multiple frames. Instead of executing the entire workload in a single frame, the workload is segmented into smaller units (slices) that are processed across successive frames, allowing frame rendering to continue without being blocked by large workload execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic slice-to-frame ratio that adjusts based on system conditions and workload characteristics. The ratio of workload slices per frame is not fixed but dynamically determined to optimize both workload processing efficiency and frame rendering performance, allowing the system to adapt to varying load conditions.

Inventive Principle:
Principle #15Dynamics

2Productivity

If large workload is assigned to a single frame, then workload is processed efficiently, but subsequent frames are delayed or skipped

Engineering Contradiction:
Improveworkload execution efficiencyVSAvoidframe delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The workload is divided into multiple slices that are assigned to different frames, preventing any single frame from being overloaded. This segmentation ensures that each frame contains a manageable amount of workload, completing within its allocated time and preventing delays to subsequent frames.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system proactively divides and distributes workload slices to upcoming frames before execution begins. By pre-planning the workload distribution across multiple frames, the system avoids the situation where a large workload would cause frame delays, ensuring smooth continuous rendering.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If workload slices are processed in every frame, then workload completion rate increases, but frame rendering time increases causing choppiness

Engineering Contradiction:
Improveworkload completion rateVSAvoidframe rendering duration
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The slice-to-frame ratio is dynamically adjusted based on system performance and workload characteristics. Rather than processing workload slices in every frame at a fixed rate, the system adapts the ratio to balance workload completion with maintaining smooth frame rendering, preventing choppiness while maximizing productivity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of slice-to-frame ratio to optimize performance. By adjusting this ratio, the system can control how much workload is processed per frame, finding the optimal balance between workload completion rate and frame rendering duration to eliminate choppiness.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3161631B1Processing workloads in single-threaded environments
Publication Date: 2019.09.25 VMWARE INC
  • EP3161631B1 patent drawingFigure 1
  • EP3161631B1 patent drawingFigure 2
  • EP3161631B1 patent drawingFigure 3

AI summary

A computer implemented method for assigning workload slices from a workload to upcoming frames to be processed during the rendering of the upcoming frames. The processing time of upcoming frames and workload slices varies at runtime according to system resources The method determines an effective frame rate that estimates the duration of an upcoming frame and also determines an effective slice rate that estimates the time it takes to complete an upcoming workload slice. Based on the effective frame rate and the effective slice rate, the method then calculates the slice-to-frame ratio which defines the rate in which slices are assigned to upcoming frames. The slice-to-frame ratio can dynamically change to accommodate for changes to the processing time of rendered frames and completed workload slices.