System and method for dynamically allocating resources to a game process
First Claim
1. A method of allocating computer resources in a computer system including a multicore processor having a plurality of cores, the method comprising:
- monitoring usage of the computer resources by processes executing on the computer system, the monitoring including monitoring usage of at least one of the multicore processor and a graphics processing unit;
determining, based upon the monitoring, that one of the processes is a high-utilization process of an application in an interactive state, the determining including detecting a condition wherein the condition indicates;
(i) the high-utilization process is consuming greater than a predefined threshold of the computer resources and is running in a fullscreen mode, (ii) a graphics API has been loaded or initialized in the computer system;
allocating one or more of the plurality of cores to the high-utilization process wherein other of the plurality of cores are allocated to remaining ones of the processes, thereby improving performance of the high-utilization process;
detecting the application has transitioned from the interactive state;
wherein the detecting includes monitoring the processes executing on the computer system to determine whether the high-utilization process has transitioned from operating in the fullscreen mode; and
enabling, based upon the detecting, the one or more of the plurality of cores to be allocated to other than the high-utilization process.
4 Assignments
0 Petitions
Accused Products
Abstract
A method of allocating computer resources in a computer system including a multicore processor having a plurality of cores. The method includes monitoring usage of the computer resources by processes executing on the computer system and determining, based upon the monitoring, that one of the processes is a high-utilization process consuming greater than a predefined threshold of the computer resources and corresponds to an application in an interactive state. One or more of the plurality of cores are allocated to the high-utilization process and other of the plurality of cores are allocated to remaining processes, thereby improving performance of the high-utilization process. Upon detecting the application has transitioned from the interactive state, one or more of the cores are previously allocated to the high-utilization process are enabled to be allocated to other than the high-utilization process.
-
Citations
25 Claims
-
1. A method of allocating computer resources in a computer system including a multicore processor having a plurality of cores, the method comprising:
-
monitoring usage of the computer resources by processes executing on the computer system, the monitoring including monitoring usage of at least one of the multicore processor and a graphics processing unit; determining, based upon the monitoring, that one of the processes is a high-utilization process of an application in an interactive state, the determining including detecting a condition wherein the condition indicates;
(i) the high-utilization process is consuming greater than a predefined threshold of the computer resources and is running in a fullscreen mode, (ii) a graphics API has been loaded or initialized in the computer system;allocating one or more of the plurality of cores to the high-utilization process wherein other of the plurality of cores are allocated to remaining ones of the processes, thereby improving performance of the high-utilization process; detecting the application has transitioned from the interactive state;
wherein the detecting includes monitoring the processes executing on the computer system to determine whether the high-utilization process has transitioned from operating in the fullscreen mode; andenabling, based upon the detecting, the one or more of the plurality of cores to be allocated to other than the high-utilization process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for improving performance of a game process in a computer system including a multicore processor having a plurality of cores, the method comprising:
-
monitoring usage of resources of the computer system by processes executing on the computer system, the monitoring including monitoring usage of at least one of the multicore processor and a graphics processing unit; automatically detecting, based upon the monitoring usage, the game process has begun executing on one or more of the plurality of cores wherein the automatically detecting includes detecting a condition wherein the condition indicates;
(i) a high-utilization process is consuming greater than a predefined threshold of the resources and is running in a fullscreen mode, and (ii) a graphics API has been loaded or initialized in the computer system; andautomatically allocating, in response to the automatically detecting the process has begun executing, other processes to one of the plurality of cores different from the one or more of the plurality of cores on which the game process is executing. - View Dependent Claims (19, 20, 21)
-
-
22. A computer system configured to optimize application performance, the computer system comprising:
-
a multicore processor having a plurality of cores; a graphics processing unit; a memory including a performance optimization module wherein the performance optimization module is configured for; monitoring usage of computer resources by processes executing on the computer system, the computer resources including at least one of the multicore processor and the graphics processing unit; determining that one of the processes is a high-utilization process of an application in an interactive state, the determining including detecting a condition wherein the condition indicates;
(i) the high-utilization process is consuming greater than a predefined threshold of the computer resources and is running in a fullscreen mode, and (ii) a graphics API has been loaded or initialized in the computer system;allocating one or more of the plurality of cores to the high-utilization process wherein other of the plurality of cores are allocated to remaining ones of the processes, thereby improving performance of the high-utilization process; detecting the application has transitioned from the interactive state wherein the detecting includes monitoring the processes executing on the computer system to determine whether the high-utilization process has transitioned from operating in the fullscreen mode; and enabling the one or more of the plurality of cores to be allocated to other than the high-utilization process. - View Dependent Claims (23, 24)
-
-
25. A method of allocating computer resources in a computer system including a multicore processor having a plurality of cores, the method comprising:
-
monitoring usage of the computer resources by processes executing on the computer system, the monitoring including monitoring usage of at least one of the multicore processor and a graphics processing unit; determining, based upon the monitoring, that one of the processes is a high-utilization process of an application in an interactive state, the determining including detecting a condition wherein the condition indicates;
(i) the high-utilization process is consuming greater than a predefined threshold of the computer resources and is in a windowed mode in which the window for the high-utilization process is in the foreground, and (ii) a graphics API has been loaded or initialized in the computer system;allocating one or more of the plurality of cores to the high-utilization process wherein other of the plurality of cores are allocated to remaining ones of the processes, thereby improving performance of the high-utilization process; detecting the application has transitioned from the interactive state wherein the detecting includes monitoring the processes executing on the computer system to determine whether the high-utilization process has transitioned from operating in the fullscreen mode; and enabling, based upon the detecting, the one or more of the plurality of cores to be allocated to other than the high-utilization process.
-
Specification