Reducing feedback latency
First Claim
Patent Images
1. A computer-implemented method comprising:
- determining feedback for input data received at a lower-layer software component in a software system, the system comprising a plurality of software layers, the feedback being determined based at least in part on one or more feedback parameters provided by an upper-layer software component in the system and using the lower-layer software component, the one or more feedback parameters having been provided by the upper-layer software component prior to the receipt of the input data by the lower-level software component and the one or more feedback parameters having been further determined by a software component operating in a software layer between a layer in which the lower-layer software component operates and a layer in which the upper-layer software component operates, so that the one or more feedback parameters remain in the lower-layer software component; and
providing at least a portion of the input data to the upper-layer software component for modifying the feedback for future inputs;
the upper-layer software component and lower-layer software component being within a same application, wherein the upper-layer software component is an application layer and the lower-layer software component is a rendering layer for rendering the feedback on a display and the feedback is generated by the lower-layer software component using a combination of the feedback parameters provided by the upper-layer software component and the input data received in the lower-layer software component.
2 Assignments
0 Petitions
Accused Products
Abstract
A latency between an input and its corresponding feedback can be reduced by generating the feedback in a lower-layer software component instead of in an upper-layer software component. The lower-layer component generates the feedback based on one or more parameters associated with a given input type. The parameters were previously created based on, for example, one or more previous inputs. Generating feedback in a lower-layer component reduces the number of software layer boundaries that the input and feedback pass through, thus reducing the latency between the feedback and input.
-
Citations
14 Claims
-
1. A computer-implemented method comprising:
-
determining feedback for input data received at a lower-layer software component in a software system, the system comprising a plurality of software layers, the feedback being determined based at least in part on one or more feedback parameters provided by an upper-layer software component in the system and using the lower-layer software component, the one or more feedback parameters having been provided by the upper-layer software component prior to the receipt of the input data by the lower-level software component and the one or more feedback parameters having been further determined by a software component operating in a software layer between a layer in which the lower-layer software component operates and a layer in which the upper-layer software component operates, so that the one or more feedback parameters remain in the lower-layer software component; and providing at least a portion of the input data to the upper-layer software component for modifying the feedback for future inputs; the upper-layer software component and lower-layer software component being within a same application, wherein the upper-layer software component is an application layer and the lower-layer software component is a rendering layer for rendering the feedback on a display and the feedback is generated by the lower-layer software component using a combination of the feedback parameters provided by the upper-layer software component and the input data received in the lower-layer software component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system comprising:
-
a processor; and one or more computer-readable media having encoded thereon instructions which, when executed by the processor, cause the processor to perform a method, the method comprising, generating feedback for a user interface element, the feedback being generated in a first software component for a later input based at least in part on one or more feedback parameters retained in the first software component and provided by a second software component, the feedback parameters having been provided based on an earlier input and before receipt by the system of the later input, wherein exchanging data between the first and second software components requires crossing one or more thread boundaries, and wherein the first software component and the second software component execute in separate software layers in the system, the separate software layers having different abstraction levels; and executing a default behavior stored in the first software component for an input for which a corresponding feedback parameter is unavailable; wherein the first software component and second software components are different layers of a same application, and the first software component is a rendering layer for displaying the user interface element, the first software component using the one or more feedback parameters received from the second software component and the user interface element for generating the feedback. - View Dependent Claims (13)
-
-
14. One or more computer-readable storage memory having encoded thereon instructions which, when executed by a computer, cause the computer to perform a method in a system having at least an upper software layer and a lower software layer, the method comprising:
-
receiving, at the upper software layer, a description of a first user input of a given type, the upper software layer comprising an application layer; generating, using the upper software layer, one or more transformations for producing feedback corresponding to the first user input of the given type; passing the generated one or more transformations to the lower software layer, the lower software layer comprising a rendering layer, wherein the application layer and rendering layer are in a same application, but the application layer and the rendering layer are at different levels of abstraction within the same application; saving the one or more transformations in the lower software layer for use with future inputs of the given type; receiving, at the lower software layer, a description of a second user input of the given type; and generating, using the saved one or more transformations in the lower software layer, feedback for the second user input of the given type wherein at least a portion of the second user input of the given type is passed to the upper software layer and wherein the at least portion of the second user input of the given type is used to provide a modified one or more transformations to the lower software layer; wherein a default behavior is stored for use by the lower software layer for user input for which feedback is unavailable; and wherein the feedback is for displaying a user interface element and the lower software layer is for displaying the user interface element in response to receiving the second user input.
-
Specification