IP Library Granted Patent US 9,177,352
Granted Patent B2
US 9,177,352 · App. 14/149,701 · Granted Nov 3, 2015

Selective multithreading for sporadic processor workloads

Inventors: Premal Shah (San Diego, CA); Omprakash Dhyade (San Diego, CA)
Assignee: Qualcomm Innovation Center, Inc.
G06T1/20G06F3/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,177,352
App. No.
14/149,701
Granted
Nov 3, 2015
Kind
B2
Abstract

Systems and methods for processing user-interface animations are disclosed. The method may include processing a first frame of a user-interface animation with a first processing core, monitoring a processing time of the first frame of the user-interface animation relative to a first synchronization pulse, and processing, if the elapsed processing time exceeds a threshold, a first portion of the user-interface animation with the first processing core and a second portion of the user-interface animation with a second processing core. Processing of a next frame of the user-interface animation may be initiated with the first processing core while the second processing core is processing the second portion of the user-interface animation.

Claims (31)

1. A method for processing user-interface animations on a computing device, the method comprising:

processing a first frame of a user-interface animation with a first processing core;

monitoring an elapsed processing time of the first frame of the user-interface animation relative to a first synchronization pulse;

processing, if the elapsed processing time exceeds a threshold, a first portion of the first frame with the first processing core and processing a second portion of the first frame with a second processing core; and

initiating, at substantially a same time as a second synchronization pulse, processing of a next frame of the user-interface animation with the first processing core while the second processing core is processing the second portion of the first frame.

2. The method of claim 1 , wherein the user-interface animation is an Android-based user-interface animation and the second portion of the user-interface animation is a render-stage.

3. The method of claim 1 , wherein the threshold is one-half of a time period of the synchronization pulse.

4. The method of claim 1 , wherein the threshold is a tunable threshold.

5. The method of claim 1 , wherein the monitoring includes monitoring the elapsed processing time with a workload detection component implemented in connection with a user-level library.

6. The method of claim 1 , wherein processing the first portion includes managing user-interface elements, frame-to-frame displacement calculation, and recording graphics library commands.

7. The method of claim 6 , wherein processing the second portion includes executing recorded graphics library commands.

8. A non-transitory, tangible processor readable storage medium, encoded with processor readable instructions to perform a method for processing user-interface animations, the method comprising:

processing a first frame of a user-interface animation with a first processing core;

monitoring an elapsed processing time of the first frame of the user-interface animation relative to a first synchronization pulse;

processing, if the elapsed processing time exceeds a threshold, a first portion of the first frame with the first processing core and processing a second portion of the first frame with a second processing core; and

initiating, at substantially a same time as a second synchronization pulse, processing of a next frame of the user-interface animation with the first processing core while the second processing core is processing the second portion of the first frame.

9. The non-transitory, tangible processor readable storage medium of claim 8 , wherein the user-interface animation is an Android-based user-interface animation and the second portion of the user-interface animation is a render-stage.

10. The non-transitory, tangible processor readable storage medium of claim 8 , wherein the threshold is one-half of a time period of the synchronization pulse.

11. The non-transitory, tangible processor readable storage medium of claim 8 , wherein the threshold is a tunable threshold.

12. The non-transitory, tangible processor readable storage medium of claim 8 , wherein the processor readable instructions, when executed, implement a workload detection component that operates in connection with a user-level library.

13. The non-transitory, tangible processor readable storage medium of claim 8 , wherein processing the first portion includes managing user-interface elements, frame-to-frame displacement calculation, and recording graphics library commands.

14. The non-transitory, tangible processor readable storage medium of claim 13 , wherein processing the second portion includes executing recorded graphics library commands.

15. A computing device comprising:

means for processing a first frame of a user-interface animation with a first processing core;

means for monitoring an elapsed processing time of the first frame of the user-interface animation relative to a first synchronization pulse;

means for processing, if the elapsed processing time exceeds a threshold, a first portion of the first frame with the first processing core and a second portion of the first frame with a second processing core; and

means for initiating, at substantially a same time as a second synchronization pulse, processing of a next frame of the user-interface animation with the first processing core while the second processing core is processing the second portion of the first frame.

16. The computing device of claim 15 , wherein the user-interface animation is an Android-based user-interface animation and the second portion of the user-interface animation is a render-stage.

17. The computing device of claim 15 , wherein the threshold is one-half of a time period of the synchronization pulse.

18. The computing device of claim 15 , wherein the threshold is a tunable threshold.

19. The computing device of claim 15 , wherein the monitoring includes monitoring the processing time with a workload detection component implemented in connection with a user-level library.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2014
From: SHAH, PREMAL; DHYADE, OMPRAKASH
To: QUALCOMM INNOVATION CENTER, INC.
Reel/Frame 032628/0195 →
Continuity (1)
Related Publication 20150193959A1 · Jul 9, 2015