KR101367246B1 - 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템 및 방법 - Google Patents

가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템 및 방법 Download PDF

Info

Publication number
KR101367246B1
KR101367246B1 KR1020110136104A KR20110136104A KR101367246B1 KR 101367246 B1 KR101367246 B1 KR 101367246B1 KR 1020110136104 A KR1020110136104 A KR 1020110136104A KR 20110136104 A KR20110136104 A KR 20110136104A KR 101367246 B1 KR101367246 B1 KR 101367246B1
Authority
KR
South Korea
Prior art keywords
display
framebuffer
virtual machine
information
frame buffer
Prior art date
Application number
KR1020110136104A
Other languages
English (en)
Other versions
KR20130068753A (ko
Inventor
오유연
Original Assignee
에스코어 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스코어 주식회사 filed Critical 에스코어 주식회사
Priority to KR1020110136104A priority Critical patent/KR101367246B1/ko
Publication of KR20130068753A publication Critical patent/KR20130068753A/ko
Application granted granted Critical
Publication of KR101367246B1 publication Critical patent/KR101367246B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명에 의한 가상 머신에서의 다중 프레임버퍼의 에뮬레이션 시스템은 복수의 프레임버퍼, 상기 복수의 프레임버퍼가 합성된 다중 프레임버퍼가 표시되는 디스플레이버퍼, 상기 복수의 프레임버퍼에 관한 정보인 프레임버퍼 정보 및 디스플레이 상태 정보가 기록되는 디스플레이 컨트롤러 레지스터, 상기 프레임버퍼 정보를 상기 디스플레이 컨트롤러 레지스터에 기록하는 가상 머신, 및 상기 디스플레이 컨트롤러 레지스터에 기록된 상기 프레임버퍼 정보와 상기 디스플레이 상태 정보에 의거하여 주기적으로 복수의 프레임버퍼를 합성하고 디스플레이버퍼를 갱신함으로써 다중 프레임버퍼를 디스플레이에 렌더링하여 표시하는 호스트 머신을 포함한다.

Description

가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템 및 방법{SYSTEM AND METHOD OF MULTIPLE FRAMEBUFFER EMULATION ON VIRTUAL MACHINE}
본 발명은 디스플레이 기능을 지원하는 하드웨어 가상 머신에 관한 것이고, 특히 다중 프레임버퍼를 가상 머신에 에뮬레이션하는 방법에 관한 것이다.
종래의 가상 머신에서의 디스플레이 가상화는 비교적 간단하고 성능이 낮은 디스플레이 컨트롤러를 가상화함으로써 이루어졌다. 주로 간단한 VGA, VESA 표준 그래픽 장치나 PXA270 같은 비교적 간단한 디스플레이 컨트롤러에 대한 디스플레이 가상화 구현이 공개되어 있다. 이런 장치들은 다중 프레임버퍼가 아닌 단일 프레임버퍼 구조를 기반으로 하고 있으며, 이 단일 프레임버퍼를 주기적으로 호스트 머신의 윈도우 화면에 복사함으로써 사용자가 가상 머신의 화면을 볼 수 있게 된다.
단일 프레임버퍼 기반의 장치들은 간단한 구성이어서 구현에 있어서 용이하지만, 여러 가지 그래픽 기능이 많이 떨어진다. 예를 들어, 하드웨어 가속을 통한 오버레이나 알파 블렌딩 효과를 지원하지 않기 때문에 이런 기능을 사용하기 위해서는 가상 머신 안에서 여러 그래픽 효과들을 추가적인 소프트웨어로 구현해야 한다. 이런 그래픽 효과를 추가적인 소프트웨어로 구현하기 위해서는 막대한 양의 CPU 연산이 필요하다. 게다가 단일 프레임 버퍼는 렌더링 중간 과정이 화면에 전부 나타나므로, 사용자 입장에서는 잘리거나 부드럽지 못한 화면을 보게 된다. 또한, 그런 효과를 별도로 소프트웨어로 구현해야 하기 때문에 생산성이 떨어지게 된다.
이와 같이, 기존의 가상 머신들은 전부 단일 프레임버퍼 방식만을 지원하였기 때문에 단일 프레임버퍼 상에서 다중 프레임버퍼를 에뮬레이션하기 위해서는, 방대한 양의 디스플레이 드라이버 수정과 가상 머신 내에서의 빈번한 CPU 연산이 필요하다는 단점이 있었다. 따라서, 이러한 종래 기술의 단점을 극복하기 위해 디스플레이 기능을 지원하는 하드웨어 가상 머신에서 기존의 단일 프레임버퍼 구조를 대신하여 새로운 다중 프레임버퍼 구조를 취한 새로운 가상 머신의 개발이 필요하게 되었다.
본 발명의 목적은 첫째, 디스플레이 기능을 지원하는 하드웨어 가상 머신의 단일 프레임버퍼에서 지원하지 못하는 여러 그래픽 효과를 지원하고, 가상 머신의 디스플레이 성능을 향상시키기 위한 것이다. 본 발명의 두번째 목적은 디스플레이 기능을 지원하는 하드웨어 가상 머신에서 기존 하드웨어 드라이버의 수정을 최소화하고 가상 머신의 디스플레이 성능을 향상시키는 다중 프레임버퍼 관련 기술을 제공하는 것에 있다. 또한, 본 발명의 세번째 목적은 다중의 프레임버퍼를 유지하고 제대로 화면에 나타내기 위해서 필요한 각각의 프레임버퍼의 정보(픽셀 형식, 크기, 위치 등)를 관리하고, 동적으로 화면에 합성(composition)하는 관련 기술의 제공을 그 목적으로 한다.
상기 목적을 달성하기 위해 본 발명에 의한 가상 머신에서의 다중 프레임버퍼를 지원하는 에뮬레이션 시스템은,
복수의 프레임버퍼,
상기 복수의 프레임버퍼가 합성된 다중 프레임버퍼가 표시되는 디스플레이버퍼,
상기 복수의 프레임버퍼에 관한 정보인 프레임버퍼 정보 및 디스플레이 상태 정보가 기록되는 디스플레이 컨트롤러 레지스터,
상기 프레임버퍼 정보와 상기 디스플레이 상태 정보를 상기 디스플레이 컨트롤러 레지스터에 기록하는 가상 머신, 및
상기 디스플레이 컨트롤러 레지스터에 기록된 상기 프레임버퍼 정보와 상기 디스플레이 상태 정보에 의거하여 주기적으로 복수의 프레임버퍼를 합성하고 디스플레이버퍼를 갱신함으로써 다중 프레임버퍼를 디스플레이에 렌더링하여 표시하는 호스트 머신을 포함한다.
또한, 상기 목적을 달성하기 위해 본 발명의 바람직한 실시형태에 의한 가상 머신에서의 다중 프레임버퍼 에뮬레이션 방법은,
호스트 머신이 가상 머신에 의해 디스플레이 컨트롤러 레지스터에 기록된 전원 비트에 의해 디스플레이 전원의 ON/OFF를 확인하는 제1스텝,
상기 호스트 머신이 상기 가상 머신에 의해 상기 디스플레이 컨트롤러 레지스터에 기록된 가상 머신 내에서의 복수의 프레임버퍼 중에 어느 버퍼를 사용할 것인지에 대한 정보인 프레임버퍼 선택 비트의 변경을 확인하는 제2스텝,
상기 호스트 머신이 상기 가상 머신에 의해 상기 디스플레이 컨트롤러 레지스터에 기록된 프레임버퍼 메모리 주소의 변경을 확인하는 제3스텝과,
상기 호스트 머신이 상기 가상 머신에 의해 상기 디스플레이 컨트롤러 레지스터에 기록된 프레임버퍼 픽셀 형식의 변경을 확인하는 제4스텝,
상기 호스트 머신이 상기 가상 머신에 의해 상기 디스플레이 컨트롤러 레지스터에 기록된 프레임버퍼 합성 방식의 변경을 확인하는 제5스텝,
상기 호스트 머신이 상기 가상 머신에 의해 상기 디스플레이 컨트롤러 레지스터에 기록된 프레임버퍼 크기/위치의 변경을 확인하는 제6스텝,
상기 제1스텝에서 디스플레이 전원이 ON이고, 상기 제2스텝 내지 상기 제6스텝에서 각각의 확인사항에 어느 하나라도 아무런 변경이 없는 것으로 확인되는 경우에, 상기 호스트 머신이 필요에 따라 디스플레이버퍼의 부분 갱신을 함으로써 화면 부분 갱신을 실행하는 제7스텝,
상기 제1스텝에서 디스플레이 전원이 OFF인 경우에 상기 호스트 머신이 디스플레이 화면에 검은 화면을 표시하는 제8스텝, 및
상기 제1스텝에서 디스플레이 전원이 ON이고, 상기 제2스텝 내지 상기 제6스텝에서 각각의 확인사항 중 어느 하나에라도 변경이 있는 것으로 확인되는 경우에, 상기 호스트 머신이 모든 디스플레이 상태 정보와 상기 프레임버퍼 정보를 다시 읽어들여서 읽어들인 모든 정보에 의거하여 선택된 프레임버퍼를 다시 합성하여 디스플레이버퍼를 갱신함으로써 화면 전체 갱신을 실행하는 제9스텝을 포함한다.
또한, 상기 프레임버퍼 정보는 프레임버퍼 메모리 주소, 프레임버퍼 픽셀 형식, 다른 프레임버퍼와의 합성 방식, 및 프레임버퍼의 크기(프레임버퍼 높이, 프레임버퍼 너비)와 디스플레이에 대한 상대적인 위치 정보(프레임버퍼의 위치)를 포함하고, 상기 디스플레이 상태 정보는 디스플레이 창의 크기(디스플레이 높이, 디스플레이 너비), 전원 비트(디스플레이 ON/OFF 비트), 및 프레임버퍼 선택 비트를 포함한다.
또한, 상기 프레임버퍼를 합성하는 방식은 큰 화면에 작은 화면을 덮어서(over) 투사(lay)하는 오버레이 방식, 특정 색깔만 다른 프레임버퍼의 내용으로 덮어 씌우는 컬러-키 방식, 및 알파값으로 불투명도를 조절하는 알파 블렌딩 방식 등이 될 수 있다.
본 발명은 데스크탑 컴퓨터용 모바일폰 에뮬레이터, 같은 기종에서 다른 운영체제를 실행하는 가상 머신을 포함한 모든 가상 머신에 응용 가능하다. 본 발명을 통해 가상 머신에서의 보다 많은 그래픽 효과, 부드러운 화면 전환, 낮은 메모리 복사 오버헤드를 기대할 수 있다.
도 1은 본 발명의 바람직한 실시형태에 의한 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템의 전체 구성도이다.
도 2는 본 발명의 바람직한 실시형태에 의한 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템의 디스플레이 상태 정보와 프레임버퍼 정보의 구성요소를 나타낸 도면이다.
도 3은 본 발명의 바람직한 실시형태에 의한 가상 머신에서의 다중 프레임버퍼 에뮬레이션 방법의 디스플레이 갱신 흐름도이다.
이하, 도면을 참조하여 본 발명에 의한 가상 머신에서의 다중 프레임버퍼를 지원하는 에뮬레이션 시스템의 구성과 에뮬레이션 방법에 대하여 상세히 설명한다.
도 1은 본 발명에 의한 가상 머신에서의 다중 프레임버퍼를 지원하는 에뮬레이션 시스템의 전체 구성도이다.
가상 머신(100)에서 다중 프레임버퍼를 지원하기 위해서는 다음 2가지가 필요하다. 첫째, 가상 머신(100) 내에서의 N개의 프레임버퍼(101, 102, 103, …) 및 N개의 프레임버퍼(101, 102, 103, …)에 관한 정보(이하 '프레임버퍼 정보'라 함)와 디스플레이 상태 정보를 호스트 머신(200)에게 공유해야 한다. 이를 위해 프레임버퍼 정보와 디스플레이 상태 정보가 호스트 머신(200)에 의해 디스플레이 컨트롤러 레지스터(104)에 기록되어 가상 머신(100)과 호스트 머신(200) 사이에 공유된다. 둘째, 호스트 머신(200)에서는 프레임버퍼 정보와 디스플레이 상태 정보를 가지고 N개의 프레임버퍼(101, 102, 103, …)를 합성하고 갱신하여 호스트 머신(200)의 윈도우 창에 렌더링하여 표시해야한다(도 1 참조).
도 2는 본 발명의 바람직한 실시형태에 의한 가상 머신(100)에서의 다중 프레임버퍼 에뮬레이션 시스템의 디스플레이 상태 정보와 프레임버퍼 정보의 구성요소를 나타낸 도면이다.
가상 머신(100)과 호스트 머신(200) 사이에 공유되는 정보는 크게 2가지로 분류된다. 즉, N개의 프레임버퍼를 합성하기 위한 디스플레이 상태 정보와 각각의 프레임버퍼에 관한 정보로 분류된다.
디스플레이 상태 정보는 디스플레이 창의 크기(디스플레이 높이, 디스플레이 너비), 프레임버퍼 선택 비트, 및 전원 비트(디스플레이 ON/OFF 비트)를 포함한다.
각각의 프레임버퍼 정보는 디스플레이에 대한 프레임버퍼의 상대적 위치, 프레임버퍼의 크기(프레임버퍼 높이, 프레임버퍼 너비), 프레임버퍼 픽셀 형식, 프레임버퍼 메모리 주소, 다른 프레임버퍼와의 합성 방식(오버레이, 알파 블렌딩 또는 컬러-키)을 포함한다.
상기 디스플레이에 대한 프레임버퍼의 상대적 위치는 프레임버퍼가 전체 디스플레이 영역의 좌측상단 모서리로부터 떨어져 있는 가로/세로 길이를 의미한다(도 2 참조).
이 정보들은 가상 머신(100) 상에서의 디스플레이 컨트롤러 레지스터(104)에 기록됨으로써 가상 머신(100)과 호스트 머신(200) 사이에 공유된다.
호스트 머신(200)에서는 공유된 상기 디스플레이 상태 정보와 상기 프레임버퍼 정보에 의거하여 주기적으로 복수의 프레임버퍼를 합성하고 디스플레이버퍼(201)를 갱신함으로써 사용자가 가상 머신(100)의 디스플레이 화면을 볼 수 있도록 한다. 이에 대하여 도 3을 참조하여 상세히 설명한다.
도 3은 본 발명의 바람직한 실시형태에 의한 가상 머신에서의 다중 프레임버퍼 에뮬레이션 방법의 디스플레이 갱신 흐름도이다.
도 3의 스텝 S101에서는 호스트 머신(200)이 디스플레이 전원의 ON/OFF를 확인한다. 디스플레이 전원이 ON으로 확인되면 S102로 진행되고, OFF로 확인되면 S201로 진행된다.
스텝 S102에서는 호스트 머신(200)이 가상 머신(100) 내에서의 복수의 프레임버퍼 중에 어느 버퍼를 사용할 것인지에 대한 정보인 프레임버퍼 선택 비트의 변경을 확인한다. 예컨대, 선택 비트가 0번과 2번 비트라면 0번과 2번 프레임버퍼를 합성해서 디스플레이버퍼에 나타내야 하고, 선택 비트가 0번과 2번 비트에서 0번과 1번 비트로 변경되었다면 전체 디스플레이 화면을 갱신해야 한다. 프레임버퍼 선택 비트가 변경되지 않은 것으로 확인되면 S103으로 진행되고, 프레임버퍼 선택 비트가 변경된 것으로 확인되면 S202로 진행되며, S202에서는 모든 디스플레이 상태 정보와 프레임버퍼 정보를 다시 읽어들여서 읽어들인 모든 정보를 반영하여 디스플레이버퍼를 갱신함으로써 화면 전체를 갱신한다.
스텝 S103에서는 호스트 머신(200)이 프레임버퍼 메모리 주소의 변경을 확인한다. 프레임버퍼 메모리 주소가 변경되지 않은 것으로 확인되면 S104로 진행되고, 프레임버퍼 메모리 주소가 변경된 것으로 확인되면 S202로 진행된다.
스텝 S104에서는 호스트 머신(200)이 프레임버퍼 픽셀 형식의 변경을 확인한다. 프레임버퍼 픽셀 형식이 변경되지 않은 것으로 확인되면 S105로 진행되고, 프레임버퍼 픽셀 형식이 변경된 것으로 확인되면 S202로 진행된다. 프레임버퍼 픽셀 형식이라는 것은 프레임버퍼 메모리에 들어있는 정보가 어떤 형식(예컨대, ARGB 형식, YUV 형식 등)으로 되어 있는지를 나타내는 것이다.
스텝 S105에서는 호스트 머신(200)이 프레임버퍼 합성 방식의 변경을 확인한다. 프레임버퍼 합성 방식이 변경되지 않은 것으로 확인되면 S106으로 진행되고, 프레임버퍼 합성 방식이 변경된 것으로 확인되면 S202로 진행된다. 예컨대, 프레임버퍼 합성 방식은 큰 화면에 작은 화면을 덮어서(over) 투사(lay)하는 오버레이 방식, 특정 색깔만 다른 프레임버퍼의 내용으로 덮어 씌우는 컬러-키 방식, 및 알파값으로 불투명도를 조절하는 알파 블렌딩 방식 등이 될 수 있다.
스텝 S106에서는 호스트 머신(200)이 프레임버퍼 크기/위치의 변경을 확인한다. 프레임버퍼 크기/위치가 변경되지 않은 것으로 확인되면 S107로 진행되고, 프레임버퍼 크기/위치가 변경된 것으로 확인되면 S202로 진행된다.
스텝 S107에서는 모든 프레임버퍼 정보가 변경되지 않은 상태이므로 프레임버퍼 메모리 주소가 나타내는 메모리 상태(dirty/clean)를 확인하여 기록된 부분(dirty)만 디스플레이에 갱신하도록 하고, 프레임버퍼 메모리가 기록되지 않았다면(clean) 디스플레이버퍼(201)를 갱신하지 않는, 즉 필요에 따라 선별적으로 이루어지는 화면 부분 갱신을 실행한다. 이와 같이, 프레임버퍼 메모리가 기록되지 않은(clean) 경우에는 디스플레이버퍼(201)를 갱신할 필요가 없으므로 전체적인 가상화 성능이 향상된다.
스텝 S202에서는 상기한 바와 같이 디스플레이 상태 정보와 프레임버퍼 정보를 다시 읽어들여서 읽어들인 모든 정보를 반영하여 디스플레이버퍼를 갱신함으로써 화면 전체 갱신을 실행한다. 화면 전체 갱신은 스텝 S107에서의 화면 부분 갱신과 같이 프레임버퍼 메모리 상태를 확인하여 필요에 따라 선별적으로 디스플레이버퍼를 갱신(부분 업데이트)하는 것이 아니라 무조건적으로 프레임버퍼 전체를 다시 합성하여 디스플레이버퍼 전체를 갱신하는 것이다.
또한, 도 2에 도시된 스텝 S102 내지 스텝 S106의 순서는 예시를 위한 것이며 스텝 S102 내지 스텝 S106의 순서는 임의로 변경될 수 있다.
[발명의 효과]
기존 단일 프레임버퍼 구조에 비해 오버레이, 컬러-키 및 알파 블렌딩 등의 다양한 그래픽 효과를 표현할 수 있다. 또한, 가상 머신 내의 연산을 줄이고 호스트 머신의 연산 기능을 활용함으로써 전체적인 가상 머신의 성능 향상을 이끌 수 있다. 또, 다중 프레임버퍼를 가지는 실제 하드웨어에 가깝게 가상화를 이루어냄으로써 가상 머신 내의 하드웨어 드라이버 수정이 극소화되고, 이것은 가상머신을 개발하는데 걸리는 시간과 노력을 상당 부분 줄여주는 현저한 효과가 있다.

Claims (6)

  1. 복수의 프레임버퍼,
    상기 복수의 프레임버퍼가 합성된 다중 프레임버퍼가 표시되는 디스플레이버퍼,
    상기 복수의 프레임버퍼에 관한 정보인 프레임버퍼 정보 및 디스플레이 상태 정보가 기록되는 디스플레이 컨트롤러 레지스터,
    상기 프레임버퍼 정보와 상기 디스플레이 상태 정보를 상기 디스플레이 컨트롤러 레지스터에 기록하는 가상 머신, 및
    상기 디스플레이 컨트롤러 레지스터에 기록된 상기 프레임버퍼 정보와 상기 디스플레이 상태 정보에 의거하여 주기적으로 복수의 프레임버퍼를 합성하고 디스플레이버퍼를 갱신함으로써 다중 프레임버퍼를 디스플레이에 렌더링하여 표시하는 호스트 머신을 포함하는 것을 특징으로 하는 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템.
  2. 제 1 항에 있어서,
    상기 프레임버퍼 정보는 프레임버퍼 메모리 주소, 프레임버퍼 픽셀 형식, 다른 프레임버퍼와의 합성 방식, 및 프레임버퍼의 크기(프레임버퍼 높이, 프레임버퍼 너비)와 디스플레이에 대한 프레임버퍼의 상대적 위치를 포함하고,
    상기 디스플레이 상태 정보는 디스플레이 창의 크기(디스플레이 높이, 디스플레이 너비), 전원 비트(디스플레이 ON/OFF 비트), 및 프레임버퍼 선택 비트를 포함하는 것을 특징으로 하는 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 프레임버퍼를 합성하는 방식은 오버레이 방식, 알파 블렌딩 방식, 또는 컬러-키 방식을 포함하는 것을 특징으로 하는 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템.
  4. 호스트 머신이 가상 머신에 의해 디스플레이 컨트롤러 레지스터에 기록된 전원 비트에 의해 디스플레이 전원의 ON/OFF를 확인하는 제1스텝,
    상기 호스트 머신이 상기 가상 머신에 의해 상기 디스플레이 컨트롤러 레지스터에 기록된 가상 머신 내에서의 복수의 프레임버퍼 중에 어느 버퍼를 사용할 것인지에 대한 정보인 프레임버퍼 선택 비트의 변경을 확인하는 제2스텝,
    상기 호스트 머신이 상기 가상 머신에 의해 상기 디스플레이 컨트롤러 레지스터에 기록된 프레임버퍼 메모리 주소의 변경을 확인하는 제3스텝과,
    상기 호스트 머신이 상기 가상 머신에 의해 상기 디스플레이 컨트롤러 레지스터에 기록된 프레임버퍼 픽셀 형식의 변경을 확인하는 제4스텝,
    상기 호스트 머신이 상기 가상 머신에 의해 상기 디스플레이 컨트롤러 레지스터에 기록된 프레임버퍼 합성 방식의 변경을 확인하는 제5스텝,
    상기 호스트 머신이 상기 가상 머신에 의해 상기 디스플레이 컨트롤러 레지스터에 기록된 프레임버퍼 크기/위치의 변경을 확인하는 제6스텝,
    상기 제1스텝에서 디스플레이 전원이 ON이고, 상기 제2스텝 내지 상기 제6스텝에서 각각의 확인사항에 어느 하나라도 아무런 변경이 없는 것으로 확인되는 경우에, 상기 호스트 머신이 프레임버퍼 메모리 주소가 나타내는 메모리 상태를 확인하여 프레임버퍼 메모리가 기록된 부분만 디스플레이에 갱신하도록 하고, 프레임버퍼 메모리가 기록되지 않았다면 디스플레이버퍼를 갱신하지 않는 방식으로 디스플레이버퍼의 부분 갱신을 함으로써 화면 부분 갱신을 실행하는 제7스텝,
    상기 제1스텝에서 디스플레이 전원이 OFF인 경우에 상기 호스트 머신이 디스플레이 화면에 검은 화면을 표시하는 제8스텝, 및
    상기 제1스텝에서 디스플레이 전원이 ON이고, 상기 제2스텝 내지 상기 제6스텝에서 각각의 확인사항 중 어느 하나에라도 변경이 있는 것으로 확인되는 경우에, 상기 호스트 머신이 모든 디스플레이 상태 정보와 상기 프레임버퍼 정보를 다시 읽어들여서 읽어들인 모든 정보에 의거하여 선택된 프레임버퍼를 다시 합성하여 디스플레이버퍼를 갱신함으로써 화면 전체 갱신을 실행하는 제9스텝을 포함하는 것을 특징으로 하는 가상 머신에서의 다중 프레임버퍼 에뮬레이션 방법.
  5. 제 4 항에 있어서,
    상기 프레임버퍼 정보는 프레임버퍼 메모리 주소, 프레임버퍼 픽셀 형식, 다른 프레임버퍼와의 합성 방식, 및 프레임버퍼의 크기(프레임버퍼 높이, 프레임버퍼 너비)와 디스플레이에 대한 프레임버퍼의 상대적 위치를 포함하고,
    상기 디스플레이 상태 정보는 디스플레이 창의 크기(디스플레이 높이, 디스플레이 너비), 전원 비트(디스플레이 ON/OFF 비트), 및 프레임버퍼 선택 비트를 포함하는 것을 특징으로 하는 가상 머신에서의 다중 프레임버퍼 에뮬레이션 방법.
  6. 제 4 항 또는 제 5 항에 있어서,
    상기 프레임버퍼를 합성하는 방식은 오버레이 방식, 알파 블렌딩 방식, 또는 컬러-키 방식을 포함하는 것을 특징으로 하는 가상 머신에서의 다중 프레임버퍼 에뮬레이션 방법.
KR1020110136104A 2011-12-16 2011-12-16 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템 및 방법 KR101367246B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110136104A KR101367246B1 (ko) 2011-12-16 2011-12-16 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110136104A KR101367246B1 (ko) 2011-12-16 2011-12-16 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20130068753A KR20130068753A (ko) 2013-06-26
KR101367246B1 true KR101367246B1 (ko) 2014-02-28

Family

ID=48864309

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110136104A KR101367246B1 (ko) 2011-12-16 2011-12-16 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101367246B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102282365B1 (ko) * 2015-02-06 2021-07-27 삼성전자주식회사 Os들의 화면을 통합하여 표시하는 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304636A (ja) 2001-02-01 2002-10-18 Sony Computer Entertainment Inc 画像生成方法及び装置、画像処理プログラムを記録した記録媒体、画像処理プログラム
US7663635B2 (en) 2005-05-27 2010-02-16 Ati Technologies, Inc. Multiple video processor unit (VPU) memory mapping
KR20100090328A (ko) * 2009-02-06 2010-08-16 주식회사 엘지유플러스 이동통신 단말기의 어플리케이션 병합 화면 표시 방법 및 그 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002304636A (ja) 2001-02-01 2002-10-18 Sony Computer Entertainment Inc 画像生成方法及び装置、画像処理プログラムを記録した記録媒体、画像処理プログラム
US7663635B2 (en) 2005-05-27 2010-02-16 Ati Technologies, Inc. Multiple video processor unit (VPU) memory mapping
KR20100090328A (ko) * 2009-02-06 2010-08-16 주식회사 엘지유플러스 이동통신 단말기의 어플리케이션 병합 화면 표시 방법 및 그 시스템

Also Published As

Publication number Publication date
KR20130068753A (ko) 2013-06-26

Similar Documents

Publication Publication Date Title
US6587112B1 (en) Window copy-swap using multi-buffer hardware support
TWI608462B (zh) 用於可摺疊式顯示器的成像技術
JP2637920B2 (ja) コンピュータ・グラフィック・システム及びフレーム・バッファ使用方法
US8384738B2 (en) Compositing windowing system
US6999087B2 (en) Dynamically adjusting sample density in a graphics system
US20150287220A1 (en) Rendering text using anti-aliasing techniques, cached coverage values, and/or reuse of font color values
US8976187B2 (en) System for accelerating composite graphics rendering
CN110457102B (zh) 可视对象的模糊方法、渲染方法及计算设备
JPH08179743A (ja) ウインドウ表示処理装置
JP2001117750A (ja) 表示制御装置および表示方法
JP2015501442A (ja) アンチアイリアシング技術によりテキストをレンダリングするためのカバレッジ値のキャッシング
JPWO2007129367A1 (ja) 画像合成装置および画像合成方法
CN102663989B (zh) 一种用于移动终端显示的缓存处理方法及装置
JP4919805B2 (ja) 矩形画像描画装置、矩形画像描画方法、及び集積回路
KR100770622B1 (ko) 중첩 표시 가능한 디스플레이 컨트롤러
US10789913B2 (en) Arbitrary block rendering and display frame reconstruction
KR101367246B1 (ko) 가상 머신에서의 다중 프레임버퍼 에뮬레이션 시스템 및 방법
JP3770121B2 (ja) 画像処理装置
WO2010089805A1 (ja) グラフィカルユーザインタフェース装置及びグラフィカルユーザインタフェース実現方法
JPH04174497A (ja) 表示制御装置
JP2022515709A (ja) 画像を生成するための方法、コンピュータプログラム、及び装置
CN114116227A (zh) 一种无GPU支持的基于Wayland协议的显示方法、装置及设备
KR101719273B1 (ko) 디스플레이 컨트롤러 및 이를 포함하는 디스플레이 장치
Hoddie et al. Drawing Graphics with Poco
CN102376259A (zh) 一种多区域流水线显示方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200217

Year of fee payment: 7