Frame buffer sizing to optimize the performance of on screen graphics in a digital electronic device

Chambers; Paul ;   et al.

Patent Application Summary

U.S. patent application number 13/149887 was filed with the patent office on 2011-12-01 for frame buffer sizing to optimize the performance of on screen graphics in a digital electronic device. This patent application is currently assigned to Kno, Inc.. Invention is credited to Paul Chambers, Christophe J. Gillette, Brian Tarricone.

Application Number20110292060 13/149887
Document ID /
Family ID45021681
Filed Date2011-12-01

United States Patent Application 20110292060
Kind Code A1
Chambers; Paul ;   et al. December 1, 2011

Frame buffer sizing to optimize the performance of on screen graphics in a digital electronic device

Abstract

In the instant invention an improved method and device is described for utilizing the frame buffer of and electronic device with a display. The frame buffer is enlarged well beyond the dimensions of the display and the user is unable to change which region of the frame buffer is visible on the display. An application of the electronic device is allocated a region for its exclusive use that is within the portion of the frame buffer which is not visible to the user, and draws into it. The application may also take full advantage of accelerated drawing operations offered by the GPU. Compositing may be done by the application or by a window manager between regions of the enlarged frame buffer, visible on-screen, the portion off-screen, or any combination.


Inventors: Chambers; Paul; (San Jose, CA) ; Gillette; Christophe J.; (Mountain View, CA) ; Tarricone; Brian; (Santa Clara, CA)
Assignee: Kno, Inc.
Santa Clara
CA

Family ID: 45021681
Appl. No.: 13/149887
Filed: May 31, 2011

Related U.S. Patent Documents

Application Number Filing Date Patent Number
61396789 Jun 1, 2010

Current U.S. Class: 345/545
Current CPC Class: G06F 3/0482 20130101; G06F 3/04842 20130101; G06F 1/1643 20130101; G06F 1/1616 20130101; G06F 3/0488 20130101; G06F 1/1647 20130101; G06F 3/04883 20130101; G06F 3/0483 20130101
Class at Publication: 345/545
International Class: G09G 5/36 20060101 G09G005/36

Claims



1. A method for use on a display device comprising: generating a frame buffer larger than the visible area of the display device; redirecting the contents of an on screen window to an area of the frame buffer outside of the visible area; compositing contents of the frame buffer, including at least some portion of the frame buffer outside the visible area; and updating the contents of the visible portion of the frame buffer based on the compositing.

2. A computer readable medium capable of storing a program facilitating the following steps: generating a frame buffer larger than the visible area of the display device; redirecting the contents of an on screen window to an area of the frame buffer outside of the visible area; compositing contents of the frame buffer, including at least some portion of the frame buffer outside the visible area; and updating the contents of the visible portion of the frame buffer based on the compositing.
Description



CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to U.S. Provisional Patent Application 61/396,789 filed Jun. 1, 2010, entitled "Electronic Device for Education", the contents of which are incorporated herein by reference.

FIELD OF THE INVENTION

[0002] The invention relates to generally to electronic devices. More particularly, the invention relates to methods and devices for manipulating the frame buffer.

BACKGROUND OF THE INVENTION

[0003] Devices with a graphical user interface increasingly use a Graphical Processing Unit (GPU) in addition to a CPU. The GPU is responsible for maintaining the image shown to the user, i.e. refreshing the display, and improving the performance of updating that image, i.e. accelerating drawing operations. It is common for the GPU to have dedicated memory set aside for its use. Since it accesses memory intensely, were this not done, competition for access to memory would decrease the performance of both the CPU and GPU.

[0004] This separation between CPU and GPU memory brings other challenges, however. It is commonplace to have constraints on how one unit can access the other's memory. For example, the CPU typically does not have direct access to the GPU memory, and vice-versa. Even if direct access is possible, performance is poor due to the contention issue described above. Thus, the approach used by an application to render images, through the compositing of the output of multiple applications onto one (or more) displays, is one that is critical to user experience, yet difficult to do efficiently and with high performance.

SUMMARY OF THE INVENTION

[0005] In one embodiment of the invention, the frame buffer is enlarged well beyond the dimensions of the display and the user is unable to change which region of the frame buffer is visible on the display. An application is allocated a region for its exclusive use that is within the portion of the frame buffer which is not visible to the user, and draws into it. The application may also take full advantage of accelerated drawing operations offered by the GPU. Compositing may be done by the application or by a window manager between regions of the enlarged frame buffer, visible on-screen, the portion off-screen, or any combination.

BRIEF DESCRIPTION OF THE DRAWINGS

[0006] FIG. 1 shows a frame buffer in accordance with the instant invention.

DETAILED DESCRIPTION OF THE INVENTION

[0007] This invention helps overcome the described difficulties by utilizing an on screen window outside of the display area.

[0008] A frame buffer is a region of memory specially formatted for the GPU to scan in order to send the image to a display device. This is typically done repeatedly, many times a second, as the majority of display technologies in common use today must be constantly refreshed in order to display the image. It is common to have an application render its visual representation into an off-screen buffer in the CPU memory, which will be copied into GPU memory later. It is also common to combine multiple off-screen images through drawing operations that overlap and merge them (e.g. through the use of transparency). This processing is termed compositing.

[0009] It is also customary to hold graphical components in GPU memory (e.g. textures, geometry), that will be later combined to display a visual image (e.g. a 3D scene). These graphical elements are not in a form that can be visualized directly--they are components from which a visual image can be built through additional processing. It is also typical to have more than one frame buffer, so one can be updated while the other is being scanned, so that the display does not show a partially-updated image (typically known as double or triple buffering).

[0010] It is not customary to have a frame buffer whose dimensions do not match that of the display. When that is the case, the portion that is visible to the user may be translated within the larger display, so while the entire frame buffer may not all be visible to the user simultaneously, the user can direct the device to show any portion under his or her control.

[0011] In the instant invention, the frame buffer is enlarged well beyond the dimensions of the display and the user is unable to change which region of the frame buffer is visible on the display. As shown in FIG. 1, the frame buffer (1) is larger than the region visible to the user (2). An application is allocated a region for its exclusive use (3) or (4) that is within the portion of the frame buffer which is not visible to the user, and draws into it (akin to an `off-screen buffer`, but in the GPU memory). The application may also take full advantage of accelerated drawing operations offered by the GPU. Compositing may be done by the application or by a window manager (or similar software component) between regions of the enlarged frame buffer, visible on-screen, the portion off-screen, or any combination.

[0012] In the preferred embodiment, a device may have a display with a resolution of 800 pixels by 600 pixels. Normal practice is for the frame buffer to have the same dimensions. In this embodiment of the invention, the frame buffer is enlarged to 2400.times.600. The region from 0,0 to 799,599 may be assigned to be visible, and be used directly by the GPU to refresh the display. One application might be allocated 800,0 to 999,149, and draw its representation in that 200.times.150 pixel region. Another might be allocated 800,150 to 1200,599, and draw its representation within that 400.times.450 pixel region. A compositing window manager can combine those images by copying them into the visible region at 0,0 to 799,599, perhaps overlapping them, and using transparency during the copy so that one may be seen partially through the other, where they overlap.

[0013] Arbitrary regions of the invisible portions may be allocated to applications, either statically or dynamically, and possibly altered or re-allocated as the application's needs change. This technique may also apply to systems with multiple frame buffers, which may be the same or different sizes. Frame buffers that currently have no portion visible to the user may be considered entirely invisible, and their entire dimensions used in the fashion described above. Or the area that would be visible if the frame buffer were made primary could be reserved and not allocated for off-screen use.

[0014] Optionally, a potentially more efficient path can be used. For example, instead of copying directly from the onscreen window, the pixel data can be copied from the window's back buffer. The pixel data is then blitted to the screen from the off-screen buffer in whatever manner is defined by the rendering pipeline.

* * * * *


uspto.report is an independent third-party trademark research tool that is not affiliated, endorsed, or sponsored by the United States Patent and Trademark Office (USPTO) or any other governmental organization. The information provided by uspto.report is based on publicly available data at the time of writing and is intended for informational purposes only.

While we strive to provide accurate and up-to-date information, we do not guarantee the accuracy, completeness, reliability, or suitability of the information displayed on this site. The use of this site is at your own risk. Any reliance you place on such information is therefore strictly at your own risk.

All official trademark data, including owner information, should be verified by visiting the official USPTO website at www.uspto.gov. This site is not intended to replace professional legal advice and should not be used as a substitute for consulting with a legal professional who is knowledgeable about trademark law.

© 2024 USPTO.report | Privacy Policy | Resources | RSS Feed of Trademarks | Trademark Filings Twitter Feed