Apparatus, methods, and article for non-redundant generation...

Computer graphics processing and selective visual display system – Computer graphics processing – Graphic manipulation

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S631000

Reexamination Certificate

active

06628297

ABSTRACT:

FIELD OF THE INVENTION
The invention is directed to an apparatus, methods, and article for generating a display in a non-redundant manner so as to decrease memory space and time required by a computing device to generate the display.
BACKGROUND OF THE INVENTION
There are numerous instances in which overlapping rectangular objects occur in computer-generated displays. For example, in browser displays, it is common to see frames including menus, the tool bars, and controls for the browser, within which is displayed another rectangular object for the hypertext mark-up language (HTML) or extensible mark-up language (XML) document displayed within the browser. Word processing programs typically generate displays with similar frames bounding a software “clip-board” for displaying a rectangular portion of a document page. As another example, many application or server programs generate rectangular menu or dialog boxes including rectangular control objects within a larger rectangular objects. For example a rectangular dialog box may be overlapped by rectangular buttons such as “submit” or “cancel”. As yet another example, in some computer game programs and computer graphics programs, a scene object can be overlapped by other rectangular objects. In the Microsoft Windows® or MacIntosh® operating system environments, overlapping windows or other rectangular objects are commonplace.
To generate a display of overlapping objects, an application program is typically pre-programmed with a hierarchy of levels for the display of objects. For example, if a dialog box has a certain position within a display, controls such as software buttons within the dialog box should appear in fixed relation to the dialog box. Thus, if the user drags the dialog box within the display, the buttons within the dialog box will follow the dialog box so that they always have the same relative position with respect to the dialog box that contains them. To display such objects, the computer begins with the object that is lowest in the hierarchy, in this example, the dialog box, and draws objects at successive levels up to the highest object within the hierarchy. In this example, the highest level objects are the two controls. If an object at a particular level of the hierarchy is overlapped by one at a higher level, the computer overwrites the display data for the lower level with that of the higher level for the region in which the two objects overlap. The computer's processor outputs the display data to a monitor or the like to generate the display of such objects on the computer.
Therefore, in previous technologies, generation of displays having overlapping objects involves considerable use of the processing power of the computer's microprocessor to generate data that is not used in the overlapping regions of objects. More specifically, the microprocessor redundantly generates display data for objects in regions overlapped by other objects at higher levels within the hierarchy. It would be desirable to eliminate redundant generation of the display data for such objects to correspondingly reduce the as amount of processing power required to generate such display data. The elimination of redundant display data could lead to significant savings in terms of processing time required of the computing device to generate the display, as well as the memory size required for the display data. To illustrate the magnitude of the problem in more concrete terms, the display size for the video graphics array (VGA) standard common for many monitors and flat-panel displays are six-hundred-forty (640) by four-hundred eighty (480) picture objects (“pixels”). For super VGA (SVGA) the size is one-thousand twenty-four (1,024) by seven-hundred sixty-eight (768) pixels. Because variables such as color and intensity for each pixel can be expressed by as many as twenty-four (24) or more bits, it will be appreciated that the amount of data used to generate an image on a display can be on the order of millions or tens of millions of data bits or more for a single image. If significant amounts of useless data for a display must be generated by a computer, the processing burden may become overwhelming, resulting in degradation of the display. Such degradation can be manifested in terms of slow response by the computer to software events that change the display, or the skipping of objects moving relative to other objects in the display in a hesitating, unnatural manner. It would be desirable to overcome these shortcomings of previous technologies.
Another problem related to the invention pertains to the so-called “garbage collector” or equivalent module present in JAVA and many other types of application development software. The garbage collector basically functions to clear a computing device's memory of data not referenced by program code. When it is launched and operating, the garbage collector consumes a significant amount of the computing device's processing power. This can be a significant disadvantage, particularly in graphics applications in which data processing demands are relatively intensive. In addition, the garbage collector can in some circumstances clear data that is needed by the computing device, and thus slow down the computing device by requiring it to regenerate data that was already available before the garbage collector cleared such data. It would be desirable to overcome these disadvantages of the garbage collector.
SUMMARY OF THE INVENTION
The apparatus, methods and articles of the invention have as their objects to overcome the disadvantages of previous technologies as noted hereinabove, and do in fact overcome such disadvantages to achieve significant benefits over previous technologies.
A first method is performed by a computing device. The first method comprises dividing a visible portion of at least one of a plurality of overlapping objects that has changed from a previous to current update cycle into at least one rect object. In dividing the changed visible portion, the computing device uses a graphical hierarchy defining precedence for display of the objects. By determining changed areas of the display, the computing device can be programmed to avoid using processing power on portions of the display that have not changed from a previous to current update cycle. In addition, the computing device can determine the portions of the display requiring update relatively rapidly through use of the rect object(s). The method can comprise determining whether the rect object is obstructed by an overlapping object at a higher level of the hierarchy. If rect object is obstructed by the overlapping object, the method can comprise dividing the rect object into at least one additional rect object. The method can use the rect object to generate a display. The generation of rect object(s) can involve calling a GetRect method of a RectHandler module of the application program. The GetRect method can be used to retrieve or create a rect object from the RectHandler module's data store to set its property values to indicate the rect object's position and size in the display. The computing device can maintain the relationship between the rect object and the object of which it is a part through use of a tree with pointers establishing relationship between an object and its child rect objects that are a part thereof. Upon calling a display module to display the rect object(s), the computing device can supply the rect object as well as the object identity from which the rect object is derived. Such object identity can be determined by virtue of the tree relationship. Accordingly, the display module of the application program can generate the display of the rect object on the computing device's monitor. After display, the computing device can be programmed to clear the tree or tree branch associated with the rect object to free the computing device's memory of data no longer needed for the display in the current update cycle. A DeliverRect method of the RectHandler module can be called by the appli

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Apparatus, methods, and article for non-redundant generation... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Apparatus, methods, and article for non-redundant generation..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus, methods, and article for non-redundant generation... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3083997

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.