Electronic game providing device and non-transitory computer-readable storage medium storing electronic game program
US-9592446-B2 · Mar 14, 2017 · US
US11110348B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11110348-B2 |
| Application number | US-201916380831-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 10, 2019 |
| Priority date | Apr 10, 2018 |
| Publication date | Sep 7, 2021 |
| Grant date | Sep 7, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Some implementations of this application are directed to a server system including one or more CPUs, a plurality of GPUs, main dynamic memory storing programs and data for use by the CPUs and/or GPUs during program execution, a static memory pool stored in a non-volatile memory, and a memory controller configured to manage the static memory pool. Each of the GPUs includes a local cache and is configured to access the static memory pool via the memory controller. The server system executes a plurality of gaming sessions for a gaming title in parallel on the one or more CPUs. Each of the plurality of gaming sessions is associated with a static data item stored in the static memory pool, and requires a graphics operation executable by a respective GPU using the static data item.
Opening claim text (preview).
What is claimed is: 1. A method of rendering image frames for online gaming sessions, comprising: executing on one or more CPUs a plurality of online gaming sessions in parallel for a gaming title; rendering by one or more GPUs a plurality of image frames for each of a plurality of online gaming sessions using a first sequence of compiled shaders; identifying a performance criterion for the plurality of online gaming sessions associated with the gaming title; collecting real-time usage statistics characterizing execution of each of the online gaming sessions; and based on the real-time usage statistics, modifying a first shader in the first sequence of compiled shaders to improve performance of the first sequence of compiled shaders with respect to the performance criterion for the plurality of online gaming sessions, thereby creating a modified first sequence of compiled shaders; establishing a shader hash table that associates each of a plurality of performance criteria with a respective sequence of compiled shaders, including associating the performance criterion and the first sequence of compiled shaders in the shader hash table; and storing the shader hash table in a shader cache of a memory. 2. The method of claim 1 , further comprising: replacing the first sequence of compiled shaders stored in a shader cache of the memory with the modified first sequence of compiled shaders. 3. The method of claim 1 , further comprising: storing in a shader cache of the memory the first sequence of compiled shaders as a first version of the first sequence of compiled shaders; storing in the shader cache the modified first sequence of compiled shaders as a second version of the first sequence of compiled shaders; and collecting subsequent usage statistics characterizing execution of each of the online gaming sessions; and in accordance with the subsequent usage statistics, selecting one of the first and second versions of the first sequence of compiled shaders to render the plurality of image frames for each of the plurality of online gaming sessions. 4. The method of claim 1 , wherein modifying the first shader in the first sequence of compiled shaders further comprises: selecting an alternative shader from a group of alternative shader options to replace the first shader in the first sequence of compiled shaders, such that performance of the plurality of online gaming sessions satisfies the performance criterion, wherein the modified first sequence of compiled shaders includes the alternative shader. 5. The method of claim 1 , further comprising: receiving a user instruction to modify the first shader in the first sequence of compiled shaders, wherein the first shader is modified in the first sequence of compiled shaders in response to the user instruction. 6. The method of claim 1 , wherein the first shader in the first sequence of compiled shaders is modified automatically and without user intervention to improve performance of the first sequence of compiled shaders with respect to the performance criterion. 7. The method of claim 1 , wherein creating the modified first sequence of compiled shaders further comprises: modifying a second shader in the first sequence of compiled shaders to improve performance of the first sequence of compiled shaders with respect to the performance criterion. 8. The method of claim 1 , further comprising: determining that the plurality of online gaming sessions need to be rendered in accordance with the performance criterion; and identifying the first sequence of compiled shaders for rending the plurality of image frames for each of the plurality of online gaming sessions. 9. The method of claim 1 , wherein the performance criterion includes a first performance criterion, and the plurality of online gaming sessions are rendered and executed in accordance with a second performance criterion distinct from the first criterion, further comprising: associating the first performance criterion with the modified first sequence of compiled shaders; and associating the second performance criterion with the first sequence of compiled shaders. 10. A server system, comprising: one or more CPUs; one or more GPUs; and memory storing one or more programs for execution by the one or more CPUs and/or GPUs, the one or more programs comprising instructions for: executing on the one or more CPUs a plurality of online gaming sessions in parallel for a gaming title; rendering by the one or more GPUs a plurality of image frames for each of the plurality of online gaming sessions using a first sequence of compiled shaders; identifying a performance criterion for the plurality of online gaming sessions associated with the gaming title; collecting real-time usage statistics characterizing execution of each of the online gaming sessions; and based on the real-time usage statistics, modifying a first shader in the first sequence of compiled shaders to improve performance of the first sequence of compiled shaders with respect to the performance criterion for the plurality of online gaming sessions, thereby creating a modified first sequence of compiled shaders; establishing a shader hash table that associates each of a plurality of performance criteria with a respective sequence of compiled shaders, including associating the performance criterion and the first sequence of compiled shaders in the shader hash table; and storing the shader hash table in a shader cache of the memory. 11. The server system of claim 10 , wherein the performance criterion includes a first performance criterion, further comprising: storing the modified first sequence of compiled shaders in association with the first performance criterion in a shader cache of the memory. 12. The server system of claim 11 , further comprising: while executing the plurality of online gaming sessions: identifying a second performance criterion for the plurality of online gaming sessions associated with the gaming title; determining a second sequence of compiled shaders to improve performance of the first sequence of compiled shaders with respect to the second performance criterion; and storing in the shader cache the second sequence of compiled shaders in association with the second performance criterion. 13. The server system of claim 12 , wherein the usage statistics includes a total power consumption of the plurality of online gaming sessions, and the first performance criterion and the second performance criterion optimize response times and power usage of the plurality of online gaming sessions, respectively, further comprising: in accordance with a determination that the total power consumption of the plurality of online gaming sessions exceeds a predefined power threshold, selecting the second sequence of compiled shaders and rendering the plurality of image frames for each of the plurality of online gaming sessions using the second sequence of compiled shaders. 14. The server system of claim 10 , wherein the usage statistics include information of user inputs, further comprising: associating in the shader hash table a plurality of versions of the first sequence of compiled shaders with the information of user inputs. 15. The server system of claim 10 , further comprising: dynamically updating the shader hash table according to the usage statistics, including replacing the first sequence of compiled shaders in the shader cache with the modified first sequence of compiled shaders. 16. A non-transitory computer readable storage medium storing one or more programs configured for execut
Processor architectures; Processor configuration, e.g. pipelining · CPC title
for performing operations on behalf of the game client, e.g. rendering · CPC title
Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs (mappping at compile time, see G06F8/451) · CPC title
Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title
in hierarchically structured memory systems, e.g. virtual memory systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.