Server-Based Rendering Coordination for Multi-Client GPU Reuse
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
When multiple clients perform image rendering simultaneously on the same device, each client conducts independent rendering, leading to a waste of GPU computational resources.
Innovation Solution
A server-based rendering method that determines a target rendering resource identifier for each client, centrally manages rendering instructions, and executes rendering tasks, eliminating the need for individual GPU usage by clients.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple clients perform independent rendering simultaneously, then each client can render images independently, but GPU computational resources are wasted due to redundant rendering operations
Solution Approach 1:
The patent merges the rendering operations of multiple clients by introducing a server that collects rendering requests from multiple clients and consolidates them into batch rendering tasks. The server manages a rendering task queue and executes rendering operations centrally, combining what would otherwise be separate GPU operations into unified processing cycles, thereby eliminating redundant rendering and improving GPU resource utilization efficiency
Solution Approach 2:
The server acts as an intermediary between multiple clients and the GPU rendering system. It receives rendering requests from clients, manages the rendering task queue, and coordinates GPU operations. This intermediary layer eliminates direct client-GPU connections that cause independent rendering, instead mediating through a centralized system that optimizes resource allocation and reduces redundant computational operations
2Ease of operation
If each client conducts independent rendering, then rendering can proceed without coordination, but rendering efficiency decreases due to redundant GPU usage
Solution Approach 1:
The server implements a feedback mechanism by monitoring rendering task queues and adjusting batch processing strategies based on actual rendering workload. It collects rendering requests from multiple clients, prioritizes them according to system state, and dynamically adjusts the rendering batch size and timing to optimize both operational ease and rendering efficiency, preventing redundant GPU operations while maintaining service quality
3Loss of energy
If a server-based centralized rendering approach is adopted, then GPU resource utilization improves, but system complexity increases due to server coordination requirements
Solution Approach 1:
The server is designed as a universal rendering coordination system that handles multiple functions: collecting rendering requests from diverse clients, managing the rendering task queue, prioritizing tasks based on different criteria, batching rendering operations, and distributing results. This multi-functional approach consolidates complexity into a single versatile system rather than requiring separate coordination mechanisms for each client type
Solution Approach 2:
The server performs preliminary actions by pre-processing rendering requests, validating them against system capabilities, and organizing them into optimal batch groups before actual rendering occurs. It manages the rendering task queue in advance, prioritizing tasks and preparing rendering parameters, which reduces the complexity of real-time coordination and enables more efficient GPU resource allocation
Data Source
AI summary
A rendering method, an electronic device and a non-transitory computer-readable storage medium are provided. The rendering method includes: determining a target rendering resource identifier corresponding to at least one client based on a resource identifier acquisition instruction sent by the at least one client; sending the target rendering resource identifier to the at least one client; receiving a rendering instruction sent by the at least one client, wherein the rendering instruction includes the target rendering resource identifier; and rendering a target rendering resource according to the target rendering resource identifier to obtain a rendering result, and sending the rendering result to a corresponding client of the at least one client.


