IP Library Granted Patent US 10,592,278
Granted Patent B2
US 10,592,278 · App. 13/841,817 · Granted Mar 17, 2020

Defer heavy operations while scrolling

Inventors: Qixing Du (Sunnyvale, CA); Kang Zhang (Mountain View, CA)
Assignee: Facebook, Inc.
G06F9/4881G06F3/0485G06F9/5027G06Q50/01G06F2209/485G06F2209/5021
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 10,592,278
App. No.
13/841,817
Granted
Mar 17, 2020
Kind
B2
Abstract

In one embodiment, a computing device detects an event corresponding to a change in a graphical user interface displayed by the computing device; the computing device identifies at least one operation based on the detected event; the computing device determines a state of the identified operation; the computing device also defers the identified operation based at least in part on the determined state.

Claims (32)

1. A method comprising:

by a computing device, detecting a scroll event corresponding to a change in a graphical user interface displayed, using a first computing process, by the computing device;

by the computing device, identifying, for delayed execution, an operation associated with a second computing process, different from the first computing process, that, if not delayed, would cause the graphical user interface to drop one or more frames, based on the detected event, wherein the identified operation is related to retrieving and rendering content of a structured document used in displaying a webpage in the graphical user interface;

by the computing device, determining a state of the identified operation, the determined state identifying a relative progress of the identified operation with respect to completing an associated task that is currently executing, wherein the relative progress indicates whether the identified operation is (1) idle, (2) at an initial stage of processing data, or (3) almost finished processing data;

by the computing device, determining whether to defer the identified operation for a deferral period based on the determined state and whether the identified operation is likely to trigger an automatic memory management activity controlled by the computing device and not controlled by an application displaying the graphical user interface; and

by the computing device, resuming execution of the identified operation after the deferral period.

2. The method of claim 1 , further comprising, by the computing device:

pausing execution of the identified operation during the deferral period.

3. The method of claim 1 , wherein the change exceeds a pre-determined threshold.

4. The method of claim 1 , wherein the identified operation comprises JavaScript Object Notation (JSON) parsing, database query, data serialization or de-serialization, or photograph decoding.

5. A system comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to:

detect a scroll event corresponding to a change in a graphical user interface displayed, using a first computing process, by the computing device;

identify, for delayed execution, an operation associated with a second computing process, different from the first computing process, that, if not delayed, would cause the graphical user interface to drop one or more frames, based on the detected event, wherein the identified operation is related to retrieving and rendering content of a structured document used in displaying a webpage in the graphical user interface;

determine a state of the identified operation, the determined state identifying a relative progress of the identified operation with respect to completing an associated task that is currently executing, wherein the relative progress indicates whether the identified operation is (1) idle, (2) at an initial stage of processing data, or (3) almost finished processing data;

determine whether to defer the identified operation for a deferral period based on the determined state and whether the identified operation is likely to trigger an automatic memory management activity controlled by the computing device and not controlled by an application displaying the graphical user interface; and

resume execution of the identified operation after the deferral period.

6. The system of claim 5 , wherein the processor is further operable to:

pause execution of the identified operation during the deferral period.

7. The system of claim 5 , wherein the change exceeds a pre-determined threshold.

8. The system of claim 5 , wherein the identified operation comprises JavaScript Object Notation (JSON) parsing, database query, data serialization or de-serialization, or photograph decoding.

9. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

detect a scroll event corresponding to a change in a graphical user interface displayed, using a first computing process, by the computing device;

identify, for delayed execution, an operation associated with a second computing process, different from the first computing process, that, if not delayed, would cause the graphical user interface to drop one or more frames, based on the detected event, wherein the identified operation is related to retrieving and rendering content of a structured document used in displaying a webpage in the graphical user interface;

determine a state of the identified operation, the determined state identifying a relative progress of the identified operation with respect to completing an associated task that is currently executing, wherein the relative progress indicates whether the identified operation is (1) idle, (2) at an initial stage of processing data, or (3) almost finished processing data;

determine whether to defer the identified operation for a deferral period based on the determined state and whether the identified operation is likely to trigger an automatic memory management activity controlled by the computing device and not controlled by an application displaying the graphical user interface; and

resuming execution of the identified operation after the deferral period.

10. The one or more computer-readable non-transitory storage media of claim 9 , wherein the software is further operable when executed to:

pause execution of the identified operation during the deferral period.

11. The one or more computer-readable non-transitory storage media of claim 9 , wherein the change exceeds a pre-determined threshold.

12. The one or more computer-readable non-transitory storage media of claim 9 , wherein the identified operation comprises JavaScript Object Notation (JSON) parsing, database query, data serialization or de-serialization, or photograph decoding.

Assignments (2)
CHANGE OF NAME Recorded Jan 21, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058813/0768 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2013
From: DU, QIXING; ZHANG, KANG
To: FACEBOOK, INC.
Reel/Frame 030405/0945 →
Continuity (1)
Related Publication 20140282129A1 · Sep 18, 2014