IP Library Granted Patent US 12,640,078
Granted Patent B2
US 12,640,078 · App. 18/500,996 · Granted May 26, 2026

Independent refresh rate for multiple monitors

Inventors: Michael Paul Erich Von Hippel (Seattle, WA); Reiner Fink (Mercer Island, WA); Leonardo Esteban Blanco (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC.
G09G3/2092G06F3/1423G09G5/14G09G2340/0435
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 12,640,078
App. No.
18/500,996
Granted
May 26, 2026
Kind
B2
Abstract

Independent refresh rates may be enabled for multiple monitors. Any displays that are presenting content in a full screen mode are refreshed at a rate set by the application presenting the content. All other devices are refreshed at a rate that is determined by a window manager based on various factors including the type of application(s) executing, the size of the applications presenting content, the location of the applications presenting content, hardware configurations, and so forth.

Claims (40)

1 . A computer-implemented method comprising:

identifying a first application presenting first content on a first display and a second application presenting second content on a second display;

retrieving a refresh rate for the first display based on an optimal refresh rate for the first application when the first application is presenting the first content in full screen mode;

determining a refresh rate for the second display, wherein the refresh rate for the second display is variable and higher than the refresh rate for the first display;

causing the first content to be refreshed on the first display at the refresh rate for the first display;

causing the second content to be refreshed on the second display at the refresh rate for the second display; and

timing frames of a first sequence of frames of the first display with frames of a second sequence of frames of the second display by, after a first frame of the first sequence, refreshing a successive frame of the first sequence at a first time with a most recently received frame of the second sequence that is displayed at a second time that is earlier than the first time.

2 . The computer-implemented method of claim 1 , wherein timing frames comprises timing a second frame of the first sequence of the first display with a fourth frame of the second sequence of the second display.

3 . The computer-implemented method of claim 1 , wherein timing frames comprises timing a third frame of the first sequence of the first display with a seventh frame of the second sequence of the second display.

4 . The computer-implemented method of claim 1 , wherein timing frames comprises aligning the first frame of the first sequence of the first display with a first frame of the second sequence of the second display.

5 . The computer-implemented method of claim 1 , wherein the refresh rate for the first display is slower than the refresh rate of the second display.

6 . The computer-implemented method of claim 1 , the method further comprising causing a third display to be refreshed at the refresh rate for the first display.

7 . A system comprising:

a first display and a second display;

a memory storing instructions that are executable by a processor;

the processor configured to execute the instructions stored on the memory; and

a window manager, implemented on the processor, configured to:

identify a first application presenting first content on the first display and a second application presenting second content on the second display,

retrieve a refresh rate for the first display based on an optimal refresh rate for the first application when the first application is presenting the first content in full screen mode,

determine a refresh rate for the second display, wherein the refresh rate for the second display is variable and higher than the refresh rate for the first display; and

time frames of a first sequence of frames of the first display with frames of a second sequence of frames of the second display by, after a first frame of the first sequence, refreshing a successive frame of the first sequence at a later time with a most recently received frame of the second sequence that is displayed at an earlier time.

8 . The system of claim 7 , wherein the window manager is further configured to time a second frame of the first sequence of the first display with a fourth frame of the second sequence of the second display.

9 . The system of claim 7 , wherein the window manager is further configured to time a third frame of the first sequence of the first display with a seventh frame of the second sequence of the second display.

10 . The system of claim 7 , wherein the window manager is further configured to align the first frame of the first sequence of the first display with a first frame of the second sequence of the second display.

11 . The system of claim 7 , wherein the refresh rate for the first display is slower than the refresh rate of the second display.

12 . The system of claim 7 , the window manager further configured to cause a third display to be refreshed at the refresh rate for the first display.

13 . The system of claim 7 , wherein the window manager is further configured to, after a first frame of a third sequence of frames of a third display, refresh a successive frame of the third sequence at the first time with a most recently received frame of the second sequence that is displayed at the earlier second time.

14 . A computer-implemented method comprising:

identifying a first application presenting first content on a first display and a second application presenting second content on a second display;

retrieving a refresh rate for the first display based on an optimal refresh rate for the first application when the first application is presenting the first content in full screen mode;

determining a refresh rate for the second display, wherein the refresh rate for the second display is different than the refresh rate for the first display;

causing the first content to be refreshed on the first display at the refresh rate for the first display;

causing the second content to be refreshed on the second display at the refresh rate for the second display; and

aligning the refresh rates for the first and second displays by pulling a frame of a first sequence of the first display at a first time and pulling a frame of a second sequence of the second display to match the frame of the first sequence at a second time, wherein an interval between the first time and the second time is greater than an interval between successive frames of the refresh rate for the first display.

15 . The computer-implemented method of claim 14 , further comprising pulling a second frame of the first sequence at a third time and pulling a second frame of the second sequence to match the second frame of the first sequence at a fourth time, wherein an interval between the third time and the fourth time is greater than the interval between successive frames of the refresh rate for the first display.

16 . The computer-implemented method of claim 14 , further comprising pulling a second frame of the first sequence at a third time and pulling a second frame of the second sequence to match the second frame of the first sequence at a fourth time, wherein pulling the second frame of the second sequence to match the second frame of the first sequence at the fourth time comprises skipping a frame of the first sequence of the first display.

17 . The computer-implemented method of claim 14 , further comprising pulling a second frame of the first sequence at a third time and pulling a second frame of the second sequence to match the second frame of the first sequence at a fourth time, wherein pulling the second frame of the second sequence to match the second frame of the first sequence at the fourth time comprises skipping a pair of frames of the first sequence of the first display.

18 . The computer-implemented method of claim 14 , the method further comprising, after a first frame of a third sequence of frames of a third display, refreshing a successive frame of the third sequence at the first time with a most recently received frame of the second sequence that is displayed at the earlier second time.

19 . The computer-implemented method of claim 14 , wherein the frame of the second sequence is pulled to match the frame of the first sequence at the second time without skipping any frames of the second sequence.

20 . The computer-implemented method of claim 14 , wherein the frame of the second sequence is pulled to match the frame of the first sequence at the second time without repeating any frames of the second sequence.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2023
From: VON HIPPEL, MICHAEL PAUL ERICH; FINK, REINER; BLANCO, LEONARDO ESTEBAN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 065441/0829 →
Continuity (2)
Continuation 17855755 · Jun 30, 2022
Related Publication 20240071283A1 · Feb 29, 2024
References Cited (32)
US 7168048B1 · Goossen · 2007 [cited by examiner]
US 10475405B2 · Choudha · 2019 [cited by examiner]
US 10715882B2 · Ansari · 2020 [cited by examiner]
US 11216287B2 · Hagedorn · 2022 [cited by examiner]
US 11568823B2 · Shen · 2023 [cited by examiner]
US 11574576B1 · Von Hippel · 2023 [cited by examiner]
US 11587531B2 · Ansari · 2023 [cited by examiner]
US 11842669B1 · Von Hippel · 2023 [cited by examiner]
US 11862066B2 · Koo · 2024 [cited by examiner]
US 20060010269A1 · Leibbrandt · 2006 [cited by examiner]
US 20080100598A1 · Juenger · 2008 [cited by examiner]
US 20080150920A1 · Yen · 2008 [cited by examiner]
US 20160189333A1 · Morein · 2016 [cited by examiner]
US 20160357493A1 · Zerwas · 2016 [cited by examiner]
US 20160358303A1 · Juliano · 2016 [cited by examiner]
US 20180260184A1 · Hardacker · 2018 [cited by examiner]
US 20180349151A1 · Hagedorn · 2018 [cited by examiner]
US 20190043451A1 · Ansari · 2019 [cited by examiner]
US 20190156785A1 · Marchya · 2019 [cited by examiner]
US 20200036933A1 · Lee · 2020 [cited by examiner]
US 20200388208A1 · Koo · 2020 [cited by examiner]
US 20220051630A1 · Shen · 2022 [cited by examiner]
US 20220084481A1 · Manepalli · 2022 [cited by examiner]
US 20220309977A1 · Lu · 2022 [cited by examiner]
US 20230134189A1 · Xu · 2023 [cited by examiner]
US 20230215347A1 · Lei · 2023 [cited by examiner]
US 20240021169A1 · Han · 2024 [cited by examiner]
US 20240038180A1 · Liu · 2024 [cited by examiner]
US 20240096280A1 · Choi · 2024 [cited by examiner]
US 20240290295A1 · Komanduru V · 2024 [cited by examiner]
Whitson Gordon, How to Set Up Nvidia G-Sync for Smooth, Tear-Free PC Gaming, Mar. 8, 2021, https://www.pcmag.com/how-to/how-to-set-up-nvidia-g-sync-for-smooth-tear-free-pc-gaming (Year: 2021). [cited by examiner]
Tim Schiesser, Using FreeSync with Nvidia GPUs Examined, Jan. 16, 2019, https://www.techspot.com/article/1779-freesync-and-nvidia-geforce/ (Year: 2019). [cited by examiner]