최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0651177 (2009-12-31) |
등록번호 | US-9830889 (2017-11-28) |
발명자 / 주소 |
|
출원인 / 주소 |
|
인용정보 | 피인용 횟수 : 0 인용 특허 : 243 |
Embodiments of the present invention are directed to provide a method and system for automatically applying artificial limits to display resolutions in a computing system to improve performance. Embodiments are described herein that automatically limits the display resolution of an application execu
Embodiments of the present invention are directed to provide a method and system for automatically applying artificial limits to display resolutions in a computing system to improve performance. Embodiments are described herein that automatically limits the display resolution of an application executing in a discrete graphics processing unit operating from configurations with limited means of data transfer to the system memory. By automatically limiting the resolution in certain detected circumstances, the rate of generated graphics data may be dramatically increased. Another embodiment is also provided which allows for the automatic detection of an application's initialization and pro-actively limiting the user-selectable resolutions in which the output of the application may be displayed in to a maximum resolution calculated for optimal performance. The application's termination is also detected, whereupon a comprehensive list of supported resolutions becomes available.
1. A method for limiting a display resolution of an application executing in a discrete graphics processing unit (GPU) in a computing device, the method comprising: in response to an initialization of the application with graphical output generated by the discrete GPU, referencing a profile correspo
1. A method for limiting a display resolution of an application executing in a discrete graphics processing unit (GPU) in a computing device, the method comprising: in response to an initialization of the application with graphical output generated by the discrete GPU, referencing a profile corresponding to the application from a plurality of profiles corresponding to a plurality of applications to determine a memory usage required by the graphical output of the application;querying a memory of the discrete GPU to determine a size of a frame buffer of the discrete GPU;calculating, based on the memory usage, a maximum resolution for graphical output of the application generated by the discrete GPU to prevent graphics resources from being transferred to and be stored in a main memory of the computing device, wherein the memory usage includes storage space for graphics resources that comprise a plurality of graphical textures, wherein the memory usage does not exceed the size of the frame buffer;filtering a first plurality of display resolutions to remove display resolutions that would cause the memory usage of the application to exceed the size of the frame buffer;caching the filtered first plurality of display resolutions in a display driver corresponding to a display device of the computing device;forcing a first display re-enumeration of the display driver in response to an API call from the application while executing the application in the computing device to an operating system of the computing device to receive a list of resolutions supported by the display device;in response to the first display re-enumeration, replacing the list of resolutions supported by the display device with the filtered first plurality of display resolutions that does not exceed the maximum resolution; anddisplaying graphical output corresponding to the application on the display device according to a first display resolution of the filtered first plurality of display resolutions,wherein a user is not able to select a resolution of graphical output for the application that exceeds the maximum resolution. 2. The method according to claim 1, wherein the calculating, the filtering, the caching, the forcing, and the replacing are performed dynamically in response to a detecting an initializing of an execution of the application in the computing device. 3. The method according to claim 2, further comprising: detecting a termination of the execution of the application in the computing device;forcing a second display re-enumeration of the display driver to receive a plurality of supported display settings;in response to the second display re-enumeration,querying the driver of the discrete GPU to determine a second plurality of display resolutions supported by the discrete GPU; andreturning the second plurality of display resolutions as the list of resolutions supported by the display device, wherein the list of display resolutions is supported by the display device is supported by the discrete GPU irrespective of the application. 4. The method according to claim 1, wherein the filtering the first plurality of display resolutions comprises: accessing the profile corresponding to the application from the plurality of profiles; andparsing the profile to derive memory usage requirements corresponding to the application. 5. The method according to claim 4, wherein the memory usage requirements corresponding to the application is stored in a data structure comprised in the profile corresponding to the application. 6. The method according to claim 5, wherein the data structure is a table. 7. The method according to claim 1, wherein the first plurality of display resolutions comprises a selection of resolutions from the plurality of supported display resolutions. 8. The method according to claim 1, wherein the first plurality of display resolutions comprises the maximum resolution in which a frame of graphical output is able to be rendered by the discrete GPU and, when stored with a plurality of graphical textures in the frame buffer comprised in the memory of the discrete GPU, will not exceed a size of the frame buffer. 9. The method according to claim 8, wherein graphical output corresponding to the application is displayed in the display device at a resolution which does not exceed the maximum resolution. 10. The method according to claim 1, wherein the forcing a display re-enumeration of the display driver is performed by an operating system executing on the computing device. 11. The method according to claim 10, wherein the forcing a display re-enumeration comprises: making an application programming interface (API) call to an operating system executing on the computing device, wherein the API call comprises a flag; andquerying the display driver for the first plurality of display resolutions in response to receiving the API call comprising the flag. 12. The method of claim 1, further comprising: presenting the first plurality of display resolutions to a user of the system;prompting the user for a selection of a display resolution from the first plurality of display resolutions;receiving the selection of the display resolution; andsetting the first display resolution to the selection. 13. A system for limiting a display resolution of an application executing in a discrete graphics processing unit (GPU) of a computing device, the system comprising: the discrete GPU for rendering graphical output;a display device communicatively coupled to the discrete GPU for displaying the graphical output;a graphics memory communicatively coupled to the discrete GPU, the graphics memory comprising a frame buffer;a processor of the computing device, coupled to a main memory of the computing device, for executing an operating system;a plurality of device drivers, comprised in the operating system, including a display driver corresponding to the display device and a graphics driver corresponding to the discrete GPU; anda plurality of applications including the application hosted on the operating system,wherein in response to an initialization of the application of the plurality of applications, an API call is generated from the application to the operating system of the computing device, a display re-enumeration of the display driver is forced in response to the API call, a list of resolutions supported by the display device is received in response to the display re-enumeration, and the list of resolutions supported by the display device is replaced with a filtered first plurality of display resolutions that does not exceed a maximum resolution for graphical output of the application,wherein the filtered first plurality of display resolutions is calculated by determining a size of the frame buffer for the graphics memory by querying the graphics memory and referencing a profile corresponding to the application from a plurality of profiles corresponding to a plurality of applications to determine a memory usage required by graphical output of the application, and by removing display resolutions that would cause the memory usage of the application to exceed the size of the frame buffer, wherein the memory usage includes storage space for graphics resources that comprise a plurality of graphical textures;wherein the maximum resolution is calculated such that graphics resources generated by the discrete GPU as graphical output of the application is prevented from being transferred to and be stored in the main memory of the computing device,further wherein a user is not able to select a resolution of graphical output of the application that exceeds the maximum resolution. 14. The system according to claim 13, wherein the discrete GPU is substantially compliant with PCI-e interface standard. 15. The system according to claim 14, wherein the discrete GPU is communicatively coupled to the processor via a PCI-e interface. 16. A method for limiting resolution of an application executing in a discrete graphics processing unit (GPU) of a computing device, the method comprising: in the computing device comprising the discrete GPU comprising a graphics memory, detecting an initialization of the applicationin response to the detecting the initialization of the application, referencing a profile corresponding to the application from a plurality of profiles corresponding to a plurality of applications to determine a memory usage required by graphical output of the application;querying the graphics memory to determine a size of a frame buffer corresponding to the graphics memory;calculating, based on the memory usage, a maximum resolution for graphical output of the application generated by the discrete GPU to prevent graphics resources from being transferred to and be stored in a main memory of the computing device, wherein the memory usage includes storage space for the graphics resources that comprise a plurality of graphical textures, and wherein the memory usage does not exceed the size of the frame buffer;filtering a list of supported display resolutions to remove display resolutions that would cause the memory usage of the application to exceed the size of the frame buffer; andlimiting the display resolution of graphical output corresponding to the application in a display device to a resolution no greater than the maximum resolution,wherein calculating the maximum resolution for graphical output comprises receiving an API call from the application executing to an operating system of the computing device and forcing a re-enumeration of a plurality of resolutions supported by the display device in response thereto,further wherein a user is not able to select a resolution of graphical output of the application that exceeds the maximum resolution. 17. The method according to claim 16, further comprising: detecting a termination of an application executing in the computing device;in response to the detecting the termination of the application,querying the display device to determine a full list of resolutions supported by the display device; andallowing the display resolution of graphical output displayed in the display device to be any resolution of the full list of resolutions supported by the display device.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.