Reducing information transfer in screen capture series
First Claim
1. A computer-readable medium storing in storage computer-executable instructions for causing a computer system programmed thereby to perform a method of capturing a screen area in display by a visual display unit, the method comprising:
- based upon analysis of one or more display driver commands, determining for each of one or more regions of the screen area whether to provide the region with or without bit block transfers from a display card frame buffer, that buffers the screen area for display by the visual display unit that displays the screen area wherein each of the one or more display driver commands is a drawing command sent from an operating system and received by one or more display drivers, and wherein the analysis includes for a new display driver command of the one or more display driver commands;
converting the new display driver command into a new screen capture operation;
comparing new screen capture operation to one or more previous screen capture operations in a list, wherein the comparing includes;
identifying a first portion of the screen area that is affected by the new screen capture operation;
identifying a second portion of the screen area that is affected by a selected one of the previous screen capture operations in the list;
identifying a relation between the first portion of the screen area and the second portion of the screen area; and
setting a first region of the one or more regions of the screen area based upon the relation between the first portion of the screen area and the second portion of the screen area; and
depending on results of the comparing, selectively adding the new screen capture operation into the list while simplifying the list by removing or replacing at least one redundant operation among the one or more previous screen capture operations in the list; and
constructing a representation of the screen area in system memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A screen capture tool reduces information transfer when capturing a series of screen areas. For example, the screen capture tool reduces usage of Bit Block Transfer operations from a display card frame buffer to system memory. The screen capture tool scans pixel values in portions of a screen area to detect changes relative to a previously captured screen area, identifying portions to be updated by BitBlt operation. Or, the screen capture tool analyzes display driver commands to identify portions of a screen area to be updated by BitBlt operation. The screen capture tool then constructs a representation of the screen area. For example, the screen capture tool provides portions of the screen area that do not require a BitBlt operation (which may involve copying or other use of pixel information already in system memory) and then captures other portions of the screen area by BitBlt operation.
-
Citations
50 Claims
-
1. A computer-readable medium storing in storage computer-executable instructions for causing a computer system programmed thereby to perform a method of capturing a screen area in display by a visual display unit, the method comprising:
-
based upon analysis of one or more display driver commands, determining for each of one or more regions of the screen area whether to provide the region with or without bit block transfers from a display card frame buffer, that buffers the screen area for display by the visual display unit that displays the screen area wherein each of the one or more display driver commands is a drawing command sent from an operating system and received by one or more display drivers, and wherein the analysis includes for a new display driver command of the one or more display driver commands; converting the new display driver command into a new screen capture operation; comparing new screen capture operation to one or more previous screen capture operations in a list, wherein the comparing includes; identifying a first portion of the screen area that is affected by the new screen capture operation; identifying a second portion of the screen area that is affected by a selected one of the previous screen capture operations in the list; identifying a relation between the first portion of the screen area and the second portion of the screen area; and setting a first region of the one or more regions of the screen area based upon the relation between the first portion of the screen area and the second portion of the screen area; and depending on results of the comparing, selectively adding the new screen capture operation into the list while simplifying the list by removing or replacing at least one redundant operation among the one or more previous screen capture operations in the list; and constructing a representation of the screen area in system memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer-readable medium storing in storage computer-executable instructions for causing a computer system programmed thereby to perform a method of capturing a screen area in display by a visual display unit, the method comprising:
-
at each of one or more pixel locations of a screen area being buffered by a display card frame buffer for display by a visual display unit that displays the screen area, scanning for a pixel value change in order to reduce use of bit block transfers when constructing a representation of the screen area, wherein the bit block transfers are operations for transferring pixel values from the display card frame buffer to system memory, and wherein the scanning at the pixel location includes; comparing a pixel value at the pixel location in the screen area to an expected value; when no pixel value change is detected, designating a block of the screen area including the pixel location to be provided without bit block transfers when constructing the representation of the screen area in the system memory; otherwise, designating the block of the screen area including the pixel location to be provided with bit block transfer when constructing the representation of the screen area in the system memory; joining one or more blocks of the screen area designated to be provided without bit block transfers with plural blocks of the screen area designated to be provided with bit block transfer to improve bit block transfer efficiency, including; setting a boundary rectangle in the screen area around the plural blocks of the screen area designated to be provided with bit block transfer; identifying the one or more blocks of the screen area designated to be provided without bit block transfers as being within the boundary rectangle in the screen area; and designating the boundary rectangle in the screen area to be provided with bit block transfer; and constructing the representation of the screen area in system memory based at least in part upon the block designations. - View Dependent Claims (25, 26, 27, 28)
-
-
29. In a screen capture tool, a method comprising:
-
based upon analysis of one or more display driver commands, identifying any regions of a screen area to capture by transfer of pixel information from a display card frame buffer, that buffers the screen area for display by a visual display unit that displays the screen area wherein each of the one or more display driver commands is a drawing command sent from an operating system and received by one or more display drivers, and wherein the analysis includes for a new display driver command of the one or more display driver commands; converting the new display driver command into a new screen capture operation; comparing the new screen capture operation to one or more previous screen capture operations in a list, wherein the comparing includes; identifying a first portion of the screen area that is affected by the new screen capture operation; identifying a second portion of the screen area that is affected by a selected one of the previous screen capture operations in the list; identifying a relation between the first portion of the screen area and the second portion of the screen area; and setting a first region of the regions of the screen area based upon the relation between the first portion of the screen area and the second portion of the screen area; and depending on results of the comparing between the new screen capture operation and the one or more previous screen capture operations in the list, selectively updating the list to assimilate the new screen capture operation into the list; and transferring the pixel information from the display card frame buffer to system memory for the identified regions. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. In a screen capture tool, a method comprising:
-
scanning pixel values at pixel locations of a screen area in a display card frame buffer to identify pixel value changes in portions of the screen area and thereby reduce use of bit block transfers when constructing a representation of the screen area, wherein the display card frame buffer buffers the screen area for display by a visual display unit that displays the screen area, wherein the bit block transfers are operations for transferring pixel values from the display card frame buffer to system memory, and wherein for a given pixel location of the pixel locations the scanning includes; comparing a pixel value at the given pixel location in the screen area to an expected value; when no pixel value change is identified, designating a portion of the screen area including the given pixel location to be provided without bit block transfers when constructing the representation of the screen area in the system memory; otherwise, designating the portion of the screen area including the given pixel location to be provided with bit block transfer when constructing the representation of the screen area in the system memory; joining plural portions of the screen area in which pixel value changes are identified in the scanning with one or more portions of the screen area in which no pixel value change is identified in the scanning, thereby improving bit block transfer efficiency including; setting a boundary rectangle in the screen area around the plural portions of the screen area in which pixel value changes are identified in the scanning; identifying the one or more portions of the screen area in which no pixel value change is identified in the scanning as being within the boundary rectangle around the plural portions of the screen area in which pixel value changes are identified in the scanning; and designating the boundary rectangle in the screen area to be provided with bit block transfer; and transferring pixel information from the display card frame buffer to the system memory for the joined portions of the screen area within the boundary rectangle. - View Dependent Claims (39, 40, 41, 42)
-
-
43. A computer system comprising:
-
a display card; a processor; system memory; and a screen capture tool for retrieving from the display card pixel information for screen areas based upon analysis of display driver commands, the screen areas being buffered by a display card frame buffer of the display card for display by a visual display unit wherein each of the analyzed display driver commands is a drawing command sent from an operating system and received by one or more display drivers, and wherein the analysis includes for a new display driver command of the one or more display driver commands; converting the new display driver command into a new screen capture operation; comparing the new screen capture operation to one or more previous screen capture operations in a list, wherein the comparing includes; identifying a first portion of a screen area that is affected by the new screen capture operation; identifying a second portion of the screen area that is affected by a selected one of the previous screen capture operations in the list; identifying a relation between the first portion of the screen area and the second portion of the screen area; and setting a first region of one or more regions of the screen area based upon the relation between the first portion of the screen area and the second portion of the screen area; and depending on results of the comparing between the new screen capture operation and the one or more previous screen capture operations in the list, selectively updating the list to assimilate the new screen capture operation into the list. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50)
-
Specification