KR20230097000A - 애플리케이션 계층 렌더링의 지능형 관리 - Google Patents
애플리케이션 계층 렌더링의 지능형 관리 Download PDFInfo
- Publication number
- KR20230097000A KR20230097000A KR1020237013449A KR20237013449A KR20230097000A KR 20230097000 A KR20230097000 A KR 20230097000A KR 1020237013449 A KR1020237013449 A KR 1020237013449A KR 20237013449 A KR20237013449 A KR 20237013449A KR 20230097000 A KR20230097000 A KR 20230097000A
- Authority
- KR
- South Korea
- Prior art keywords
- render
- synchronization
- synchronization signal
- display system
- manager
- Prior art date
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 29
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 206010016338 Feeling jittery Diseases 0.000 description 1
- 208000033962 Fontaine progeroid syndrome Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3265—Power saving in display device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/12—Synchronisation between the display unit and other units, e.g. other display units, video-disc players
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/18—Timing circuits for raster scan displays
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
- Studio Circuits (AREA)
- Transforming Electric Information Into Light Information (AREA)
Abstract
높은 FPS(frames-per-second) 디스플레이들은 스마트폰들, 랩톱들 등과 같은 디바이스들에서 더 보편화되고 있다. 디스플레이들 상에 데이터를 디스플레이하기 위해, 렌더 동기화 신호 및 구성 동기화 신호는 렌더링 및 구성의 타이밍들을 제어한다. 통상적으로, 디스플레이에 대해 하나의 렌더 동기화 신호 및 하나의 구성 동기화 신호가 있고, 이들 둘 모두는 디스플레이 하드웨어의 HW 동기화 신호와 동일한 주파수를 공유한다. 디스플레이의 FPS가 점점 더 빨라짐에 따라, 즉, HW 동기화 신호 주파수가 증가됨에 따라, 일부 애플리케이션 계층들은 증가된 주파수와 보조를 맞출 정도로 충분히 빠르게 렌더링하는 것이 가능하지 않을 수 있다. 이 문제를 해결하기 위해, 주파수들 및 위상들이 상이한 다수의 렌더 동기화 신호들을 제공하는 것이 제안되고, 상이한 렌더 동기화 신호들이 상이한 애플리케이션 계층들의 렌더링의 타이밍들을 제어하기 위해 사용될 수 있다. 애플리케이션 계층 렌더링의 이러한 관리를 통해, 더 양호한 사용자 경험이 제공될 수 있다.
Description
[0001] 본원에서 설명되는 다양한 양상들은 일반적으로 디스플레이 제어에 관한 것으로, 더 구체적으로, 애플리케이션 계층 렌더링의 지능형 관리에 관한 것이다.
[0002] 스마트 폰들, 랩톱들, 고화질 텔레비전들 등과 같은 디바이스들의 하드웨어 디스플레이 속도들은 점점 더 빨라지고 있다. 예컨대, 디스플레이들의 FPS(frames-per-second) 능력들이 증가되고 있다. 일반적으로는 바람직하지만, 증가되는 디스플레이 속도는 시각적 정보를 디스플레이되게 렌더링하는 애플리케이션 계층들을 동기화하는 것이 해결되어야 하는 중요한 문제가 될 수 있다는 것을 또한 의미한다.
[0003] 이 요약은 일부 예시적인 양상들의 특징들을 식별하고, 개시되는 발명대상의 배타적이거나 또는 포괄적인 설명이 아니다. 특징들 또는 양상들이 이 요약에 포함되는지 또는 이 요약으로부터 생략되는지는 그러한 특징들의 상대적인 중요성을 표시하는 것으로 의도되지 않는다. 추가적인 특징들 및 양상들이 설명되고, 다음의 상세한 설명을 읽고 그의 일부를 형성하는 도면들을 볼 때 당업자에게 명백하게 될 것이다.
[0004] 디스플레이 시스템의 예시적인 렌더 관리자가 개시된다. 렌더 관리자는 렌더 동기화 수신기, 렌더 동기화 스케줄러, 및 렌더 동기화 응답기를 포함할 수 있다. 렌더 동기화 수신기는 하나 이상의 애플리케이션 계층들로부터 하나 이상의 렌더 동기화 요청들을 수신하도록 구성될 수 있다. 렌더 동기화 스케줄러는, 각각의 렌더 동기화 요청에 대해, 복수의 렌더 동기화 신호들로부터 렌더 동기화 신호를 선택하도록 구성될 수 있다. 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의할 수 있다. 렌더 동기화 응답기는, 각각의 렌더 동기화 요청에 대해, 그 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송하도록 구성될 수 있다. 렌더 동기화 응답은 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함할 수 있다. 각각의 애플리케이션 계층에 대해, 선택된 렌더 동기화 신호의 발생은 그 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정할 수 있다.
[0005] 계층 렌더 관리를 위한 예시적인 방법이 개시된다. 방법은 하나 이상의 애플리케이션 계층들로부터 하나 이상의 렌더 동기화 요청들을 수신하는 단계를 포함할 수 있다. 방법은 또한, 각각의 렌더 동기화 요청에 대해, 복수의 렌더 동기화 신호들로부터 렌더 동기화 신호를 선택하는 단계를 포함할 수 있다. 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의할 수 있다. 방법은, 각각의 렌더 동기화 요청에 대해, 그 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송하는 단계를 더 포함할 수 있다. 렌더 동기화 응답은 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함할 수 있다. 각각의 애플리케이션 계층에 대해, 선택된 렌더 동기화 신호의 발생은 그 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정할 수 있다.
[0006] 디스플레이 시스템의 다른 예시적인 렌더 관리자가 개시된다. 렌더 관리자는 하나 이상의 애플리케이션 계층들로부터 하나 이상의 렌더 동기화 요청들을 수신하기 위한 수단을 포함할 수 있다. 렌더 관리자는 또한, 각각의 렌더 동기화 요청에 대해, 복수의 렌더 동기화 신호들로부터 렌더 동기화 신호를 선택하기 위한 수단을 포함할 수 있다. 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의할 수 있다. 렌더 관리자는, 각각의 렌더 동기화 요청에 대해, 그 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송하기 위한 수단을 더 포함할 수 있다. 렌더 동기화 응답은 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함할 수 있다. 각각의 애플리케이션 계층에 대해, 선택된 렌더 동기화 신호의 발생은 그 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정할 수 있다.
[0007] 디스플레이 시스템의 렌더 관리자를 위한 컴퓨터 실행 가능 명령들을 저장하는 비일시적 컴퓨터 판독 가능 매체가 개시된다. 실행 가능 명령들은 렌더 관리자에게 하나 이상의 애플리케이션 계층들로부터 하나 이상의 렌더 동기화 요청들을 수신할 것을 명령하는 하나 이상의 명령들을 포함할 수 있다. 실행 가능 명령들은 또한, 렌더 관리자에게, 각각의 렌더 동기화 요청에 대해, 복수의 렌더 동기화 신호로부터 렌더 동기화 신호를 선택할 것을 명령하는 하나 이상의 명령들을 포함할 수 있다. 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의할 수 있다. 실행 가능 명령들은 렌더 관리자에게, 각각의 렌더 동기화 요청에 대해, 그 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송할 것을 명령하는 하나 이상의 명령들을 더 포함할 수 있다. 렌더 동기화 응답은 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함할 수 있다. 각각의 애플리케이션 계층에 대해, 선택된 렌더 동기화 신호의 발생은 그 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정할 수 있다.
[0008] 예시적인 디스플레이 시스템이 개시된다. 디스플레이 시스템은 프로세서, 메모리, 및 렌더 관리자를 포함할 수 있다. 프로세서 및 메모리는 하나 이상의 애플리케이션 계층들을 실행하도록 구성될 수 있다. 렌더 관리자는 하나 이상의 애플리케이션 계층들로부터 하나 이상의 렌더 동기화 요청들을 수신하도록 구성될 수 있다. 렌더 관리자는 또한, 각각의 렌더 동기화 요청에 대해, 복수의 렌더 동기화 신호들로부터 렌더 동기화 신호를 선택하도록 구성될 수 있다. 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의할 수 있다. 렌더 관리자는, 각각의 렌더 동기화 요청에 대해, 그 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송하도록 추가로 구성될 수 있다. 렌더 동기화 응답은 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함할 수 있다. 각각의 애플리케이션 계층에 대해, 선택된 렌더 동기화 신호의 발생은 그 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정할 수 있다.
[0009] 본원에서 개시되는 양상들과 연관된 다른 목적들 및 이점들은 첨부 도면들 및 상세한 설명에 기초하여 당업자에게 명백하게 될 것이다.
[0010] 첨부 도면들은 개시되는 발명대상의 하나 이상의 양상들의 예들의 설명을 보조하기 위해 제시되고, 이들의 제한이 아니라 예들의 예시를 위해서만 제공된다.
[0011] 도 1은 디스플레이 프레임들을 동기화하기 위한 종래의 신호들을 예시한다.
[0012] 도 2는 프레임의 종래의 디스플레이의 예를 예시한다.
[0013] 도 3은 본 개시내용의 하나 이상의 양상들에 따른, 애플리케이션 계층들에 의한 렌더링을 스케줄링하기 위한 애플리케이션 계층들과 렌더 관리자 사이의 통신을 예시한다.
[0014] 도 4는 본 개시내용의 하나 이상의 양상들에 따른, 렌더링을 위한 애플리케이션 계층들에 대한 다수의 렌더 동기화 신호들의 예를 예시한다.
[0015] 도 5는 본 개시내용의 하나 이상의 양상들에 따른, 프레임의 예시적인 디스플레이를 예시한다.
[0016] 도 6은 본 개시내용의 하나 이상의 양상들에 따른, 예시적인 디스플레이 시스템에서 이용될 수 있는 컴포넌트들의 여러 샘플 양상들의 블록도를 예시한다.
[0017] 도 7은 본 개시내용의 하나 이상의 양상들에 따른, 디스플레이 시스템에 의해 수행되는 예시적인 방법의 흐름도를 예시한다.
[0018] 도 8은 디스플레이 시스템이 통합된 디바이스들의 예들을 예시한다.
[0011] 도 1은 디스플레이 프레임들을 동기화하기 위한 종래의 신호들을 예시한다.
[0012] 도 2는 프레임의 종래의 디스플레이의 예를 예시한다.
[0013] 도 3은 본 개시내용의 하나 이상의 양상들에 따른, 애플리케이션 계층들에 의한 렌더링을 스케줄링하기 위한 애플리케이션 계층들과 렌더 관리자 사이의 통신을 예시한다.
[0014] 도 4는 본 개시내용의 하나 이상의 양상들에 따른, 렌더링을 위한 애플리케이션 계층들에 대한 다수의 렌더 동기화 신호들의 예를 예시한다.
[0015] 도 5는 본 개시내용의 하나 이상의 양상들에 따른, 프레임의 예시적인 디스플레이를 예시한다.
[0016] 도 6은 본 개시내용의 하나 이상의 양상들에 따른, 예시적인 디스플레이 시스템에서 이용될 수 있는 컴포넌트들의 여러 샘플 양상들의 블록도를 예시한다.
[0017] 도 7은 본 개시내용의 하나 이상의 양상들에 따른, 디스플레이 시스템에 의해 수행되는 예시적인 방법의 흐름도를 예시한다.
[0018] 도 8은 디스플레이 시스템이 통합된 디바이스들의 예들을 예시한다.
[0019] 발명대상의 양상들은 개시되는 발명대상의 특정 예들과 관련된 다음의 설명 및 관련 도면들에서 제공된다. 개시되는 발명대상의 범위로부터 벗어나지 않으면서 대안들이 고안될 수 있다. 추가적으로, 잘 알려져 있는 엘리먼트들은 상세히 설명되지 않을 것이거나 또는 관련 세부사항들을 불명료하게 하지 않기 위해 생략될 것이다.
[0020] "예시적인"이라는 단어는 "예, 예시, 또는 예증으로서 역할을 하는 것"을 의미하도록 본원에서 사용된다. "예시적인" 것으로서 본원에서 설명되는 임의의 양상은 반드시 다른 양상들에 비해 바람직하거나 또는 유리한 것으로서 해석되어야 하는 것은 아니다. 마찬가지로, "양상들"이라는 용어는 모든 양상들이 논의되는 특징, 이점, 또는 동작 모드를 포함하는 것을 요구하지 않는다.
[0021] 본원에서 사용되는 용어는 특정 양상들만을 설명하고, 본원에서 개시되는 임의의 양상들을 제한하는 것으로 해석되지 않아야 한다. 본원에서 사용되는 바와 같이, 단수형들("a", "an", 및 "the")은, 문맥상 명확히 달리 표시되지 않는 한, 복수형들을 또한 포함하는 것으로 의도된다. 본원에서 사용되는 바와 같은 "구비한다", "구비하는", "포함한다", 및/또는 "포함하는"이라는 용어들이 진술된 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 및/또는 컴포넌트들의 존재를 지정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지는 않는다는 것을 당업자는 추가로 이해할 것이다.
[0022] 추가로, 예컨대, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 액션들의 시퀀스들에 관하여 다양한 양상들이 설명될 수 있다. 본원에서 설명되는 다양한 액션들이 특정 회로들(예컨대, ASIC(application specific integrated circuit)), 하나 이상의 프로세서들에 의해 실행되는 프로그램 명령들, 또는 이들 둘 모두의 조합에 의해 수행될 수 있다는 것을 당업자는 인식할 것이다. 추가적으로, 본원에서 설명되는 액션들의 이러한 시퀀스들은, 실행 시에, 연관된 프로세서로 하여금 본원에서 설명되는 기능성을 수행하게 할 컴퓨터 명령들의 대응하는 세트가 저장된 임의의 형태의 비일시적 컴퓨터 판독 가능 매체 내에 완전히 구현되는 것으로 고려될 수 있다. 따라서, 본원에서 설명되는 다양한 양상들은 다수의 상이한 형태들로 구현될 수 있고, 이들 모두는 청구되는 발명대상의 범위 내에 있는 것으로 고려된다. 추가하여, 본원에서 설명되는 양상들 각각에 대해, 임의의 그러한 양상들의 대응하는 형태는, 예컨대, 설명되는 액션을 수행하도록 "구성된 로직" 및/또는 설명되는 액션을 수행하도록 구성된 다른 구조적 컴포넌트들로서 본원에서 설명될 수 있다.
[0023] 본원에서 사용되는 바와 같이, "디스플레이 시스템"이라는 용어는, 달리 언급되지 않는 한, 임의의 특정 디스플레이 기술에 특정적이거나 또는 다른 방식으로 제한되는 것으로 의도되지 않는다. 일반적으로, 디스플레이 시스템은 하나 이상의 디스플레이들을 포함하는 임의의 디바이스일 수 있다. 일부 경우들에서, 디스플레이들은 디바이스들 내에 내장될 수 있다. 모바일 폰들, 태블릿들, 및 랩톱들은 내장형 디스플레이들을 갖는 디바이스들의 예들일 수 있다. 다른 경우들에서, 디스플레이들은 인터페이스 커넥터들(예컨대, HDMI(high-definition multimedia interface), DVI(digital visual interface), VGA(video graphics array), SDI(serial digital interface) 등)을 통해 디바이스들에 연결될 수 있다. 일부 디바이스들은 내장형 디스플레이들뿐만 아니라 연결된 디스플레이들 둘 모두를 포함할 수 있다는 점에 유의한다.
[0024] 위에서 언급된 바와 같이, 스마트 폰들, 랩톱들, 고화질 텔레비전들 등과 같은 디바이스들의 하드웨어 디스플레이 속도들은 점점 더 빨라지고 있다. 60 Hz 디바이스들이 매우 일반적이지만 120 Hz 디바이스들이 점점 더 보편화되고 있다. 또한, 180 Hz 및 심지어 240 Hz 디바이스들이 1년 내에 이용 가능하게 될 것으로 예상된다. 증가된 FPS(frames-per-second) 능력들이 바람직하지만, 이는 시각적 정보를 디스플레이들 상에 디스플레이되게 렌더링하는 애플리케이션 계층들을 동기화할 때 상당한 과제들을 또한 제시할 수 있다.
[0025] 디스플레이 스크린 상에 시각적 정보를 제시하는 것은 일반적으로 다음의 동작들 ― 렌더링, 구성, 및 디스플레이를 포함한다. 상이한 애플리케이션 계층들이 표면들을 렌더링하고, 렌더링된 표면들은 프레임으로 구성되고, 구성된 프레임은 디스플레이 상에 디스플레이된다. 이러한 동작들 ― 표면 렌더링, 구성, 및 디스플레이는 동기화 신호들 Vsync-app, Vsync-sf, 및 HW Vsync를 통해 동기화된다. Vsync-app은 애플리케이션 계층 렌더링을 동기화하는 데 사용되고, Vsync-sf는 구성을 동기화하는 데 사용되고, HW Vsync는 하드웨어 리프레시 사이클들을 제어한다.
[0026] 통상적으로, 디스플레이에 대해 하나의 Vsync-app 및 하나의 Vsync-sf가 있고, 이들은 HW Vsync와 동일한 주파수를 공유한다. 이는 도 1에 예시된다. 애플리케이션 계층들 각각은 Vsync-app 이벤트가 발생할 때 표면 렌더링을 시작한다. Vsync-app 이벤트 발생들의 주파수는 렌더링된 표면들의 구성을 시작하는 Vsync-sf 이벤트와 동일한 주파수이다. 따라서, 각각의 Vsync-app 이벤트에서 표면들을 렌더링하고 디스플레이를 위해 표면들을 구성하기 위해 컴퓨테이션 요구가 급증될 수 있다.
[0027] 따라서, 예로서 120 Hz 디스플레이의 경우, HW Vsync, Vsync-sf, 및 Vsync-app은 모두 120 Hz로 실행된다. 모든 일반 애플리케이션들은 렌더링을 위해 120 Hz Vsync-app에 동기화된다. 예외적인 애플리케이션들(예컨대, 게이밍 애플리케이션들)은 "관리되지 않는" 방식으로 실행될 수 있는데, 이는 Vsync-app 이벤트들 또는 신호들과 보조를 맞출 정도로 충분히 빠르게 그의 표면들을 렌더링하는 것이 가능하지 않을 수 있는 애플리케이션 계층들을 나타낼 수 있다. 예컨대, 애플리케이션 계층은 표면을 렌더링하는 데 8.33 ms(1/120 Hz)보다 더 오래 걸릴 수 있다. 그러나, 모든 애플리케이션 계층들이 120 Hz Vsync-app 주파수로 렌더링하도록 강제되는 경우, 결과적인 디스플레이는 매끄럽지 않고 대체로 쾌적하지 않을 수 있다. 도 2는 단일 프레임의 종래의 디스플레이의 예를 예시한다. 애플리케이션 계층들의 모든 표면들(상태 바들, 슬라이딩 애니메이션 윈도우, 내비게이션 바들, 게임 윈도우, 게임 상태 바, 위챗(wechat) 윈도우 등)은 120 Hz로 렌더링된다는 점에 유의한다.
[0028] 모든 애플리케이션 계층들이 120 Hz로 렌더링될 필요는 없다는 점에 유의한다. 더 일반적으로, 모든 애플리케이션 계층들이 디스플레이 하드웨어의 FPS 레이트로 렌더링될 필요는 없다. 즉, 모든 애플리케이션 계층들이 HW Vsync 주파수로 렌더링하는 것을 필요로 하는 것은 아니다. 예컨대, 내비게이션 및 상태 바들은 더 낮은 주파수들, 예컨대, 60 Hz로 렌더링될 수 있지만, 슬라이딩 애니메이션과 같은 다른 것들은 120 Hz의 높은 레이트로 렌더링되어야 한다. 위챗과 같은 일부 애플리케이션들은 120 Hz의 HW Vsync 레이트로 렌더링하도록 강제될 때 관리되지 않을 수 있는데, 이는 현저한 버벅거림 및 매끄럽지 않은 상태를 초래할 수 있다. 이는 모든 애플리케이션 계층들을 동일한 가장 높은 주파수로 렌더링하도록 강제하는 것이 바람직하지 않을 수 있다는 것을 다시 나타낸다.
[0029] 이러한 문제들을 해결하기 위해, 애플리케이션 계층 렌더링을 위한 다수의 Vsync-app들을 제공하는 것이 제안된다. 더 일반적으로, 다수의 렌더 동기화 신호들을 제공하는 것이 제안되고, 각각의 렌더 동기화 신호는 애플리케이션 계층들에 의한 표면들의 렌더링을 동기화하는 데 유용하다. Vsync-app은 렌더 동기화 신호의 예일 수 있다. 애플리케이션 계층들 각각은 렌더링을 위해 렌더 동기화 신호들 중 하나와 매칭될 수 있다. 이러한 방식으로, 애플리케이션 계층들에는 상이한 렌더 스케줄링이 제공될 수 있다. 동적일 수 있는 다수의 렌더 동기화 신호들은 상이한 주파수들, 위상 오프셋들, 스케줄링(예컨대, 시작/종료/슬립), 및 동적 FPS 스위칭을 가질 수 있다. 다수의 렌더 동기화 신호들은 HW 동기화 신호(예컨대, HW Vsync) 및 구성 동기화 신호(예컨대, Vsync-sf)와의 관계들을 공유할 수 있다.
[0030] 렌더 관리자가 애플리케이션 계층들을 렌더 동기화 신호들과 매칭하기 위해 제공될 수 있다. 애플리케이션 계층들은 표 1에 예시된 바와 같은 상이한 QOS(quality of service) 카테고리들로 태깅된 선호 렌더 FPS 리스트들을 요청하기 위해 렌더 관리자에 렌더 동기화 요청들을 할 수 있다.
[0031] 렌더 관리자는 각각의 계층에 대해 현재의 프레임의 렌더 FPS를 선택하거나 또는 다른 방식으로 결정할 수 있다. 이는 도 3에 예시된다. 보이는 바와 같이, 다수의 렌더 동기화 신호들 ― render-sync-1, render-sync-2 ... render-sync-n ― 이 렌더링 동기화를 위해 이용 가능하다. 각각의 애플리케이션 계층(예컨대, 계층 1, 계층 2, ... 계층 n)은 렌더 관리자에 렌더 동기화 요청(쇄선 화살표들)을 할 수 있다. 차례로, 렌더 관리자는 각각의 요청 애플리케이션 계층에 렌더 동기화 응답으로 응답할 수 있다. 각각의 렌더 동기화 응답은 렌더 동기화 신호들 중 어느 것(예컨대, render-sync-1, render-sync-2 ... render-sync-n 중 임의의 것)이 대응하는 요청 애플리케이션 계층에 대해 선택되었는지를 표시할 수 있다.
[0032] 도 4는 도 1에 예시된 종래의 시나리오와 다른, 애플리케이션 계층 렌더링을 위해 다수의 렌더 동기화 신호들를 활용하는 런타임의 예를 예시한다. 도 4에서, HW 동기화 신호(하드웨어 디스플레이 주파수)와 구성 동기화 신호(구성 주파수) 둘 모두가 120 Hz인 것으로 가정된다.
[0033] 그러나, 단지 하나의 렌더 동기화 신호 대신에, 복수의 렌더 동기화 신호들이 이용 가능할 수 있다. 예시로서, 3개의 렌더 동기화 신호들 ― 120 Hz의 render-sync-120, 60 Hz의 render-sync-60A, 및 또한 60 Hz이지만 render-sync-60A 신호로부터 위상이 오프셋된 render-sync-60B가 표시된다. 도 4는 또한, 상이한 애플리케이션 계층들이 렌더링을 위해 다수의 렌더 동기화 신호들과 매칭될 수 있다는 것을 도시한다. 예컨대, render-sync-120은 App-layer-1에 대해 선택될 수 있다. 이는 App-layer-1이 120 FPS의 하드웨어 디스플레이 주파수로 표면 렌더링을 수행할 수 있다는 것을 의미한다. 다른 예로서, render-sync-60A가 App-layer-2에 대해 선택될 수 있는데, 이는 App-layer-2가 60 FPS로 렌더링할 수 있다는 것을 의미한다. 이는 App-layer-2가 App-layer-1과 비교할 때 표면을 렌더링하는 데 2배의 시간 지속기간(16.67 ms vs 8.33 ms)이 걸릴 수 있다는 것을 암시한다. 추가의 예로서, render-sync-60B가 App-layer-3에 대해 선택될 수 있는데, 이는 App-layer-3이 또한 60 FPS로 렌더링할 수 있다는 것을 의미한다. 추가하여, 위상 오프셋으로 인해, App-layer-3은 App-layer-2와 동시에 그의 표면 렌더링을 시작할 필요가 없다. 위상 오프셋들의 사용은 컴퓨테이션 리소스들에 대한 요구가 분산될 수 있다는 점에서 유리하다.
[0034] 도 4에서 3개의 렌더 동기화 신호들이 예시되어 있지만, 이는 단지 예일 뿐이고 제한이 아니다. 일반적으로, 복수의 렌더 동기화 신호들에는 2개 이상의 렌더 동기화 신호들이 있을 수 있다. 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 복수의 렌더 동기화 신호들 중 적어도 하나의 다른 렌더 동기화 신호와 주파수, 위상, 또는 주파수와 위상 둘 모두에서 상이할 수 있다.
[0035] 또한, 각각의 렌더 동기화 신호에 대해, HW 동기화 신호의 주파수 또는 FPS 대 그 렌더 동기화 신호의 주파수 또는 FPS의 비율은 양의 정수일 수 있다. 예컨대, 도 4에서 HW 동기화 신호와 App-layer-1의 FPS 비율들은 1(120/120)이다. 언급의 편의를 위해, 이러한 비율은 하드웨어(HW) 주파수 비율로 지칭될 수 있다. 이어서, render-sync-60A와 render-sync-60B 둘 모두의 HW 주파수 비율들은 2이다. 특히, HW 주파수 비율들은 2의 거듭제곱들일 수 있는데, 즉, 2n일 수 있고, 여기서, n은 0 이상의 정수이다. 예컨대, App-layer-1, App-layer-2, 및 App-layer-3의 HW 주파수 비율들은 각각 20 = 1, 21 = 2, 및 21 = 2로 표현될 수 있다. 양상에서, HW 주파수 비율들은 양의 정수인 것으로서 더 일반화될 수 있다. 예컨대, 도 4에 명시적으로 도시되어 있지 않지만, 복수의 렌더 동기화 신호들은 render-sync-40A, render-sync-40B, 및 render-sync-40C를 포함할 수 있고, 이들 모두는 40 Hz이고 위상에서 8.33 ms만큼 서로 오프셋이 설정된다.
[0036] 양상에서, 적어도 하나의 렌더 동기화 신호의 HW 주파수 비율은 1일 수 있는데, 즉, 적어도 하나의 렌더 동기화 신호는 render-sync-120과 같이 하드웨어 디스플레이 레이트만큼 빠르게 실행될 수 있다. 다른 양상에서, 복수의 렌더 동기화 신호들은 주파수들은 동일하지만 위상들이 상이한 적어도 2개의 렌더 동기화 신호들을 포함할 수 있다. 달리 말하면, 복수의 렌더 동기화 신호들은 제1 및 제2 주파수들은 동일하지만 제1 및 제2 위상들은 상이하도록 제1 및 제2 주파수들 및 제1 및 제2 위상들을 갖는 제1 및 제2 렌더 동기화 신호들을 포함할 수 있다. 그러한 경우들에서, 제1 및 제2 주파수들은 HW 동기화 신호 주파수보다 더 낮을 수 있다(즉, 더 낮은 FPS).
[0037] 도 4에서, render-sync-60A 및 render-sync-60B는 제1 및 제2 렌더 동기화 신호들의 예들일 수 있다. 그럼에도 불구하고, 더 낮은 주파수 렌더 동기화 신호들이 여전히 HW 동기화 신호와 정렬 또는 일치될 수 있다는 점에 유의한다. 다시 말하면, 렌더 동기화 신호들과 HW 동기화 신호 사이에 여전히 동기화가 있을 수 있다. 예컨대, render-sync-60A 및 render-sync-60B는 실질적으로 하나 걸러 하나의 HW 동기화 신호들과 정렬된다는 점에 유의한다. 더 일반적으로, 제1 렌더 동기화 신호(예컨대, render-sync-60A)의 각각의 발생은 HW 동기화 신호의 매 첫 번째 발생과 일치할 수 있고, 제2 렌더 동기화 신호(예컨대, render-sync-60B)의 각각의 발생은 HW 동기화 신호의 매 두 번째 발생과 일치할 수 있다고 말할 수 있다.
[0038] 렌더 동기화 신호는 다수의 애플리케이션 계층들과 매칭될 수 있다는 점에 유의해야 한다. 다시 말하면, 애플리케이션 계층들과 렌더 동기화 신호들 사이의 일 대 일 매칭이 요구되지 않는다. 또한, 애플리케이션 계층은 상이한 시간들, 예컨대, 상이한 프레임들에서 상이한 렌더 동기화 신호들과 매칭될 수 있다.
[0039] 도 5는 하나 이상의 양상들에 따른, 단일 프레임의 디스플레이의 예를 예시한다. 애플리케이션 계층들의 표면들(상태 바들, 슬라이딩 애니메이션 윈도우, 내비게이션 바들, 게임 윈도우, 게임 상태 바, 위챗 윈도우 등)은 모두 동일한 주파수로 렌더링되는 것이 아니라는 점에 유의한다. 여기서, 상태 및 내비게이션 바들은 120 Hz 대신에 60 Hz로 렌더링될 수 있다. 예컨대, 상태 및 내비게이션 바들의 애플리케이션 계층들의 렌더링은 render-sync-60A 또는 render-sync-60B와 동기화될 수 있다. 또한, 위챗 애플리케이션은 120 Hz 대신에 60 Hz Vsync 신호(예컨대, render-sync-60A 또는 render-sync-60B)와 그의 렌더링을 동기화하여 위챗 애플리케이션에 표면을 렌더링하기 위한 더 많은 시간(예컨대, 16.67 ms)을 제공함으로써 이제 관리될 수 있다. 더 빠른 렌더링이 바람직한 애플리케이션 계층들(예컨대, 슬라이딩 애니메이션 윈도우, 게임 윈도우)의 경우, 이들은 빠른 render-sync-120과 동기화될 수 있다.
[0040] 도 6은 본원에서 개시되는 바와 같은 동작들을 지원하기 위해 디스플레이 시스템(600) 내로 통합될 수 있는 여러 샘플 컴포넌트들(대응하는 블록들에 의해 표현됨)을 예시한다. 컴포넌트들이 상이한 구현들에서 상이한 타입들의 장치들(예컨대, ASIC, SoC(System-on-Chip) 등)로 구현될 수 있다는 것을 인식할 것이다.
[0041] 디스플레이 시스템(600)은, 예컨대, 프레임들의 표면들을 렌더링하는 애플리케이션 계층들을 구현하는 것과 관련된 기능성을 제공하기 위한 프로세서(610)를 포함할 수 있다. 양상에서, 프로세서(610)는, 예컨대, 하나 이상의 범용 프로세서들, 다중 코어 프로세서들, ASIC들, DSP(digital signal processor)들, FPGA(field programmable gate array)들, 또는 다른 프로그램 가능 로직 디바이스들 또는 프로세싱 회로부를 포함할 수 있다.
[0042] 디스플레이 시스템(600)은 또한, 정보(예컨대, 예약된 리소스들, 임계치들, 파라미터들, 렌더 동기화 신호들, 애플리케이션 계층들 등을 표시하는 정보)를 유지하기 위한 메모리(620)를 포함할 수 있다. 다양한 구현들에서, 메모리(620)는 하나 이상의 컴퓨터 실행 가능 명령들을 저장하는 컴퓨터 판독 가능 매체를 포함할 수 있고, 여기서, 하나 이상의 명령들은 디스플레이 시스템(600)(예컨대, 프로세서(619), 렌더 관리자(630), 및/또는 디스플레이 시스템(600)의 다른 양상들)에게 본원에서 설명되는 기능들 중 임의의 것을 수행할 것을 명령한다.
[0043] 디스플레이 시스템(600)은 애플리케이션 계층들의 렌더 스케줄링을 관리하도록 구성된 렌더 관리자(630)를 더 포함할 수 있다. 렌더 관리자(630)는 렌더 동기화 수신기(632), 렌더 동기화 스케줄러(634), 및 렌더 동기화 응답기(636)를 포함할 수 있다. 렌더 관리자(630)의 세부사항들은 아래에서 추가로 제공될 것이다.
[0044] 프로세서, 메모리(620), 및 렌더(630)는 디스플레이 디바이스(640) 또는 단순히 디스플레이(640)의 제시를 위해 프레임들을 렌더링 및 구성하도록 구성될 수 있다. 하나의 디스플레이(640)가 예시되어 있지만, 이는 단지 편의성 및 용이성을 위한 것일 뿐이다. 일반적으로, 디스플레이 시스템(600)은 하나 이상의 디스플레이들(640)을 포함할 수 있다. 또한, 각각의 디스플레이(640)는 디스플레이 시스템(600)의 내부 또는 외부(예컨대, HDMI 케이블을 통해 연결됨)에 있을 수 있다.
[0045] 편의성을 위해, 디스플레이 시스템(600)은 본원에서 설명되는 다양한 예들에 따라 구성될 수 있는 다양한 컴포넌트들을 포함하는 것으로 도 6에 도시된다. 그러나, 예시된 블록들이 상이한 설계들에서 상이한 기능성을 가질 수 있다는 것을 인식할 것이다. 도 6의 컴포넌트들은 다양한 방식들로 구현될 수 있다. 일부 구현들에서, 도 6의 컴포넌트들은, 예컨대, 하나 이상의 프로세서들 및/또는 하나 이상의 ASIC들(이는 하나 이상의 프로세서들을 포함할 수 있음)과 같은 하나 이상의 회로들로 구현될 수 있다. 여기서, 각각의 회로는 이러한 기능성을 제공하기 위해 회로에 의해 사용되는 정보 또는 실행 가능 코드를 저장하기 위한 적어도 하나의 메모리 컴포넌트를 사용하고/하거나 통합할 수 있다. 예컨대, 블록들(610, 620, 및 630)(블록들(632, 634 및 636)을 포함함)에 의해 표현되는 기능성 중 일부 또는 전부는 디스플레이 시스템(600)의 프로세서 및 메모리 컴포넌트(들)에 의해(예컨대, 적절한 코드의 실행에 의해 그리고/또는 프로세서 컴포넌트들의 적절한 구성에 의해) 구현될 수 있다.
[0046] 도 7은 디스플레이 시스템(600)과 같은 디스플레이 시스템에 의해 수행되는 예시적인 방법의 흐름도를 예시한다. 메모리(620)는 렌더 관리자(630)(렌더 동기화 수신기(632), 렌더 동기화 스케줄러(634), 및 렌더 동기화 응답기(636)를 포함함), 프로세서(610)(하나 이상의 프로세서들을 포함함), 메모리(620) 등과 같은 디스플레이 시스템(600)의 컴포넌트들을 동작시키기 위한 컴퓨터 실행 가능 명령들을 저장하는 비일시적 컴퓨터 판독 가능 매체의 예로서 볼 수 있다.
[0047] 도 7에서, 애플리케이션 계층에 의해 수행되는 동작들은 좌측에서 짝수 블록들로 표시되고, 렌더 관리자에 의해 수행되는 동작들은 우측에서 홀수 블록들로 표시된다. 하나의 애플리케이션 계층과 렌더 관리자 사이의 상호작용들이 예시되어 있지만, 다수의 애플리케이션 계층들이 있을 수 있고 각각의 애플리케이션 계층이 도 7에 예시된 바와 같이 상호작용할 수 있다는 점에 유의해야 한다. 더욱이, 동일한 애플리케이션 계층이 상이한 시간들에서 렌더 관리자와 상호작용할 수 있다.
[0048] 블록(710)에서, 애플리케이션 계층(예컨대, 프로세서(610)에 의해 구현됨)이 렌더 동기화 요청을 전송할 수 있고, 블록(715)에서, 렌더 관리자(630)(예컨대, 렌더 동기화 수신기(632))가 렌더 동기화 요청을 수신할 수 있다. 하나 이상의 애플리케이션 계층들이 있을 수 있기 때문에, 렌더 관리자(630)(예컨대, 렌더 동기화 수신기(632))는 하나 이상의 렌더 동기화 요청들을 수신할 수 있다.
[0049] 블록(725)에서, 렌더 관리자(630)(예컨대, 렌더 동기화 스케줄러(634))는 복수의 렌더 동기화 신호들로부터 렌더 동기화 신호를 선택할 수 있다. 예컨대, 도 4를 참조하면, 렌더 동기화 스케줄러(634)는 수신된 렌더 동기화 요청에 대해 render-sync-120, render-sync-60A, 또는 render-sync-60B 중 임의의 하나를 선택할 수 있다. 선택된 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의할 수 있다. 예컨대, 도 4를 다시 참조하면, render-sync-120, render-sync-60A, 및 render-sync-60B 각각은 주기적으로 반복된다는 점에 유의한다.
[0050] 하나 이상의 렌더 동기화 요청들이 있을 수 있기 때문에, 렌더 관리자(630)(예컨대, 렌더 동기화 스케줄러(634))는 하나 이상의 렌더 동기화 요청들 각각에 대해 렌더 동기화 신호를 선택하거나 또는 다른 방식으로 결정할 수 있다. 애플리케이션 계층들의 수는 복수의 렌더 동기화 신호들의 렌더 동기화 신호들의 수와 매칭할 필요는 없다는 점에 유의한다. 예컨대, 도 5를 참조하면, 6개의 애플리케이션 계층들이 있고, 복수의 렌더 동기화 신호들 중 하나(render-sync-120, render-sync-60A, 및 render-sync-60B 중 하나)가 각각의 애플리케이션 계층에 대해 선택된 것이 보인다.
[0051] 도 7을 다시 참조하면, 블록(735)에서, 렌더 관리자(630)(예컨대, 렌더 동기화 응답기(636))는 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송할 수 있다. 양상에서, 렌더 동기화 응답은 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함할 수 있다. 예컨대, 렌더 동기화 신호들 중 일부 또는 전부는 타이머들(소프트웨어 또는 하드웨어)로서 구현될 수 있다. 이러한 경우들에서, 선택된 타이머는 렌더링 동기화 응답에서 표시될 수 있다. 다른 예에서, 렌더 동기화 응답은 선택된 렌더 동기화 신호의 특성들(예컨대, 시작, 종료, 슬립 등)을 지정하는 테이블에 대한 인덱스를 포함할 수 있다. 또 다른 예에서, 렌더 동기화 응답은 선택된 렌더 동기화 신호의 실제 특성들을 포함할 수 있다. 하나 이상의 동기화 요청들이 있을 수 있기 때문에, 렌더 관리자(630)(예컨대, 렌더 동기화 응답기(636))는 하나 이상의 렌더 동기화 응답들을 전송할 수 있다.
[0052] 블록(740)에서, 애플리케이션 계층은 렌더 동기화 응답을 수신할 수 있다. 블록(750)에서, 애플리케이션 계층은 선택된 렌더 동기화 신호가 발생할 때마다 애플리케이션 계층과 연관된 표면을 렌더링할 수 있다. 언급의 편의를 위해, 선택된 렌더 동기화 신호의 발생은 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정할 수 있다고 말할 수 있다. 예컨대, 도 4를 참조하면, App-layer-1은 HW 동기화 신호에 동기화되고, 그에 따라, 매 8.33 ms(1/120 Hz)마다 그의 연관된 표면을 렌더링하는 것을 시작하는 것이 허용된다. App-layer-2는 하나 걸러 하나의 HW 동기화 신호에 동기화되고, 그에 따라, 매 16.67 ms(1/60 Hz)마다 그의 연관된 표면을 렌더링하는 것을 시작하는 것이 허용된다. App-layer-3이 또한 하나 걸러 하나의 HW 동기화 신호에 동기화되고, 그에 따라, App-layer-2로부터 오프셋되어 매 16.67 ms마다 그의 연관된 표면을 렌더링하는 것을 시작하는 것이 허용된다.
[0053] 렌더 동기화 스케줄러(634)는 하나 이상의 렌더 동기화 요청들에 대해 렌더 동기화 신호들을 선택할 때 하나 이상의 인자들을 고려할 수 있다. 하나의 인자는 디스플레이 시스템(600)의 현재의 동작 모드일 수 있다. 현재의 동작 모드는 복수의 동작 모드들 중 하나일 수 있다. 위의 표 1은 동작 모드들의 예 ― 예컨대, 절전, 일반, 성능, 부스트 등을 예시한다. 일반적으로, 동작 모드들 각각은 성능의 상이한 레벨들 및/또는 전력 소비의 상이한 레벨들에 대응할 수 있다. 예로서, 애플리케이션 계층이 상이한 주파수들로(예컨대, 상이한 FPS로) 렌더링하는 것이 가능한 경우, 렌더 동기화 스케줄러(634)는 디스플레이 시스템(600)의 현재의 동작 모드가 절전일 때 더 낮은 주파수의 렌더 동기화 신호를 선택할 수 있다.
[0054] 다른 인자는 시간에 걸쳐 리소스 요구를 분산시키는 것, 즉, 리소스 요구 급증들을 감소시키는 것일 수 있다. 예컨대, 도 4를 다시 참조하면, App-layer-3의 각각의 발생은 App-layer-2로부터 오프셋된다는 점에 유의한다. 이는 App-layer-2와 App-layer-3의 표면 렌더링 시작 시간들이 상이하다는 것을 암시한다. 이는 디스플레이 시스템(600)의 리소스들에 대한 요구(예컨대, 컴퓨테이션 요구)가 각각의 HW 동기화 신호 이벤트에서 급증하는 대신에 더 균등하게 분산될 수 있다는 점에서 유리할 수 있다. 양상에서, 리소스 요구가 고려될 때, 렌더 동기화 신호들은 2개 이상의 애플리케이션 계층들의 렌더 시작 시간들이 상이하도록 선택될 수 있다.
[0055] 양상에서, 애플리케이션 계층으로부터의 렌더 동기화 요청은 애플리케이션 계층과 연관된 표면의 2개의 렌더 시작 시간들 사이의 최소 시간 지속기간을 표시하는 MinRenderCycle을 포함할 수 있다. 예컨대, 도 4의 App-layer-2는 그의 MinRenderCycle을 10 ms로서 표시할 수 있다. 이 경우, render-sync-120은 선택되지 않을 것인데, 그 이유는 연속적인 render-sync-120 신호 이벤트들 사이의 지속기간(8.33 ms)이 MinRenderCycle 지속기간보다 더 짧기 때문이다. 그러나, render-sync-60A 또는 render-sync-60B 중 어느 하나가 선택될 수 있다.
[0056] 애플리케이션 계층은 상이한 시간들에서 렌더링 동기화 요청들을 전송할 수 있다는 점에 유의한다. 그러나, 애플리케이션 계층에 대해 동일한 렌더 동기화 신호가 선택되는 것이 요구되지 않는다. 즉, 렌더 동기화 신호의 선택은 동적일 수 있다. 예컨대, 애플리케이션 계층이 스크롤 가능 윈도우의 표면과 연관될 수 있다. 사용자 인터페이스(UI)가 윈도우를 스크롤하라는 사용자로부터의 커맨드를 검출하지 않은 경우, 윈도우는 상당히 정적일 수 있고, 그에 따라, 더 낮은 주파수(더 낮은 FPS)의 렌더 동기화 신호가 선택될 수 있다. 그러나, UE가 사용자로부터의 스크롤 액션을 검출하는 경우, 더 높은 주파수의 렌더 동기화 신호가 더 매끄러운 스크롤을 가능하게 하도록 선택될 수 있다.
[0057] 대략적으로, 렌더 동기화 수신기(630)가 동일한 애플리케이션 계층으로부터 제1 및 제2 시간들에서 제1 및 제2 렌더 동기화 요청들을 수신할 때, 렌더 동기화 스케줄러(634)는 서로 상이한 제1 및 제2 렌더 동기화 신호들을 선택하도록 구성될 수 있다. 양상에서, 애플리케이션 계층은 더 높은/더 낮은 주파수의 렌더 동기화 신호들에 대한 그의 선호도를 표시하기 위해 상이한 렌더 동기화 요청들에서 상이한 MinRenderCycle들을 표시할 수 있다.
[0058] 도 8은 도 6에 예시된 전술된 디스플레이 시스템(600)과 통합될 수 있는 다양한 전자 디바이스들을 예시한다. 예컨대, 모바일 폰 디바이스(802), 랩톱 컴퓨터 디바이스(804), 단말 디바이스(806)뿐만 아니라 본원에서 설명되는 바와 같은 발진기 검출기(135)/검출 시스템(130)을 포함하는 보안 디바이스들이 장치(800)를 포함할 수 있다. 장치(800)는 센서, 고정 센서, IoT(Internet of Things) 디바이스 등과 같은 독립형 디바이스일 수 있다. 도 8에 예시된 디바이스들(802, 804, 806)은 단지 예시적인 것일 뿐이다. 다른 전자 디바이스들은 또한, 보안 디바이스들, 모바일 디바이스들, 핸드-헬드 PCS(personal communication systems) 유닛들, 휴대용 데이터 유닛들, 이를테면, 개인용 정보 단말들, GPS(global positioning system) 지원 디바이스들, 내비게이션 디바이스들, 셋톱 박스들, 뮤직 플레이어들, 비디오 플레이어들, 엔터테인먼트 유닛들, 고정 위치 데이터 유닛들, 이를테면, 계기 검침 장비, 통신 디바이스들, 스마트폰들, 태블릿 컴퓨터들, 컴퓨터들, 웨어러블 디바이스들, 서버들, 라우터들, 자동차들(예컨대, 자율 차량들)에서 구현된 전자 디바이스들, 또는 이들의 임의의 조합을 포함하는 디바이스들(예컨대, 전자 디바이스들)의 그룹을 포함하는(그러나 이에 제한되지는 않음) 장치(800)를 특징으로 할 수 있다.
[0059] 다음은 본 개시내용의 예들의 개요를 제공한다.
[0060] 예 1: 디스플레이 시스템의 렌더 관리자의 방법은, 하나 이상의 애플리케이션 계층들로부터 하나 이상의 렌더 동기화 요청들을 수신하는 단계; 각각의 렌더 동기화 요청에 대해, 복수의 렌더 동기화 신호들로부터 렌더 동기화 신호를 선택하는 단계 ― 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의함 ―; 및 각각의 렌더 동기화 요청에 대해, 그 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송하는 단계를 포함하고, 렌더 동기화 응답은 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함하고, 각각의 애플리케이션 계층에 대해, 선택된 렌더 동기화 신호의 발생은 그 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정한다.
[0061] 예 2: 예 1의 방법에서, 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 복수의 렌더 동기화 신호들 중 적어도 하나의 다른 렌더 동기화 신호와 주파수, 위상, 또는 주파수와 위상 둘 모두에서 상이하다.
[0062] 예 3: 예 1 또는 예 2의 방법에서, 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호에 대해, 그 렌더 동기화 신호의 하드웨어(HW) 주파수 비율은 양의 정수이고, 렌더 동기화 신호의 HW 주파수 비율은 디스플레이 시스템의 디스플레이의 HW 동기화 신호의 주파수 대 렌더 동기화 신호의 주파수의 비율이다.
[0063] 예 4: 예 3의 방법에서, 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호에 대해, 그 렌더 동기화 신호의 HW 주파수 비율은 2n이고, n은 0 이상의 정수이다.
[0064] 예 5: 예 3 또는 예 4의 방법에서, 복수의 렌더 동기화 신호들 중 적어도 하나의 렌더 동기화 신호의 HW 주파수 비율은 1이다.
[0065] 예 6: 예 1 내지 예 5 중 어느 한 예의 방법에서, 복수의 렌더 동기화 신호들은 적어도 제1 주파수 및 제2 주파수와 제1 위상 및 제2 위상을 갖는 제1 렌더 동기화 신호 및 제2 렌더 동기화 신호를 포함하고, 제1 주파수와 제2 주파수는 동일하지만, 제1 위상과 제2 위상은 상이하다.
[0066] 예 7: 예 6의 방법에서, 제1 주파수 및 제2 주파수는 HW 동기화 신호의 주파수보다 더 낮다.
[0067] 예 8: 예 6 또는 예 7의 방법에서, 제1 렌더 동기화 신호의 각각의 발생은 HW 동기화 신호의 매 첫 번째 발생과 일치하고, 제2 렌더 동기화 신호의 각각의 발생은 HW 동기화 신호의 매 두 번째 발생과 일치한다.
[0068] 예 9: 예 1 내지 예 8 중 어느 한 예의 방법에서, 렌더 동기화 스케줄러는 디스플레이 시스템의 현재의 동작 모드에 기초하여 적어도 하나의 렌더 동기화 요청에 대해 렌더 동기화 신호를 선택하도록 구성된다.
[0069] 예 10: 예 9의 방법에서, 디스플레이 시스템의 현재의 동작 모드는 복수의 동작 모드들 중 하나이고, 복수의 동작 모드들의 각각의 동작 모드는 성능의 상이한 레벨들 및/또는 전력 소비의 상이한 레벨들에 대응한다.
[0070] 예 11: 예 1 내지 예 10 중 어느 한 예의 방법에서, 렌더 동기화 스케줄러는 2개 이상의 애플리케이션 계층들의 렌더 시작 시간들이 상이하도록 렌더 동기화 신호들을 선택하도록 구성된다.
[0071] 예 12: 예 1 내지 예 11 중 어느 한 예의 방법에서, 렌더 동기화 수신기가 동일한 애플리케이션 계층으로부터 제1 시간 및 제2 시간에 제1 렌더 동기화 요청 및 제2 렌더 동기화 요청을 수신할 때, 렌더 동기화 스케줄러는 서로 상이한 제1 렌더 동기화 신호와 제2 렌더 동기화 신호를 선택하도록 구성된다.
[0072] 예 13: 예 1 내지 예 12 중 어느 한 예의 방법에서, 대응하는 적어도 하나의 애플리케이션 계층으로부터의 적어도 하나의 렌더 동기화 요청은 대응하는 적어도 하나의 애플리케이션 계층과 연관된 표면의 2개의 렌더 시작 시간들 사이의 최소 시간 지속기간을 표시하는 MinRenderCycle을 포함하고, 렌더 동기화 스케줄러는 MinRenderCycle에 기초하여 적어도 하나의 렌더 동기화 요청에 대해 렌더 동기화 신호를 선택하도록 구성된다.
[0073] 예 14: 디스플레이 시스템의 렌더 관리자는 예 1 내지 예 13 중 어느 한 예의 방법을 수행하기 위한 적어도 하나의 수단을 포함한다.
[0074] 예 15: 디스플레이 시스템은 프로세서, 프로세서와 커플링된 메모리를 포함하고, 프로세서 및 메모리는 예 1 내지 예 13 중 어느 한 예의 방법을 수행하도록 구성된다.
[0075] 예 15: 비일시적 컴퓨터 판독 가능 매체는 디스플레이 시스템을 위한 코드를 저장하고, 디스플레이 시스템은 프로세서, 프로세서와 커플링된 메모리, 및 메모리에 저장되고 디스플레이 시스템으로 하여금 예 1 내지 예 13 중 어느 한 예의 방법을 수행하게 하도록 프로세서에 의해 실행 가능한 명령들을 포함한다.
[0076] 당업자는 정보 및 신호들이 다양한 상이한 기술들 및 기법들 중 임의의 것을 사용하여 표현될 수 있다는 것을 인식할 것이다. 예컨대, 위의 설명 전체에 걸쳐 참조될 수 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들 또는 광학 입자들, 또는 이들의 임의의 조합에 의해 표현될 수 있다.
[0077] 추가로, 당업자는 본원에서 개시되는 양상들과 관련하여 설명되는 다양한 예시적인 로직 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들 둘 모두의 조합들로서 구현될 수 있다는 것을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환 가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 일반적으로 이들의 기능성에 관하여 위에서 설명되었다. 그러한 기능성이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 특정 애플리케이션 및 전체 시스템에 부과되는 설계 제약들에 따라 결정된다. 당업자는 설명되는 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 그러한 구현 결정들이 본 개시내용의 범위로부터 벗어나게 하는 것으로 해석되지 않아야 한다.
[0078] 본원에서 개시되는 양상들과 관련하여 설명되는 다양한 예시적인 로직 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA 또는 다른 프로그램 가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에서 설명되는 기능들을 수행하도록 설계된 이들의 임의의 조합으로 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예컨대, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수 있다.
[0079] 본원에서 개시되는 양상들과 관련하여 설명되는 방법들, 시퀀스들, 및/또는 알고리즘들은 직접 하드웨어로 구현되거나, 프로세서에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들 둘의 조합으로 구현될 수 있다. 소프트웨어 모듈은 RAM(random access memory), 플래시 메모리, ROM(read-only memory), EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM), 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 당업계에 알려져 있는 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적인 저장 매체는 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수 있다. ASIC는 사용자 단말(예컨대, UE)에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 별개의 컴포넌트들로서 상주할 수 있다.
[0080] 하나 이상의 예시적인 양상들에서, 설명되는 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능들은 컴퓨터 판독 가능 매체 상의 하나 이상의 명령들 또는 코드로서 저장되거나 또는 전달될 수 있다. 컴퓨터 판독 가능 매체들은 하나의 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들과 컴퓨터 저장 매체들 둘 모두를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능 매체들일 수 있다. 제한이 아닌 예로서, 그러한 컴퓨터 판독 가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 운반 또는 저장하는 데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결수단(connection)이 컴퓨터 판독 가능 매체로 적절히 지칭된다. 예컨대, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선(twisted pair), DSL(digital subscriber line), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 본원에서 사용되는 바와 같이, 디스크(disk) 및 디스크(disc)는 CD(compact disc), 레이저 디스크(disc), 광학 디스크(disc), DVD(digital versatile disc), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하고, 여기서, 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 조합들이 또한 컴퓨터 판독 가능 매체들의 범위 내에 포함되어야 한다.
[0081] 전술한 개시내용이 본 개시내용의 예시적인 양상들을 나타내지만, 다양한 변화들 및 수정들이 첨부 청구항들에 의해 정의되는 바와 같은 본 개시내용의 범위로부터 벗어나지 않으면서 본원에서 이루어질 수 있다는 점에 유의해야 한다. 본원에서 설명되는 본 개시내용의 양상들에 따른 방법 청구항들의 기능들, 단계들, 및/또는 액션들은 임의의 특정한 순서로 수행될 필요가 없다. 게다가, 본 개시내용의 엘리먼트들이 단수로 설명 또는 청구될 수 있지만, 단수로의 제한이 명시적으로 진술되지 않는 한 복수가 고려된다.
Claims (30)
- 디스플레이 시스템의 렌더 관리자로서,
하나 이상의 애플리케이션 계층들로부터 하나 이상의 렌더 동기화 요청들을 수신하도록 구성된 렌더 동기화 수신기;
각각의 렌더 동기화 요청에 대해, 복수의 렌더 동기화 신호들로부터 렌더 동기화 신호를 선택하도록 구성된 렌더 동기화 스케줄러 ― 상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의함 ―; 및
각각의 렌더 동기화 요청에 대해, 상기 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송하도록 구성된 렌더 동기화 응답기
를 포함하고,
상기 렌더 동기화 응답은 상기 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함하고,
각각의 애플리케이션 계층에 대해, 상기 선택된 렌더 동기화 신호의 발생은 상기 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정하는,
디스플레이 시스템의 렌더 관리자. - 제1항에 있어서,
상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 상기 복수의 렌더 동기화 신호들 중 적어도 하나의 다른 렌더 동기화 신호와 주파수, 위상, 또는 주파수와 위상 둘 모두에서 상이한,
디스플레이 시스템의 렌더 관리자. - 제1항에 있어서,
상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호에 대해, 상기 렌더 동기화 신호의 하드웨어(HW) 주파수 비율은 양의 정수이고, 렌더 동기화 신호의 HW 주파수 비율은 상기 디스플레이 시스템의 디스플레이의 HW 동기화 신호의 주파수 대 상기 렌더 동기화 신호의 주파수의 비율인,
디스플레이 시스템의 렌더 관리자. - 제3항에 있어서,
상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호에 대해, 상기 렌더 동기화 신호의 HW 주파수 비율은 2n이고, n은 0 이상의 정수인,
디스플레이 시스템의 렌더 관리자. - 제3항에 있어서,
상기 복수의 렌더 동기화 신호들 중 적어도 하나의 렌더 동기화 신호의 HW 주파수 비율은 1인,
디스플레이 시스템의 렌더 관리자. - 제1항에 있어서,
상기 복수의 렌더 동기화 신호들은 적어도, 제1 주파수 및 제2 주파수와 제1 위상 및 제2 위상을 갖는 제1 렌더 동기화 신호 및 제2 렌더 동기화 신호를 포함하고, 상기 제1 주파수와 상기 제2 주파수는 동일하지만, 상기 제1 위상과 상기 제2 위상은 상이한,
디스플레이 시스템의 렌더 관리자. - 제6항에 있어서,
상기 제1 주파수 및 상기 제2 주파수는 HW 동기화 신호의 주파수보다 더 낮은,
디스플레이 시스템의 렌더 관리자. - 제6항에 있어서,
상기 제1 렌더 동기화 신호의 각각의 발생은 HW 동기화 신호의 매 첫 번째 발생과 일치하고,
상기 제2 렌더 동기화 신호의 각각의 발생은 상기 HW 동기화 신호의 매 두 번째 발생과 일치하는,
디스플레이 시스템의 렌더 관리자. - 제1항에 있어서,
상기 렌더 동기화 스케줄러는 상기 디스플레이 시스템의 현재의 동작 모드에 기초하여 적어도 하나의 렌더 동기화 요청에 대해 상기 렌더 동기화 신호를 선택하도록 구성되는,
디스플레이 시스템의 렌더 관리자. - 제9항에 있어서,
상기 디스플레이 시스템의 현재의 동작 모드는 복수의 동작 모드들 중 하나이고, 상기 복수의 동작 모드들의 각각의 동작 모드는 성능의 상이한 레벨들 및/또는 전력 소비의 상이한 레벨들에 대응하는,
디스플레이 시스템의 렌더 관리자. - 제1항에 있어서,
상기 렌더 동기화 스케줄러는 2개 이상의 애플리케이션 계층들의 렌더 시작 시간들이 상이하도록 상기 렌더 동기화 신호들을 선택하도록 구성되는,
디스플레이 시스템의 렌더 관리자. - 제1항에 있어서,
상기 렌더 동기화 수신기가 동일한 애플리케이션 계층으로부터 제1 시간 및 제2 시간에 제1 렌더 동기화 요청 및 제2 렌더 동기화 요청을 수신할 때, 상기 렌더 동기화 스케줄러는 서로 상이한 제1 렌더 동기화 신호와 제2 렌더 동기화 신호를 선택하도록 구성되는,
디스플레이 시스템의 렌더 관리자. - 제1항에 있어서,
대응하는 적어도 하나의 애플리케이션 계층으로부터의 적어도 하나의 렌더 동기화 요청은 상기 대응하는 적어도 하나의 애플리케이션 계층과 연관된 표면의 2개의 렌더 시작 시간들 사이의 최소 시간 지속기간을 표시하는 MinRenderCycle을 포함하고,
상기 렌더 동기화 스케줄러는 상기 MinRenderCycle에 기초하여 상기 적어도 하나의 렌더 동기화 요청에 대해 상기 렌더 동기화 신호를 선택하도록 구성되는,
디스플레이 시스템의 렌더 관리자. - 디스플레이 시스템의 렌더 관리자의 방법으로서,
하나 이상의 애플리케이션 계층들로부터 하나 이상의 렌더 동기화 요청들을 수신하는 단계;
각각의 렌더 동기화 요청에 대해, 복수의 렌더 동기화 신호들로부터 렌더 동기화 신호를 선택하는 단계 ― 상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의함 ―; 및
각각의 렌더 동기화 요청에 대해, 상기 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송하는 단계
를 포함하고,
상기 렌더 동기화 응답은 상기 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함하고,
각각의 애플리케이션 계층에 대해, 상기 선택된 렌더 동기화 신호의 발생은 상기 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정하는,
디스플레이 시스템의 렌더 관리자의 방법. - 제14항에 있어서,
상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 상기 복수의 렌더 동기화 신호들 중 적어도 하나의 다른 렌더 동기화 신호와 주파수, 위상, 또는 주파수와 위상 둘 모두에서 상이한,
디스플레이 시스템의 렌더 관리자의 방법. - 제14항에 있어서,
상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호에 대해, 상기 렌더 동기화 신호의 하드웨어(HW) 주파수 비율은 양의 정수이고, 상기 렌더 동기화 신호의 HW 주파수 비율은 상기 디스플레이 시스템의 디스플레이의 HW 동기화 신호의 주파수 대 상기 렌더 동기화 신호의 주파수의 비율인,
디스플레이 시스템의 렌더 관리자의 방법. - 제16항에 있어서,
상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호에 대해, 상기 렌더 동기화 신호의 HW 주파수 비율은 2n이고, n은 0 이상의 정수인,
디스플레이 시스템의 렌더 관리자의 방법. - 제16항에 있어서,
상기 복수의 렌더 동기화 신호들 중 적어도 하나의 렌더 동기화 신호의 HW 주파수 비율은 1인,
디스플레이 시스템의 렌더 관리자의 방법. - 제14항에 있어서,
상기 복수의 렌더 동기화 신호들은 적어도, 제1 주파수 및 제2 주파수와 제1 위상 및 제2 위상을 갖는 제1 렌더 동기화 신호 및 제2 렌더 동기화 신호를 포함하고, 상기 제1 주파수와 상기 제2 주파수는 동일하지만, 상기 제1 위상과 상기 제2 위상은 상이한,
디스플레이 시스템의 렌더 관리자의 방법. - 제19항에 있어서,
상기 제1 주파수 및 상기 제2 주파수는 HW 동기화 신호의 주파수보다 더 낮은,
디스플레이 시스템의 렌더 관리자의 방법. - 제19항에 있어서,
상기 제1 렌더 동기화 신호의 각각의 발생은 HW 동기화 신호의 매 첫 번째 발생과 일치하고,
상기 제2 렌더 동기화 신호의 각각의 발생은 상기 HW 동기화 신호의 매 두 번째 발생과 일치하는,
디스플레이 시스템의 렌더 관리자의 방법. - 제14항에 있어서,
상기 렌더 동기화 스케줄러는 상기 디스플레이 시스템의 현재의 동작 모드에 기초하여 적어도 하나의 렌더 동기화 요청에 대해 상기 렌더 동기화 신호를 선택하도록 구성되는,
디스플레이 시스템의 렌더 관리자의 방법. - 제22항에 있어서,
상기 디스플레이 시스템의 현재의 동작 모드는 복수의 동작 모드들 중 하나이고, 상기 복수의 동작 모드들의 각각의 동작 모드는 성능의 상이한 레벨들 및/또는 전력 소비의 상이한 레벨들에 대응하는,
디스플레이 시스템의 렌더 관리자의 방법. - 제14항에 있어서,
상기 렌더 동기화 신호들은 2개 이상의 애플리케이션 계층들의 렌더 시작 시간들이 상이하도록 선택되는,
디스플레이 시스템의 렌더 관리자의 방법. - 제14항에 있어서,
동일한 애플리케이션 계층으로부터 제1 시간 및 제2 시간에 제1 렌더 동기화 요청 및 제2 렌더 동기화 요청이 수신될 때, 서로 상이한 제1 렌더 동기화 신호와 제2 렌더 동기화 신호가 선택되는,
디스플레이 시스템의 렌더 관리자의 방법. - 제14항에 있어서,
대응하는 적어도 하나의 애플리케이션 계층으로부터의 적어도 하나의 렌더 동기화 요청은 상기 대응하는 적어도 하나의 애플리케이션 계층과 연관된 표면의 2개의 렌더 시작 시간들 사이의 최소 시간 지속기간을 표시하는 MinRenderCycle을 포함하고,
상기 렌더 동기화 신호를 선택하는 단계는, 상기 MinRenderCycle에 기초하여 상기 적어도 하나의 렌더 동기화 요청에 대해 상기 렌더 동기화 신호를 선택하는 단계를 포함하는,
디스플레이 시스템의 렌더 관리자의 방법. - 디스플레이 시스템의 렌더 관리자로서,
하나 이상의 애플리케이션 계층들로부터 하나 이상의 렌더 동기화 요청들을 수신하기 위한 수단;
각각의 렌더 동기화 요청에 대해, 복수의 렌더 동기화 신호들로부터 렌더 동기화 신호를 선택하기 위한 수단 ― 상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의함 ―; 및
각각의 렌더 동기화 요청에 대해, 상기 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송하기 위한 수단
을 포함하고,
상기 렌더 동기화 응답은 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함하고,
각각의 애플리케이션 계층에 대해, 상기 선택된 렌더 동기화 신호의 발생은 상기 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정하는,
디스플레이 시스템의 렌더 관리자. - 제27항에 있어서,
상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 상기 복수의 렌더 동기화 신호들 중 적어도 하나의 다른 렌더 동기화 신호와 주파수, 위상, 또는 주파수와 위상 둘 모두에서 상이한,
디스플레이 시스템의 렌더 관리자. - 제27항에 있어서,
상기 선택하기 위한 수단은,
상기 디스플레이 시스템의 현재의 동작 모드 ― 복수의 동작 모드들의 각각의 동작 모드는 성능의 상이한 레벨들 및/또는 전력 소비의 상이한 레벨들에 대응함 ―,
상기 렌더 동기화 요청에 포함된 MinRenderCycle ― 상기 MinRenderCycle은 대응하는 애플리케이션 계층과 연관된 표면의 2개의 렌더 시작 시간들 사이의 최소 시간 지속기간을 표시함 ―,
상기 복수의 렌더 동기화 신호들 각각과 매칭된 애플리케이션 계층들의 수, 또는
이들의 임의의 조합
에 기초하여 상기 렌더 동기화 신호를 선택하도록 구성되는,
디스플레이 시스템의 렌더 관리자. - 비일시적 컴퓨터 판독 가능 저장 매체로서,
디스플레이 시스템의 렌더 관리자를 위한 컴퓨터 실행 가능 명령들을 저장하고,
상기 컴퓨터 실행 가능 명령들은,
상기 렌더 관리자에게 하나 이상의 애플리케이션 계층들로부터 하나 이상의 렌더 동기화 요청들을 수신할 것을 명령하는 하나 이상의 명령들;
상기 렌더 관리자에게, 각각의 렌더 동기화 요청에 대해, 복수의 렌더 동기화 신호들로부터 렌더 동기화 신호를 선택할 것을 명령하는 하나 이상의 명령들 ― 상기 복수의 렌더 동기화 신호들의 각각의 렌더 동기화 신호는 주기적으로 반복되는 렌더 동기화 이벤트를 정의함 ―; 및
상기 렌더 관리자에게, 각각의 렌더 동기화 요청에 대해, 상기 렌더 동기화 요청을 전송한 애플리케이션 계층으로 렌더 동기화 응답을 전송할 것을 명령하는 하나 이상의 명령들
을 포함하고,
상기 렌더 동기화 응답은 선택된 렌더 동기화 신호를 표시하도록 구성된 렌더 동기화 신호 표시자를 포함하고,
각각의 애플리케이션 계층에 대해, 상기 선택된 렌더 동기화 신호의 발생은 상기 애플리케이션 계층과 연관된 표면의 렌더링이 시작되는 것이 허용되는 시간을 정의하는 렌더 시작 시간을 결정하는,
비일시적 컴퓨터 판독 가능 저장 매체.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/124252 WO2022087871A1 (en) | 2020-10-28 | 2020-10-28 | Intelligent management of application layer rendering |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230097000A true KR20230097000A (ko) | 2023-06-30 |
Family
ID=81381716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237013449A KR20230097000A (ko) | 2020-10-28 | 2020-10-28 | 애플리케이션 계층 렌더링의 지능형 관리 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230334746A1 (ko) |
EP (1) | EP4237929A1 (ko) |
JP (1) | JP2024500205A (ko) |
KR (1) | KR20230097000A (ko) |
CN (1) | CN116324674A (ko) |
TW (1) | TW202226809A (ko) |
WO (1) | WO2022087871A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472483A (zh) * | 2022-07-21 | 2024-01-30 | 荣耀终端有限公司 | 图像显示方法和相关装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694811B2 (en) * | 2010-10-29 | 2014-04-08 | Texas Instruments Incorporated | Power management for digital devices |
CN105094272A (zh) * | 2014-05-14 | 2015-11-25 | 中兴通讯股份有限公司 | 一种终端的硬件刷新率的调节方法及装置 |
US9269328B2 (en) * | 2014-06-24 | 2016-02-23 | Google Inc. | Efficient frame rendering |
EP4044180A1 (en) * | 2014-10-01 | 2022-08-17 | Dolby International AB | Decoding an encoded audio signal using drc profiles |
US9811388B2 (en) * | 2015-05-14 | 2017-11-07 | Qualcomm Innovation Center, Inc. | VSync aligned CPU frequency governor sampling |
CN106791212B (zh) * | 2017-03-10 | 2019-07-02 | Oppo广东移动通信有限公司 | 一种移动终端刷新率的控制方法、装置及移动终端 |
CN109272931B (zh) * | 2018-11-23 | 2020-06-05 | 京东方科技集团股份有限公司 | 显示面板的显示控制方法、显示控制装置、显示设备 |
CN111324235A (zh) * | 2020-02-26 | 2020-06-23 | 维沃移动通信有限公司 | 一种屏幕刷新频率调整方法及电子设备 |
CN111399625A (zh) * | 2020-03-04 | 2020-07-10 | RealMe重庆移动通信有限公司 | 刷新频率的切换方法及装置、可读介质、通信终端 |
-
2020
- 2020-10-28 EP EP20959035.5A patent/EP4237929A1/en active Pending
- 2020-10-28 JP JP2023520499A patent/JP2024500205A/ja active Pending
- 2020-10-28 KR KR1020237013449A patent/KR20230097000A/ko unknown
- 2020-10-28 US US18/042,575 patent/US20230334746A1/en active Pending
- 2020-10-28 CN CN202080105525.5A patent/CN116324674A/zh active Pending
- 2020-10-28 WO PCT/CN2020/124252 patent/WO2022087871A1/en active Application Filing
-
2021
- 2021-10-15 TW TW110138352A patent/TW202226809A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20230334746A1 (en) | 2023-10-19 |
TW202226809A (zh) | 2022-07-01 |
CN116324674A (zh) | 2023-06-23 |
JP2024500205A (ja) | 2024-01-05 |
EP4237929A1 (en) | 2023-09-06 |
WO2022087871A1 (en) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020233755B2 (en) | Controlling display performance | |
CN104486339B (zh) | 社交应用中显示推荐数据的方法和装置 | |
US11303591B2 (en) | Management system for audio and visual content | |
CN107203960B (zh) | 图像渲染方法及装置 | |
EP3036911B1 (en) | Method, terminal, and system for reproducing content | |
US10706604B2 (en) | Controlling display performance using display system hints | |
US20140366043A1 (en) | Method for invoking program and electronic device thereof | |
US10708566B2 (en) | Method for processing signals with operating state-dependent handling of multimedia attributes and electronic device thereof | |
CN103309575B (zh) | 显示图标的方法及终端 | |
US20170285722A1 (en) | Method for reducing battery consumption in electronic device | |
CN111399625A (zh) | 刷新频率的切换方法及装置、可读介质、通信终端 | |
KR20230097000A (ko) | 애플리케이션 계층 렌더링의 지능형 관리 | |
AU2014293863A1 (en) | Method for displaying and an electronic device thereof | |
CN103517051B (zh) | 控制方法和电子设备 | |
CN115151886A (zh) | 基于帧更新延迟dsi时钟改变以提供更平滑的用户界面体验 | |
CN114827736A (zh) | 一种视频回放方法、装置、电子设备及存储介质 | |
CN116980682A (zh) | 动图播放方法、装置及存储介质 | |
CN117707406A (zh) | 一种亮屏显示方法、电子设备及存储介质 | |
CN117714777A (zh) | 信号处理方法、装置、显示设备及计算机存储介质 |