KR20050122046A - 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템 - Google Patents

이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템 Download PDF

Info

Publication number
KR20050122046A
KR20050122046A KR1020040047181A KR20040047181A KR20050122046A KR 20050122046 A KR20050122046 A KR 20050122046A KR 1020040047181 A KR1020040047181 A KR 1020040047181A KR 20040047181 A KR20040047181 A KR 20040047181A KR 20050122046 A KR20050122046 A KR 20050122046A
Authority
KR
South Korea
Prior art keywords
loading
source data
unit source
processor means
rendering
Prior art date
Application number
KR1020040047181A
Other languages
English (en)
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 KR1020040047181A priority Critical patent/KR20050122046A/ko
Publication of KR20050122046A publication Critical patent/KR20050122046A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/206Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
    • A63F2300/207Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards for accessing game resources from local storage, e.g. streaming content from DVD
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 로딩 처리하는 장치의 능력과 렌더링 처리하는 장치의 능력을 고려하여 소스 데이터에 대한 로딩 가능 여부를 판단하고, 판단 결과에 의거하여 제한된 주기에서만 소스 데이터의 로딩 처리가 이루어지도록 하는 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩 시스템에 관한 것이다.
본 발명의 일실시예에 따른, 이미지 리소스를 로딩하는 방법은, 특정의 셀에 대한 렌더링 처리 이벤트가 발생되는 경우, 소정의 기본 기록 공간으로부터 상기 셀과 연관된 소스 데이터를 식별하는 단계와, 상기 식별된 소스 데이터를 구성하는 단위 소스 데이터를 소정 주기로 제1 로딩 큐에 순차적으로 이동시키는 단계와, 상기 제1 로딩 큐에 위치한 상기 단위 소스 데이터에 대해 소정의 판단 기준에 따라 로딩 적합도를 판단하는 단계와, 판단 결과, 상기 로딩 적합도가 논패스일 경우, 상기 단위 소스 데이터를 제2 로딩 큐로 이동시키는 단계와, 판단 결과, 상기 로딩 접합도가 패스일 경우, 상기 프로세서 수단은 상기 제1 로딩 큐에 위치한 상기 단위 소스 데이터를 소정의 그래픽 메모리로 로딩시키는 단계, 및 소정의 비디오 프로세서 수단에서 상기 그래픽 메모리에 로딩된 상기 단위 소스 데이터를 렌더링하는 단계를 포함하고, 상기 로딩 적합도를 판단하는 상기 단계는, 상기 프로세서 수단의 로딩 처리 능력 또는 상기 비디오 프로세서 수단의 렌더링 처리 능력을 고려하여 상기 로딩 적합도를 판단하는 것을 특징으로 한다.
본 발명에 따르면, 특정의 단위 소스 데이터에 대한 로딩 가능 여부가, CPU인 프로세서 수단 또는 GPU인 비디오 프로세서 수단의 능력에 따라 결정되도록 함으로써 단위 소스 데이터의 로딩 시점에 대한 유연한 변경 조정을 가능하게 하는 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩 시스템을 제공할 수 있는 이점이 있다.

Description

이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩 시스템{METHOD AND SYSTEM FOR LOADING OF THE IMAGE RESOURCE}
본 발명은 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩 시스템에 관한 것으로서, 보다 상세하게는, 로딩 처리하는 장치의 능력과 렌더링 처리하는 장치의 능력을 고려하여 소스 데이터에 대한 로딩 가능 여부를 판단하고, 판단 결과에 의거하여 해당 주기에서 소스 데이터의 로딩 처리 여부를 결정하는 이미지 리소스 로딩 방법 및 이미지 리소스 로딩 시스템에 관한 것이다.
종래기술에 따른 이미지 렌더링 처리 방법에서는, 렌더링 할 이미지 데이터의 로딩에 관여하는 CPU(중앙 처리 장치)와, 로딩된 이미지 데이터를 렌더링하여 이미지를 구현하는 GPU(그래픽 처리 장치)가 동일한 렌더링 쓰레드(Rendering-Thread)로 구성되어 로딩과 렌더링이 시계열적으로 수행되도록 하는 방식이 주류를 이루어 왔다. 이러한 리소스 로딩 방식은 CPU가 리소스를 로딩하는 도중에 GPU가 렌더링을 정지하는 랙 현상에 취약하며, 이에 따라 GPU의 렌더링 효율이 극히 낮아지는 단점을 내재하고 있다. 즉, 이미지 렌더링에 있어서 랙 현상은 이미지의 구현을 도중에 불규칙적으로 정지시키는 요소가 되며, 이에 따라 사용자에게 끊김 현상의 이미지 또는 비정상적으로 구현된 이미지가 제공되도록 하는 원인이 되고 있다.
특히, 종래 리소스 로딩 및 렌더링 방식을 이용하는 경우, MMORPG(Massively Multi-player Online Role Playing Game) 서비스에서는 로딩할 이미지 리소스의 양이 상당하게 되며 로딩 시간이 비례적으로 증가되어 랙 발생이 점점 빈발해지고 있다. 더욱이 앞으로의 게임 그래픽 추세가 3D 게임으로 진행하고 있고, 2D 게임에 비해 렌더링 처리를 위한 계산량이 급격하게 증가하는 3D 게임을 지원하기 위해서는 랙 현상을 현저하게 억제할 수 있는 새로운 리소스 로딩 및 렌더링 방식의 출현은 필수적이라 할 수 있다.
또한, 종래 리소스 로딩 방식에서는 로딩해야 할 리소스의 양이 과대해지는 경우, CPU 및 GPU 사이의 렌더링 쓰레드에 영향이 주어지게 되며, 원활한 CPU 및 GPU 구동을 저해하는 요소로서 작용할 우려가 된다. 특히, 캐릭터 또는 폴리곤 데이터가 다수인 이미지의 렌더링과 관련된 리소스를 로딩하는 경우와 같이, 종래의 리소스 로딩 방식에 의해서는 모든 리소스를 로딩해야 함으로써 전체적인 렌더링 시간이 무한정 길어지게 되는 우려 또한 내포하게 된다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 이미지 리소스를 로딩하는 로딩 처리와, 로딩된 이미지 리소스를 렌더링 하는 렌더링 처리가 별도의 쓰레드에 의해 병렬적으로 처리되도록 하는 이미지 리소스 로딩 방법 및 이미지 리소스 로딩 시스템을 제공하는 것을 목적으로 한다.
또한, 특정의 단위 소스 데이터에 대한 로딩 가능 여부가, CPU인 프로세서 수단 또는 GPU인 비디오 프로세서 수단의 능력에 따라 결정되도록 함으로써 단위 소스 데이터의 로딩 시점을 유연한 조정할 수 있게 하는 이미지 리소스 로딩 방법 및 이미지 리소스 로딩 시스템을 제공하는 것을 목적으로 한다.
또, 본 발명의 목적은, 로딩 적합도의 결정에 의거하여 단위 소스 데이터에 대한 로딩 처리가 적합하지 않는 시점을 정확하게 판단하고 해당 주기에서의 로딩 처리가 차단되도록 함으로써 렌더링 처리되는 단위 소스 데이터에 대한 이미지 구현의 최적화를 보장하는 이미지 리소스 로딩 방법 및 이미지 리소스 로딩 시스템을 제공하는 데에 있다.
또, 본 발명의 다른 목적은, 단위 소스 데이터에 대한 로딩 처리 시점을 유연하게 조정, 변경하되, 이전 주기에서 로딩 처리가 차단된 단위 소스 데이터에 대한 로딩 처리가 차기 주기에서 우선적으로 이루어지도록 함으로써 렌더링 대상에 대한 이미지 구현의 연속성을 보장하는 이미지 리소스 로딩 방법 및 이미지 리소스 로딩 시스템을 제공하는 데에 있다.
상기의 목적을 이루기 위한 본 발명의 일실시예에 따른, 이미지 리소스를 로딩하는 방법은, 특정의 셀에 대한 렌더링 처리 이벤트가 발생되는 경우, 소정의 기본 기록 공간으로부터 상기 셀과 연관된 소스 데이터를 식별하는 단계와, 상기 식별된 소스 데이터를 구성하는 단위 소스 데이터를 소정 주기로 제1 로딩 큐에 순차적으로 이동시키는 단계와, 상기 제1 로딩 큐에 위치한 상기 단위 소스 데이터에 대해 소정의 판단 기준에 따라 로딩 적합도를 판단하는 단계와, 판단 결과, 상기 로딩 적합도가 논패스일 경우, 상기 단위 소스 데이터를 제2 로딩 큐로 이동시키는 단계와, 판단 결과, 상기 로딩 접합도가 패스일 경우, 상기 프로세서 수단은 상기 제1 로딩 큐에 위치한 상기 단위 소스 데이터를 소정의 그래픽 메모리로 로딩시키는 단계, 및 소정의 비디오 프로세서 수단에서 상기 그래픽 메모리에 로딩된 상기 단위 소스 데이터를 렌더링하는 단계를 포함하고, 상기 로딩 적합도를 판단하는 상기 단계는, 상기 프로세서 수단의 로딩 처리 능력 또는 상기 비디오 프로세서 수단의 렌더링 처리 능력을 고려하여 상기 로딩 적합도를 판단하는 것을 특징으로 한다.
또한, 상기 목적을 달성하기 위한 기술적 구성으로서, 이미지 리소스의 로딩 시스템은, 셀 별로 렌더링 처리에 요구되는 소스 데이터를 저장하기 위한 기본 기록 공간과, 소정의 이벤트가 발생되는 경우 상기 이벤트와 연관된 셀을 식별하고, 상기 기본 기록 공간에서 상기 셀에 대응하는 소스 데이터를 식별하고, 소정의 기준에 따라 상기 식별된 소스 데이터를 구성하는 하나 이상의 단위 소스 데이터에 소정의 순차 정보를 각각 부여하는 소스 식별 수단과, 설정된 주기로, 상기 순차 정보에 기준하여 상기 단위 소스 데이터를 소정의 제1 로딩 큐로 이동시키고, 상기 이동된 단위 소스 데이터에 대해 로딩 적합도를 패스 또는 논패스로 판단하는 로딩 여부 판단 수단과, 상기 로딩 여부 판단 수단에 의해 상기 로딩 적합도가 패스로 판단되는 상기 단위 소스 데이터를 소정의 그래픽 메모리로 로딩시키는 프로세서 수단, 및 상기 로딩된 상기 단위 소스 데이터를 이용하여 상기 렌더링 처리하는 비디오 프로세서 수단을 포함하고, 상기 로딩 여부 판단 수단은, 상기 로딩 적합도가 논패스인 상기 단위 소스 데이터를 제2 로딩 큐로 이동시키는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩 시스템에 대하여 설명한다.
본 명세서에서 지속적으로 사용되는 소스 데이터는 특정 이미지의 구현을 위한 렌더링(rendering) 처리 시에 이용되는 데이터를 지칭하는 것으로, 예컨대 정적 사물체(건물, 나무)의 렌더링과 관련된 오브젝트(object) 데이터, 또는 동적 캐릭터(플레이어 캐릭터, NPC)의 렌더링과 관련된 모델(model) 데이터 등을 예시할 수 있다. 이러한 소스 데이터는 렌더링 처리에 관여하는 렌더링 수단(본 실시예에서의 비디오 프로세서 수단)의 성능을 고려하여, 소정 크기로 분할되는 하나 이상의 단위 소스 데이터로 구성될 수 있으며, 단위 소스 데이터의 크기는 소스 데이터의 종류 별로 상이하게 분할될 수 있으며, 또는 종류와 무관하게 동일하게 분할될 수도 있다.
또한, 셀은 렌더링 처리가 수행되는 가상 단위 구획으로의 이미지 영역을 의미할 수 있으며, 특히 본 실시예에서는 플레이어 캐릭터가 광대한 영역을 이동하면서 게임을 진행시키는 RPG 게임에서의 상기 영역을 분할한 경우 분할된 영역 각각을 지칭하는 게임 셀을 의미한다. 즉, 게임 셀은 게임 내에서의 플레이어 캐릭터 위치와 관련한 각종 데이터(소스 데이터를 렌더링한 이미지 포함)를 해당 게이머에게 제공되도록 하는 단위 기준이 될 수 있으며, 예컨대 클라이언트 단말기는 게임 셀(또는 그룹핑 된 복수의 게임 셀) 별로 소정의 게임 서버와 연결되어 해당 게임 셀에 위치하는 플레이어 캐릭터는 상기 게임 서버로부터 게임 진행과 관련된 각종 서비스를 제공 받는다.
도 1은 본 발명에 따른 이미지 리소스 로딩 시스템의 개략적인 동작을 설명하기 위한 도면이다.
이미지 리소스 로딩 시스템(100)은 특정의 게임 셀에 대한 소스 데이터를 로딩하여 렌더링 처리시키되, 소스 데이터를 로딩하는 CPU(중앙처리장치, 본 실시예의 프로세서 수단) 및 GPU(그래픽처리장치, 본 실시예의 비디오 프로세서 수단)의 성능을 고려하여 소스 데이터에 대한 로딩 처리 가부를 유연하게 제어하는 장치이다. 상술한 바와 같이, 이미지 리소스 로딩 시스템(100)은 플레이어 캐릭터의 게임 위치에 따라 다양하고 신속한 렌더링 처리를 요구하는 RPG 게임, 특히 광대역의 게임 영역에서 다수의 게이머가 온라인을 통해 동시적으로 게임을 진행하는 MMORPG(Massively Multi-player Online Role Playing Game)에서 구현될 수 있다. 이에 따라, 본 실시예에서는 설명의 편의를 위해 온라인 기반의 RPG 게임 상에서 본 발명의 이미지 리소스 로딩 시스템(100)이 구현되는 경우를 예를 들어 설명한다. 단, 본 발명의 기술 사상은, 온라인 기반 게임에서는 물론, 디스플레이 장치로의 이미지 구현을 위한 데이터 로딩과 관련된 모든 분야에서 적용될 수 있음을 본 발명이 속하는 당업자에게 명백하다 할 것이다. 또한, 본 실시예에서는 이미지 리소스 로딩 시스템(100)가 예컨대 도 1에 도시한 바와 같이, 게이머(120)가 보유하는 소정의 단말 수단(125)의 내부에서 구현되어 로딩 소스 데이터에 대한 렌더링 이미지를 게이머(120)에게 최적하게 제공되도록 하는 것을 예시하여 설명한다.
우선, 온라인 게임 서버(110)는 게이머(120)의 소정 단말 수단(125)과 통신망(130)으로 연결되며, 게이머(120)에게 온라인으로 게임 서비스를 제공하는 역할을 수행하는, MMORPG와 관련된 게임 서비스 서버를 의미할 수 있다. 온라인 게임 서버(110)에서의 게임 서비스는, 단말 수단(125)에 게임 관련 프로그램을 설치한 게이머(120)가 온라인 게임 서버(110)에 접속하는 경우, 온라인 게임 서버(110)로부터 소정의 게임 진행 데이터 또는 게임 패치가 단말 수단(125)으로 전송 받고, 전송된 게임 진행 데이터 또는 게임 패치에 의해 구동되는 상기 게임 관련 프로그램을 통해 제공될 수 있다. 또한, 온라인 게임 서버(110)는 이러한 게임 환경에서 게이머(120)에게 소정의 플레이어 캐릭터에 대한 동작 제어 권한을 부여하며, 게이머(120)로 하여금 상기 플레이어 캐릭터에 대해 독자적인 동작 제어를 가능하게 함으로써 본격적인 게임 서비스가 제공되도록 한다.
게이머(120)는 통신망(130)과의 접속을 위한 단말 수단(125)을 보유하며, 소정 계약 관계에 있는 온라인 게임 서버(110)로부터 소정의 게임 서비스를 제공 받는 인터넷 이용자를 의미할 수 있다. 게이머(120)는 광대한 게임 영역에서 플레이어 캐릭터가 특정의 게임 셀로 이동되도록 동작 제어할 수 있으며, 본 발명의 이미지 리소스 로딩 시스템(100)에 의한 소정의 렌더링을 통해 해당 게임 셀에 대응하는 이미지를 지속적으로 제공 받게 된다.
단말 수단(125)은 인터넷, 전화선 등의 통신망(130)을 통해 온라인 게임 서버(110)와의 접속 상태를 유지하며, 온라인 게임이 구현되도록 하는 장치로서, 예컨대 퍼스널 컴퓨터, 핸드헬드 컴퓨터(handheld computer), PDA(Personal Digital Assistant), 휴대폰, 스마트폰 등과 같이 소정의 메모리 수단을 구비하고 소정의 마이크로 프로세서를 탑재함으로써 소정의 연산 능력을 갖춘 단말기를 통칭하는 개념이다.
이미지 리소스 로딩 시스템(100)은 대용량의 소스 데이터를 하나 이상의 단위 소스 데이터로 분할하고, 분할된 단위 소스 데이터에 대한 로딩 처리와 렌더링 처리가 반복되도록 하는 역할을 수행하는 것으로서, 소정의 주기에서 로딩 적합도가 패스(pass)로 만족되는 경우에 한하여 단위 소스 데이터에 대한 로딩 처리가 이루어지도록 제어하게 된다. 이하, 도 2를 참조하여 본 발명의 이미지 리소스 로딩 시스템(200)의 구체적인 구성을 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 이미지 리소스 로딩 시스템을 나타내는 구성도이다.
본 발명의 이미지 리소스 로딩 시스템(200)은 기본 기록 공간(210), 소스 식별 수단(220), 로딩 여부 판단 수단(230), 프로세서 수단(240), 및 비디오 프로세서 수단(250)을 포함한다.
우선, 기본 기록 공간(210)은 셀 단위로 렌더링 처리에 요구되는 소스 데이터를 저장하기 위한 논리적 또는 물리적 기록 장치로서, 게임 진행이 이루어지는 일정 게임 영역에 대해 렌더링 처리와 관련된 이미지 정보를 종합하여 저장, 유지하게 된다. 특히, 기본 기록 공간(210)은 셀(게임 셀) 각각에 대응되도록 소스 데이터를 구분하여 저장하거나, 각 셀에 대응하는 소스 데이터를 구분할 수 있도록 저장한다. 따라서, 특정의 게임 셀에 대한 렌더링 처리 이벤트가 발생되는 경우, 렌더링이 요구된 게임 셀에 대한 정확한 식별 및 상기 식별된 게임 셀에 대응되는 소스 데이터를 신속하게 인지할 수 있다.
소스 식별 수단(220)은 소정의 이벤트가 발생되는 경우, 이벤트와 연관된 셀에 대응하는 소스 데이터를 기본 기록 공간(210)으로부터 식별하는 장치이다. 즉, 소스 식별 수단(220)은 렌더링 처리 이벤트의 발생 시, 플레이어 캐릭터가 현재 위치하는 게임 셀, 또는 미래 소정 시점에 위치할 것으로 예측되는 게임 셀과 관련된 소스 데이터를, 기본 기록 공간(210)으로부터 인지하는 역할을 수행한다. 특히, 소스 식별 수단(220)은 식별된 소스 데이터가 최적하게 로딩되도록 하는 소정 단위 크기로 소스 데이터를 분할하여 하나 이상의 단위 소스 데이터를 생성하게 된다. 단위 소스 데이터는 독립적으로 로딩 처리되는 소스 데이터의 종류(오브젝트 데이터, 모델 데이터 등) 별로 그 크기가 차등 지워지도록 분할할 수 있으며, 또는 소스 데이터의 종류와 무관하게 일정한 크기로 상기 식별된 소스 데이터를 균등 분할할 수 있다. 본 발명의 또 다른 실시예에 따르면, 이러한 소스 식별 수단(220)에 의해 분할되는 단위 소스 데이터의 크기는 클라이언트 단말기에서의 시스템 사양을 고려하여 자동적으로 결정될 수도 있다.
또한, 소스 식별 수단(220)은 식별된 소스 데이터를 구성하는 하나 이상의 단위 소스 데이터에 소정의 기준에 따라, 소정의 순차 정보를 각각 부여하게 된다. 여기서, 순차 정보는 특정의 게임 셀에 대한 렌더링 처리 시에 로딩이 이루어지는 순서의 결정과 관련되며, 순차 정보가 상대적으로 상위인 단위 소스 데이터를 우선하여 로딩 처리하게 된다. 또한, 순차 정보를 부여하는 소정의 기준은 본 시스템의 운영자에 의해 유연하게 설정될 수 있으며, 예를 들면, 플레이어 캐릭터로부터 가까운 거리에 위치한 오브젝트 데이터 순으로, 또는 플레이어 캐릭터의 시선 방향에 위치한 오브젝트 데이터 순과 같이 순차 정보가 부여될 수 있다.
로딩 여부 판단 수단(230)은 설정된 주기로, 부여된 순차 정보에 기준하여 단위 소스 데이터를 소정의 제1 로딩 큐로 이동시키고, 제1 로딩 큐에 이동된 단위 소스 데이터에 대해 로딩 적합도를 패스 또는 논패스로 판단하는 장치이다. 여기서, 제1 로딩 큐는 후술되는 프로세서 수단(240)에 의해 금번 주기에서 로딩 처리될 단위 소스 데이터가 위치하는 일종의 논리적 또는 물리적 버퍼 장치일 수 있다. 즉, 제1 로딩 큐로의 단위 소스 데이터 이동은 소정의 주기마다 이루어지며, 순차 정보가 상대적으로 가장 앞선 단위 소스 데이터가 우선하여 제1 로딩 큐로 이동될 수 있다. 또한, 로딩 여부 판단 수단(230)은 금번 주기에서 제1 로딩 큐에 위치하는 단위 소스 데이터에 대한 로딩 가능 여부를 판단하게 된다. 이러한 로딩 가능 여부는 소정의 로딩 적합도에 대한 결정에 따라 판단할 수 있으며, 후술하는 바와 같이, 판단 결과 로딩 적합도가 패스인 단위 소스 데이터만이 그래픽 메모리(255)로 로딩된다.
본 실시예에서는 후술되는 프로세서 수단(240) 또는 비디오 프로세서 수단(250)의 성능이 소정 능력 이상으로 발휘되는 경우에 한정하여 제1 로딩 큐에 위치한 단위 소스 데이터에 대한 로딩 처리가 실질적으로 수행되도록 하는 것을 예시하고 있다. 즉, 로딩 여부 판단 수단(230)은 제1 로딩 큐에 단위 소스 데이터가 진입한 경우라도, 최적한 상태에서의 로딩 처리 또는 렌더링 처리가 보장되는 경우에만, 로딩 적합도를 패스로 결정하여 상기 단위 소스 데이터의 로딩을 허용하게 된다. 반면, 제1 로딩 큐에 위치한 단위 소스 데이터를 로딩하는 경우, 정상적인 로딩 처리 또는 렌더링 처리의 수행이 불가할 것이라 판단되는 경우, 로딩 여부 판단 수단(230)은 로딩 적합도를 논패스(non-pass)로 결정하여 상기 단위 소스 데이터에 대한 로딩 처리를 차단하게 된다.
로딩 적합도가 논패스로 결정되는 단위 소스 데이터는 소정의 제2 로딩 큐로 이동하게 되며, 프로세서 수단(240)에 의한 금번 주기에서의 로딩 처리는 생략된다. 제2 로딩 큐에 위치되는 단위 소스 데이터는 차기 주기에 제1 로딩 큐로 우선하여 이동될 수 있으며, 상기 단위 소스 데이터에 대한 로딩 가능 여부에 대한 판단이 반복 수행될 수 있다. 이하, 도 3을 참조하여 단위 소스 데이터에 대한 로딩 가능 여부를 판단하는 과정에 대해 보다 상세히 설명한다.
도 3은 본 발명의 판단 기준에 의거하여 산출되는 수치와 소정의 임계 수치와의 비교를 통해 로딩 적합도를 결정하는 모델을 설명하기 위한 도면이다.
도 3에 도시한 바와 같이, 로딩 가능 여부에 대한 판단 기준으로는 프로세서 수단(240)의 활동량, 소정의 그래픽 메모리(255)에 로딩되는 데이터의 크기, 및 비디오 프로세서 수단(250)의 렌더링 시간 등이 고려될 수 있으며, 본 실시예에 따른 이미지 리소스 로딩 시스템(100)은 이러한 판단 기준에 의해 측정되는 각각의 수치가 설정된 임계 수치에 어느 하나라도 초과되는 경우, 로딩 여부 판단 수단(230)은 제1 로딩 큐에 위치하는 단위 소스 데이터에 대해서 로딩 적합도를 논패스로 결정하게 된다.
우선, 프로세서 수단(240)의 활동량은 프로세서 수단(240)이 제1 로딩 큐에 위치한 단위 소스 데이터를 소정 기간 내에 로딩 완료되도록 하는 것과 관련된다. 만약 프로세서 수단(240)의 활동량이 소정의 제1 임계 수치를 초과하는 경우, 프로세서 수단(240)의 과사용으로 인해 로딩 처리의 적체가 발생할 수 있다. 즉, 로딩 여부 판단 수단(230)은 이전 주기에 제1 로딩 큐에 위치했던 단위 소스 데이터가 프로세서 수단(240)에 의해 주기 이내에 모두 로딩되지 못하는 경우, 로딩 적합도를 논패스로 판단하게 된다. 이것은 입력 디바이스(예를 들면, 컴퓨터 마우스, 키보드 등)에서의 입력 처리, 네트워크 데이터의 처리, 애니메이션 처리(예를 들면, 캐릭터의 동작 제어 등) 등의 신호 처리 요구가 많아짐에 따라 프로세서 수단(240)의 활동량이 급증하는 것에 기인한 것으로, 이때 프로세서 수단(240)은 많은 작업을 일시에 처리해야 하는 이유로 단위 소스 데이터에 대한 로딩 처리를 해당 주기가 경과하기 이전에 완료하지 못할 수도 있다.
이에 따라, 로딩되고 있는 단위 소스 데이터에 대한 로딩 처리가 완료되는 시점까지 추가적으로 단위 소스 데이터를 로딩할 필요가 없으며, 또한 이미 로딩이 지연되어 소스 데이터가 적체된 상태에서 다음 주기의 단위 소스 데이터를 더 로딩하는 것은 소스 데이터의 적체를 가중시킬 가능성이 높다. 따라서, 로딩 여부 판단 수단(230)은 프로세서 수단(240)에 의해 로딩해야 할 추가적인 단위 소스 데이터가 발생하지 않도록 제1 로딩 큐에 위치한 단위 소스 데이터를 제2 로딩 큐로 대기 이동시키게 된다.
또한, 그래픽 메모리(255)에 축적되는 데이터 크기는 비디오 프로세서 수단(250)에 의한 렌더링 처리 효율과 관련되며, 만약 제1 로딩 큐에 위치하는 단위 소스 데이터가 로딩되어 그래픽 메모리(255)에 축적되는 데이터의 누적 비율이 소정의 제2 임계 수치 이상일 경우, 이는 비디오 프로세서 수단(250)의 과부하 원인으로 작용할 수 있다. 즉, 로딩 여부 판단 수단(230)은 그래픽 메모리(255)에 여유 공간이 부족하다고 판단되는 경우, 로딩 적합도를 논패스로 판단하고, 제1 로딩 큐에 위치한 단위 소스 데이터에 대한 금번 주기의 로딩 처리를 생략함으로써 추가적인 단위 소스 데이터의 로딩 처리가 이루어지지 않도록 할 수 있다. 상기 제2 임계 수치로 결정하는 데이터의 누적 비율은 그래픽 메모리(255)의 데이터 축적 능력과 관계될 수 있으며, 비디오 프로세서 수단(250)의 렌더링 처리가 최적하게 보장될 수 있는 범위 내에서, 유연하게 선정될 수 있다.
또한, 비디오 프로세서 수단(250)에서 수행되는 렌더링 처리의 경과 시간은 렌더링이 이루어지는 단위 소스 데이터의 속성과 관련되며, 만약 비디오 프로세서 수단(250)의 렌더링 처리 시간이 소정의 제3 임계 수치 이상일 경우, 해당 단위 소스 데이터를 렌더링 완료하는 데에 보다 많은 처리 시간이 요구됨을 알 수 있게 된다. 즉, 로딩 여부 판단 수단(230)은 복잡하고 정교한 계산을 요구하는 렌더링 처리가 필요한 단위 소스 데이터의 경우, 해당 단위 소스 데이터의 렌더링 처리를 위한 보다 많은 시간 확보를 위해 금번 주기의 단위 소스 데이터에 대한 로딩 적합도를 논패스로 판단하게 된다. 이것은, 예컨대 프로세서 수단(240)이 로딩 처리에 사용할 능력을, 비디오 프로세서 수단(250)의 렌더링 처리 능력에 지원되도록 하기 위한 것으로, 이를 통해 비디오 프로세서 수단(250)의 렌더링 처리 능력 향상(렌더링 처리 시간의 절감)을 도모할 수 있다.
따라서, 로딩 여부 판단 수단(230)은 도 3에서 도시한 세 가지의 판단 기준, 즉 프로세서 수단(240)의 활동량, 그래픽 메모리(255)의 용량, 비디오 프로세서 수단(250)의 렌더링 처리 시간에 의거하여 산출된 측정값 중 어느 하나가 임계 수치를 초과하는 경우, 제1 로딩 큐에 위치하는 단위 소스 데이터에 대한 로딩 적합도를 논패스로 결정하고, 해당 단위 소스 데이터를 제2 로딩 큐로 대기 이동하여 이번 주기에서의 로딩 처리를 차단하게 된다. 한편, 상기 단위 소스 데이터는 다음 주기 이후의 주기에서 로딩 처리될 수 있다.
다시, 도 2를 살펴보면, 프로세서 수단(240)은 로딩 여부 판단 수단(230)에 의해 로딩 적합도가 패스로 판단되는 경우에 한하여 단위 소스 데이터를 소정의 그래픽 메모리(255)로 로딩시키는 장치이다. 즉, 프로세서 수단(240)은 제1 로딩 큐에 위치하는 단위 소스 데이터의 로딩 처리에 관여하며, 로딩된 단위 소스 데이터를 그래픽 메모리(255)에 축적하여 비디오 프로세서 수단(250)의 렌더링 처리를 대기하도록 한다.
비디오 프로세서 수단(250)은 로딩된 단위 소스 데이터를 이용하여 렌더링 처리를 수행하는 장치이며, 상술한 바와 같이 그래픽 메모리(255)에 축적되는 단위 소스 데이터에 대한 렌더링을 통해 소정의 이미지를 구현시키게 된다. 비디오 프로세서 수단(250)에 의한 렌더링에 있어서, 그래픽 메모리(255)로부터의 데이터 추출은 소정 시점(예, 렌더링 처리가 되는 시점)에서 일시에 모든 축적된 데이터를 추출시키거나, 소정 간격으로 단위 소스 데이터를 독립적으로 추출시키는 등의 다양한 추출 방식이 있을 수 있다.
따라서, 본 발명에 따르면, 특정의 단위 소스 데이터에 대한 로딩 가능 여부가, 로딩 처리를 담당하는 프로세서 수단(240) 또는 렌더링 처리를 담당하는 비디오 프로세서 수단(250)의 현재 능력에 따라 결정되도록 함으로써 최적화된 이미지 구현이 이루어지도록 하는 효과를 얻을 수 있다.
이러한 구성을 갖는 본 발명에 따른 이미지 리소스 로딩 시스템(200)의 작업 흐름을 상세히 설명한다.
도 4a는 본 발명의 바람직한 실시예에 따른 이미지 리소스 로딩 방법을 구체적으로 도시한 작업 흐름도이다.
본 발명의 이미지 리소스 로딩 방법은 상술한 이미지 리소스 로딩 시스템(200)에 의해 수행된다.
우선, 이미지 리소스 로딩 시스템(200)은 특정의 게임 셀에 대한 렌더링 처리 이벤트가 발생되는 경우, 소정의 기본 기록 공간(210)으로부터 상기 게임 셀과 연관된 소스 데이터를 식별한다(S410). 본 단계(S410)는 특정 게임 셀의 렌더링 처리에 요구되는 소스 데이터를, 기본 기록 공간(210)에서 인지되도록 하는 과정이다. 여기서, 렌더링 처리 이벤트는 게임 진행에 따라 플레이어 캐릭터가 위치하는 게임 셀이 변경되는 것(또는 변경이 예측되는 것)에 상응하여 발생될 수 있으며, 이미지 리소스 로딩 시스템(200)은 플레이어 캐릭터의 해당 게이머에게 필요한 이미지가 적시에 제공될 수 있는 시점을 고려하여 렌더링 처리 이벤트를 발생시키게 된다.
또한, 이미지 리소스 로딩 시스템(200)은 식별된 소스 데이터를 구성하는 단위 소스 데이터를 소정 주기로 제1 로딩 큐에 순차적으로 이동시킨다(S420). 본 단계(S420)는 식별된 소스 데이터를 소정 크기의 단위 소스 데이터를 분할하고, 분할된 단위 소스 데이터를 일정한 시간 간격을 갖는 주기 마다 제1 로딩 큐로 이동되도록 하는 과정이다. 이때, 분할된 단위 소스 데이터 각각은 제1 로딩 큐로 이동되는 순서와 관련된 순차 정보를 포함하고 있으며, 이미지 리소스 로딩 시스템(200)은 순차 정보의 비교를 통해 상대적으로 상위의 순차 정보를 포함하는 단위 소스 데이터가 우선적으로 제1 로딩 큐에 이동되도록 제어할 수 있다. 상기 순차 정보는 단위 소스 데이터를 로딩할 때마다 동적으로 부여될 수 있다.
다음으로, 이미지 리소스 로딩 시스템(200)은 제1 로딩 큐에 위치한 단위 소스 데이터에 대해 소정의 판단 기준에 따라 로딩 적합도를 판단한다(S430). 본 단계(S430)는 프로세서 수단(240)의 로딩 처리 능력 또는 비디오 프로세서 수단(250)의 렌더링 처리 능력을 고려하여 로딩 적합도를 패스 또는 논패스로 판단하는 과정이다. 예컨대, 상기 판단 기준은 상술한 프로세서 수단(240)의 활동량, 그래픽 메모리(255)에 축적되는 데이터의 크기, 비디오 프로세서 수단(250)의 렌더링 시간 등이 될 수 있으며, 이와 관련되어 산출된 소정 수치가 임계 수치를 초과하는지의 여부에 따라 이미지 리소스 로딩 시스템(200)의 로딩 적합도 판단이 수행된다. 이에 따라, 이미지 리소스 로딩 시스템(200)은 패스로 결정된 단위 소스 데이터에 한정하여 로딩 처리가 제한적으로 이루어지도록 하며, 소정 게임 셀에 대한 이미지 렌더링을 최적화시킬 수 있을 정도의 단위 소스 데이터 만이 로딩되도록 할 수 있다. 이하, 도 5a 내지 도 5c를 참조하여 판단 기준에 대한 예시 및 이를 이용한 로딩 적합도의 논패스 결정에 대해 설명한다.
도 5a는 본 발명에 따른 판단 기준으로서 프로세서 수단의 활동량에 의거하여 로딩 적합도를 결정하는 방법의 일예를 나타내는 작업 흐름도이다.
도 5a에 도시한 바와 같이, 이미지 리소스 로딩 시스템(200)은 소정 주기 이내에 제1 로딩 큐에 위치한 단위 소스 데이터가 프로세서 수단(240)에 의해 로딩 완료되도록 하는 프로세서 수단(240)의 활동량 수치에 기초하여 제1 임계 수치를 설정한다(S511). 본 단계(S511)는 로딩 처리를 하는 프로세서 수단(240)의 기능이 정상적으로 발휘되도록 하는 프로세서 수단(240)의 활동량에 대한 기준 수치를 산정하기 위한 과정이다. 상술한 바와 같이, 프로세서 수단(240)은 로딩 처리 이외에 다양한 신호 처리에 관여할 수 있으며, 이미지 리소스 로딩 시스템(200)은 프로세서 수단(240)이 복수의 신호 처리를 수행하더라도, 단위 소스 데이터에 대한 로딩 처리를 주어진 시간 내(한 주기 동안)에 완료되도록 하는 프로세서 수단(240)의 최대 활동량 수치를 제1 임계 수치로 결정하게 된다. 본 실시예에서는 제1 로딩 큐에 위치한 단위 소스 데이터가 주기 내에 로딩 완료되도록 하는 프로세서 수단(240)의 활동량 수치를 제1 임계 수치로 설정하는 것을 예시하여 설명하고 있지만, 본 발명의 또 다른 실시예에 따르면, 상기 제1 임계 수치는 본 시스템의 설계자가 경험이나 계산의 의해 임의로 설정하는 활동량의 절대값을 제1 임계 수치로 설정되는 등의 다양한 방식이 있을 수 있음은 물론이다.
또한, 이미지 리소스 로딩 시스템(200)은 프로세서 수단(240)의 활동량 수치를 측정한다(S512). 본 단계(S512)는 로딩 처리를 수행하는 프로세서 수단(240)의 현재 활동량 수치를 검출하는 과정으로, 예컨대 단위 소스 데이터가 제1 로딩 큐에 위치하는 시점(로딩 적합도를 판단하는 시점)에서의 활동량 수치를 측정하게 된다.
다음으로, 이미지 리소스 로딩 시스템(200)은 측정된 활동량 수치가 설정된 제1 임계 수치를 초과하는 경우, 로딩 적합도를 논패스로 판단한다(S513). 본 단계(S513)는 프로세서 수단(240)이 복수의 신호 처리로 인해 활동량 수치가 높아짐에 따라 단위 소스 데이터에 대한 정상적인 로딩 처리가 불가하다는 것을 판단하는 과정이다. 본 단계(S513)에서 로딩 적합도가 논패스로 판단되는 경우, 이미지 리소스 로딩 시스템(200)은 제1 로딩 큐에 위치하고 있던 단위 소스 데이터를 제2 로딩 큐로 대기 이동시켜 금번 주기에서의 로딩 처리가 이루어지지 않도록 한다.
따라서, 본 발명에 의하면 프로세서 수단(240)의 로딩 처리 능력에 의거하여, 제1 로딩 큐에 위치한 단위 소스 데이터에 대한 로딩 가능 여부를 판단함으로써 로딩 시점에 대한 유연한 변경, 조정을 가능하게 하는 효과를 얻을 수 있다.
도 5b는 본 발명에 따른 판단 기준으로서 렌더링 처리될 데이터의 크기에 의거하여 로딩 적합도를 결정하는 방법의 일예를 나타내는 작업 흐름도이다.
도 5b에 도시한 바와 같이, 이미지 리소스 로딩 시스템(200)은 그래픽 메모리(255)에 로딩된 데이터의 크기를 측정한다(S521). 본 단계(S521)는 제1 로딩 큐로부터 로딩된 단위 소스 데이터를 축적시키는 그래픽 메모리(255)에 누적되는 데이터의 크기를 인지하는 과정이다. 본 실시예에서는 그래픽 메모리(255)에 누적되는 데이터 크기의 절대값을 측정하는 것을 예시하여 설명하고 있지만, 이는 본 발명의 일실시예에 불과하며, 이외에 그래픽 메모리(255)의 총 용량 대비 누적되는 데이터의 누적 크기의 비율을 측정할 수도 있다. 이에 따라 다양한 용량을 갖는 그래픽 메모리(255)에서의 로딩 적합도의 판단 기준 적용이 유연하게 이루질 수 있게 된다.
또한, 이미지 리소스 로딩 시스템(200)은 측정된 데이터의 크기가 소정의 제2 임계 수치를 초과하는 경우, 로딩 적합도를 논패스로 판단한다(S522). 본 단계(S522)는 비디오 프로세서 수단(250)에서 렌더링 처리해야 할 데이터의 크기가 이미 상당량 존재함에 따라 비디오 프로세서 수단(250)의 정상적인 렌더링 처리가 불가능해 지는 것을 예측하는 과정이다. 여기서, 제2 임계 수치는 예를 들면 소정 시간 동안에 비디오 프로세서 수단(250)에 의해 정상적인 렌더링 처리를 가능하게 하는 최대의 데이터 크기를 의미할 수 있으며, 비디오 프로세서 수단(250)의 렌더링 처리 능력에 따라 제2 임계 수치에 대한 유연한 변경이 가능하다. 상술한 것과 마찬가지로, 제2 임계 수치는 그래픽 메모리(255)의 총용량 대비 데이터 크기의 비율로서도 표시할 수 있다. 이미지 리소스 로딩 시스템(200)은 상기 측정된 데이터의 크기가 제2 임계 수치를 초과하는 경우, 제1 로딩 큐에 위치하는 단위 소스 데이터를 제2 로딩 큐로 대기 이동하여 금번 주기에서의 로딩 처리가 이루어지지 않도록 한다(단계(522)).
따라서, 본 발명에 의하면 렌더링 처리해야 할 데이터의 크기, 즉 그래픽 메모리(255)에 누적되는 데이터의 크기에 의거하여, 제1 로딩 큐에 위치한 단위 소스 데이터에 대한 로딩 가능 여부를 판단함으로써 로딩 시점에 대한 유연한 변경, 조정을 가능하게 하는 효과를 얻을 수 있다.
도 5c는 본 발명에 따른 판단 기준으로서 비디오 프로세서 수단의 렌더링 시간에 의거하여 로딩 적합도를 결정하는 방법의 일예를 나타내는 작업 흐름도이다.
도 5c에 도시한 바와 같이, 이미지 리소스 로딩 시스템(200)은 렌더링 처리 결과 생성되는 화면의 프레임 레이트를 측정한다(S531). 본 단계(S531)는 비디오 프로세서 수단(250)의 렌더링 시간을 측정하기 위해 이미지가 구현되는 화면(게임 화면)에서의 프레임 레이트를 식별하는 과정이다. 즉, 본 단계(S531)에서의 이미지 리소스 로딩 시스템(531)은 렌더링 되어 생성되는 이미지의 갱신 주기와 연관된 프레임 레이트를 측정하고, 측정된 프레임 레이트를 이용하여 해당 단위 소스 데이터의 렌더링 처리 시간을 예측할 수 있게 된다. 예컨대, 화면의 프레임 레이트가 높을 경우 개개의 이미지 구현 속도가 상대적으로 높다는 것을 의미할 수 있으며, 이에 따라 소정 크기의 단위 소스 데이터를 렌더링 처리하는 데에 소요되는 시간은 짧아진다는 것을 의미할 수 있다. 반면, 화면의 프레임 레이트가 낮을 경우, 렌더링 처리되는 단위 소스 데이터가 상세하고 고화질의 이미지 구현을 요구하는 것으로 판단할 수 있으며, 이에 따라 렌더링 처리 시간은 길어지게 된다.
또한, 이미지 리소스 로딩 시스템(200)은 측정된 프레임 레이트가 소정의 프레임 레이트 미만인 경우, 로딩 적합도를 논패스로 판단한다(S532). 본 단계(S532)는 비디오 프로세서 수단(250)의 렌더링 처리 시간이 설정된 렌더링 처리 시간(제3 임계 수치)을 초과하는지를 인지하는 과정이다. 이미지를 구현하기 위한 렌더링 처리 시간이 제2 임계 수치를 초과하는 경우, 즉 구현된 이미지가 갱신되는 속도인 프레임 레이트가 설정된 수치 미만으로 측정되는 경우, 이미지 리소스 로딩 시스템(200)은 현재 렌더링되고 있는 단위 소스 데이터와 연관하여 렌더링 처리 시간이 더 요구되는 것으로 판단할 수 있게 된다. 이에 따라 추가적인 단위 소스 데이터의 로딩 처리가 요구되지 않으며, 이미지 리소스 로딩 시스템(200)은 제1 로딩 큐에 위치하고 있던 단위 소스 데이터를 제2 로딩 큐로 대기 이동하여 금번 주기에서의 로딩 처리가 이루어지지 않도록 한다.
따라서, 본 발명에 의하면 화면에 구현되는 이미지에 대한 프레임 레이트의 수치, 즉 비디오 프로세서 수단(250)의 렌더링 처리 시간에 의거하여, 제1 로딩 큐에 위치한 단위 소스 데이터에 대한 로딩 가능 여부를 판단함으로써 로딩 시점에 대한 유연한 변경, 조정을 가능하게 하는 효과를 얻을 수 있다.
또한, 로딩 적합도를 판단하는 단계(S430)에서, 이미지 리소스 로딩 시스템(200)은 프로세서 수단(240)의 활동량 수치, 그래픽 메모리(255)의 용량, 비디오 프로세서 수단(250)의 렌더링 처리 시간 중 어느 하나가, 설정된 소정의 임계 수치를 초과하는 경우, 로딩 적합도를 논패스로 판단하게 된다. 즉, 로딩 적합도는 다양한 판단 기준에 의해 산출되는 수치 중에서 적어도 하나의 수치라도 기 설정된 임계 수치를 초과하는 경우 논패스로 결정되고, 이에 따라 해당 주기에서의 단위 소스 데이터에 대한 로딩 처리가 차단되도록 하게 된다.
따라서, 본 발명에 의하면 단위 소스 데이터에 대한 로딩 처리가 추가적으로 요구되는 않은 시점에 대한 보다 정확한 판단을 가능하게 하며, 또한 렌더링 처리되는 단위 소스 데이터에 대한 이미지 구현이 최적하도록 하는 효과를 얻을 수 있다.
다시, 도 4a를 살펴보면, 이미지 리소스 로딩 시스템(200)은 로딩 적합도가 논패스로 판단되는 경우, 단위 소스 데이터를 제2 로딩 큐로 이동시킨다(S440). 프로세서 수단(240)은 제1 로딩 큐에 위치한 단위 소스 데이터만을 그래픽 메모리(255)로 로딩하고, 금번 주기에서 프로세서 수단(240)에 의한 로딩 처리가 생략되도록 하기 위해 이미지 리소스 로딩 시스템(200)은 제1 로딩 큐의 단위 소스 데이터를 제2 로딩 큐에 대기 이동시킨다. 이에 따라, 최적한 렌더링 처리를 저해할 수 있는 추가적인 단위 소스 데이터의 로딩 처리를 한 주기 동안 차단할 수 있게 된다.
반면, 판단 결과, 로딩 접합도가 패스일 경우, 이미지 리소스 로딩 시스템(200)은 제1 로딩 큐에 위치한 상기 단위 소스 데이터를 소정의 그래픽 메모리(255)로 로딩시킨다(S450). 본 단계(S450)는 프로세서 수단(240)의 활동량 수치, 그래픽 메모리(255)의 용량, 렌더링 처리 시간 중 어느 하나라도 소정의 임계 수치를 초과하지 않을 경우, 프로세서 수단(240)에 의한 로딩 처리를 수행하는 과정이다. 즉, 본 단계(S450)에서의 이미지 리소스 로딩 시스템(200)은 단위 소스 데이터에 대해 로딩 처리가 이루어지더라도 비디오 프로세서 수단(250)에 의한 무난한 이미지 구현이 가능하다고 판단되는 경우에 한하여 제1 로딩 큐에 위치하는 단위 소스 데이터를 로딩하게 된다.
또한, 이미지 리소스 로딩 시스템(200)은 그래픽 메모리(255)에 로딩된 단위 소스 데이터를 렌더링한다(S460). 본 단계(S460)는 렌더링 처리 이벤트가 발생된 게임 셀에 대해 비디오 프로세서 수단(250)에 의한 이미지를 구현하는 과정으로, 예컨대 렌더링 처리가 이루어지는 시점에서 그래픽 메모리(255)에 축적되는 전체 데이터를 렌더링 대상으로 선정할 수 있다.
따라서, 본 발명에 따르면 프로세서 수단(240) 및 비디오 프로세서 수단(250)의 신호 처리 능력을 고려하여 단위 소스 데이터에 대한 로딩 시점이 유연하게 조정되도록 함으로써 이미지 구현이 최적화되도록 하는 효과를 얻을 수 있다.
이하, 본 발명의 다른 실시예로서 차기 주기의 발생과 함께 제2 로딩 큐에 대기 위치하고 있는 단위 소스 데이터를 제1 로딩 큐로 재차 이동시키는 것에 대해 설명한다.
도 4b는 본 발명의 대기 이동하는 단위 소스 데이터를 제1 로딩 큐로 우선 이동시키는 방법의 일예를 나타내는 작업 흐름도이다.
이러한 단위 소스 데이터의 로딩 큐 이동은, 상기 단위 소스 데이터를 순차적으로 제1 로딩 큐에 이동하는 단계(S420)에 포함되어 수행될 수 있다.
즉, 이미지 리소스 로딩 시스템(200)은 주기의 도래 시점에서, 제2 로딩 큐에 위치하는 단위 소스 데이터를, 제1 로딩 큐에 우선하여 이동시킨다(S425). 본 단계(S425)는 차기 주기가 발생하는 경우, 이전 주기에서 로딩 처리가 이루어지지 않은 단위 소스 데이터를 순차 정보와 무관하게 우선적으로 제1 로딩 큐로 이동하는 과정으로, 이후 로딩 적합도에 대한 판단 결과에 따라 로딩이 이루어지거나, 재차 제2 로딩 큐로의 단위 소스 데이터의 대기 이동이 수행된다.
따라서, 본 발명에 따른 소정의 단위 소스 데이터에 대한 로딩 처리 시점을 유연하게 조정, 변경하되, 이번 주기에서 로딩 처리가 차단된 단위 소스 데이터에 대한 로딩이 다음 주기에서는 우선적으로 이루어지도록 함으로써 렌더링 처리 대상에 대한 이미지 구현의 연속성을 보장하면서 상기 단위 소스 데이터에 대한 렌더링 처리가 너무 늦어지는 것을 방지하는 효과를 얻을 수 있다.
상술한 본 발명의 이미지 리소스 로딩 시스템(200)은 프로세서 수단(240)과 비디오 프로세서 수단(250)의 구동 시점에 대해서는 구체적인 한정을 하고 있지 않지만, 프로세서 수단(240)과 비디오 프로세서 수단(250)이 로딩 처리를 위한 쓰레드와 렌더링 처리를 위한 쓰레드를 병렬적으로 구동하는 것이 바람직할 수 있다.
도 6은 본 발명에 따른 프로세서 수단과 비디오 프로세서 수단을 병렬적으로 구동하여 로딩과 렌더링이 함께 처리되도록 하는 방법의 일예를 나타내는 작업 흐름도이다.
즉, 이미지 리소스 로딩 시스템(200)은 CPU일 프로세서 수단(240)이 리소스를 로딩하는 중에, GPU인 비디오 프로세서 수단(250)에서도 렌더링이 지속되도록 하여 GPU의 효율을 향상시키는 방식을 채택하게 된다. 즉, 본 발명의 이미지 리소스 로딩 시스템(200)은 그래픽 메모리(255)를 구비하고, 그래픽 메모리(255)로의 리소스 로딩 및 로딩된 리소스에 대한 렌더링 처리를 반복하여 소정의 이미지가 구현되도록 하고 있다.
이를 위해서, 이미지 리소스 로딩 시스템(200)은 특정의 셀에 대한 렌더링 처리 이벤트가 발생되는 경우, 프로세서 수단(240)에서 소정의 기본 기록 공간(210)으로부터 셀과 연관된 소스 데이터를 식별한다(S610). 본 단계(S610)는 특정 게임 셀의 렌더링 처리에 요구되는 소스 데이터를 기본 기록 공간(210)에서 인지되도록 하는 (단계410)와 유사한 과정이다.
또한, 이미지 리소스 로딩 시스템(200)은 식별된 소스 데이터를 구성하는 단위 소스 데이터를 소정 주기로 그래픽 메모리(255)에 순차적으로 로딩시킨다(S620). 본 단계(S620)는 소정 크기로 분할된 단위 소스 데이터를 일정한 시간 간격을 갖는 주기 마다 프로세서 수단(240)에서 로딩 처리하는 과정이다.
다음으로, 이미지 리소스 로딩 시스템(200)은 그래픽 메모리(255)에 로딩된 단위 소스 데이터를 렌더링하여 이미지를 생성한다(S630). 본 단계(S630)는 비디오 프로세서 수단(250)에 의한 단위 소스 데이터의 렌더링 처리를 수행하는 과정으로, 소정의 렌더링 처리 이벤트가 발생되는 시점에서 그래픽 메모리(255)에 누적되는 단위 소스 데이터에 대해 렌더링을 처리하게 된다.
또한, 이미지 리소스 로딩 시스템(200)은 생성된 이미지를 소정의 디스플레이부에 디스플레이한다(S640). 본 단계(S640)는 이미지를 구현하여 게이머(120)에게 제공되도록 하는 과정이다.
특히, 본 단계(S640)에서의 이미지 리소스 로딩 시스템(200)은 프로세서 수단(240)에 의한 로딩 처리(S620)와, 비디오 프로세서 수단(250)에 의한 렌더링 처리(S630)를 병렬적으로 수행한다. 즉, 이미지 리소스 로딩 시스템(200)은 로딩 처리와 렌더링 처리가 함께 수행되도록 함으로써, 로딩 처리와 렌더링 처리가 이루어지는 시차가 억제되도록 함으로써 종래의 리소스 로딩 방식과 같은 랙 현상의 초래를 최소화 할 수 있는 효과를 얻을 수 있다.
특히, 이미지 리소스 로딩 시스템(200)은 로딩 처리 또는 렌더링 처리를 위해 프로세서 수단(240), 비디오 프로세서(250) 등의 시스템 자원이 활용되는 정도를 상술한 실시예에서와 같이 유연하게 변경, 조정함으로써 로딩 처리 및 렌더링 처리가 최적으로 수행되도록 할 수 있다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
도 7은 본 발명에 따른 이미지 리소스 로딩 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
컴퓨터 장치(700)는 램(RAM: Random Access Memory)(720)과 롬(ROM: Read Only Memory)(730)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(710)를 포함한다. 프로세서(710)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(730)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전송하는 역할을 하며, 램(720)은 통상적으로 데이터와 명령을 양방향성으로 전송하는 데 사용된다. 램(720) 및 롬(730)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(740)는 양방향성으로 프로세서(710)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(740)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드 디스크와 같은 보조기억장치이다. CD 롬(760)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(710)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(750)와 연결된다. 마지막으로, 프로세서(710)는 네트워크 인터페이스(770)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.
상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
지금까지 본 발명에 따른 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서는 여러 가지 변형이 가능함은 물론이다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허 청구 범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
이상의 설명에서 알 수 있는 바와 같이, 본 발명에 따르면, 이미지 리소스를 로딩하는 로딩 처리와, 로딩된 이미지 리소스를 렌더링 하는 렌더링 처리가 별도의 쓰레드에 의해 병렬적으로 처리되고, 로딩 처리 또는 렌더링 처리에 필요한 각 시스템 자원을 렌더링 처리에 최적화하여 유동적으로 할당할 수 있는 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩 시스템이 제공된다. 따라서, 본 발명에 따르면, 렌더링 처리에 의해 이미지를 생성하는 과정에서의 랙 발생을 최소화하여 사용자에게 최대한 자연스러운 화면을 제공할 수 있는, 즉 프레임 레이트를 최소의 오차 범위 내로 유지할 수 있는 이미지 리소스 로딩 방법 및 이미지 리소스 로딩 시스템이 제공된다.
또한 본 발명에 따르면, 특정의 단위 소스 데이터에 대한 로딩 가능 여부가, CPU인 프로세서 수단 또는 GPU인 비디오 프로세서 수단의 능력에 따라 결정되도록 함으로써 단위 소스 데이터의 로딩 시점에 대한 유연한 변경 조정을 가능하게 하는 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩 시스템을 제공할 수 있다.
또한, 본 발명에 따르면, 로딩 적합도의 결정에 의거하여 단위 소스 데이터에 대한 로딩 처리가 요구되지 않는 시점을 정확하게 판단하고 해당 주기에서의 로딩 처리가 차단되도록 함으로써 렌더링 처리되는 단위 소스 데이터에 대한 이미지 구현의 최적화를 보장하는 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩 시스템을 제공할 수 있다.
또한, 본 발명에 따르면, 단위 소스 데이터에 대한 로딩 처리 시점을 유연하게 조정, 변경하되, 이전 주기에서 로딩 처리가 차단된 단위 소스 데이터에 대한 로딩 처리가 차기 주기에서 우선적으로 이루어지도록 함으로써 렌더링 대상에 대한 이미지 구현의 연속성을 유지하는 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩 시스템을 제공할 수 있다.
도 1은 본 발명에 따른 이미지 리소스 로딩 시스템의 개략적인 동작을 설명하기 위한 도면이다.
도 2는 본 발명의 바람직한 실시예에 따른 이미지 리소스 로딩 시스템을 나타내는 구성도이다.
도 3은 본 발명의 판단 기준에 의거하여 산출되는 수치와 소정의 임계 수치와의 비교를 통해 로딩 적합도를 결정하는 모델을 설명하기 위한 도면이다.
도 4a는 본 발명의 바람직한 실시예에 따른 이미지 리소스 로딩 방법을 구체적으로 도시한 작업 흐름도이고, 도 4b는 대기 이동하는 단위 소스 데이터를 제1 로딩 큐로 우선 이동시키는 방법의 일예를 나타내는 작업 흐름도이다.
도 5a는 본 발명에 따른 판단 기준으로서 프로세서 수단의 활동량에 의거하여 로딩 적합도를 결정하는 방법의 일예를 나타내는 작업 흐름도이고, 도 5b는 판단 기준으로서 렌더링 처리될 데이터의 크기에 의거하여 로딩 적합도를 결정하는 방법의 일예를 나타내는 작업 흐름도이며, 도 5c는 판단 기준으로서 비디오 프로세서 수단의 렌더링 시간에 의거하여 로딩 적합도를 결정하는 방법의 일예를 나타내는 작업 흐름도이다.
도 6은 본 발명에 따른 이미지 리소스 로딩 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
200 : 이미지 리소스 로딩 시스템 210 : 기본 기록 공간
220 : 소스 식별 수단 230 : 로딩 여부 판단 수단
240 : 프로세서 수단 245 :비디오 프로세서 수단
255 : 그래픽 메모리

Claims (1)

  1. 이미지 리소스를 로딩하는 방법에 있어서,
    특정 셀에 대한 렌더링 처리에 요구되는 소스 데이터를 식별하고, 상기 식별된 소스 데이터를 소정 크기의 단위 소스 데이터로 분할하는 단계;
    설정된 주기 간격으로, 상기 단위 소스 데이터를 소정의 로딩 큐에 순차적으로 위치시키는 단계;
    소정의 로딩 이벤트가 발생하는 시점에서, 상기 로딩 큐에 위치한 상기 단위 소스 데이터에 대한 로딩 적합도를 판단하는 단계 -상기 로딩 적합도는 패스 또는 논패스로 구분됨-; 및
    판단 결과, 로딩 적합도가 패스인 경우에 한하여 상기 로딩 큐에 위치한 상기 단위 소스 데이터를 로딩하는 단계
    를 포함하며,
    상기 로딩 적합도를 판단하는 상기 단계는,
    상기 로딩 적합도에 대한 판단 시점에서의 상기 프로세서 수단의 활동량 수치, 상기 그래픽 메모리에 축적되는 상기 단위 소스 데이터 크기, 상기 비디오 프로세서 수단의 상기 렌더링 처리 시간 중 적어도 하나 이상을 측정하는 단계; 및
    상기 측정된 값이 소정의 임계 수치를 초과하는 경우, 상기 로딩 적합도를 논패스로 판단하고, 상기 로딩 이벤트 발생에 대해서 상기 단위 소스 데이터의 로딩을 차단시키는 단계
    를 포함하는 것을 특징으로 하는 이미지 리소스 로딩 방법.
KR1020040047181A 2004-06-23 2004-06-23 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템 KR20050122046A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040047181A KR20050122046A (ko) 2004-06-23 2004-06-23 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040047181A KR20050122046A (ko) 2004-06-23 2004-06-23 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020040047069A Division KR100460009B1 (ko) 2004-06-23 2004-06-23 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템

Publications (1)

Publication Number Publication Date
KR20050122046A true KR20050122046A (ko) 2005-12-28

Family

ID=37294005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040047181A KR20050122046A (ko) 2004-06-23 2004-06-23 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템

Country Status (1)

Country Link
KR (1) KR20050122046A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100648340B1 (ko) * 2005-07-15 2006-11-23 엘지전자 주식회사 휴대 단말기의 이차원 그래픽 애니메이션 장치 및 방법
KR101503746B1 (ko) * 2008-09-16 2015-03-18 주식회사 엘지유플러스 이미지 리소스 관리 장치 및 방법
CN111240793A (zh) * 2020-02-13 2020-06-05 北京字节跳动网络技术有限公司 cell预渲染的方法、装置、电子设备以及计算机可读介质
CN116433818A (zh) * 2023-03-22 2023-07-14 宝钢工程技术集团有限公司 一种云端cpu及gpu平行渲染方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100648340B1 (ko) * 2005-07-15 2006-11-23 엘지전자 주식회사 휴대 단말기의 이차원 그래픽 애니메이션 장치 및 방법
KR101503746B1 (ko) * 2008-09-16 2015-03-18 주식회사 엘지유플러스 이미지 리소스 관리 장치 및 방법
CN111240793A (zh) * 2020-02-13 2020-06-05 北京字节跳动网络技术有限公司 cell预渲染的方法、装置、电子设备以及计算机可读介质
CN111240793B (zh) * 2020-02-13 2024-01-09 抖音视界有限公司 cell预渲染的方法、装置、电子设备以及计算机可读介质
CN116433818A (zh) * 2023-03-22 2023-07-14 宝钢工程技术集团有限公司 一种云端cpu及gpu平行渲染方法
CN116433818B (zh) * 2023-03-22 2024-04-16 宝钢工程技术集团有限公司 一种云端cpu及gpu平行渲染方法

Similar Documents

Publication Publication Date Title
JP4504422B2 (ja) イメージリソースをローディングする方法及びイメージリソースローディングシステム
KR100452089B1 (ko) 게임 화면을 갱신하기 위한 오브젝트를 로딩하는 이미지리소스 로딩 시스템 및 이미지 리소스 로딩 방법
US8667498B2 (en) Modifying virtual universe display quality of virtual objects according to encoded virtual object settings and fee payment status
US9286731B2 (en) Collapsing areas of a region in a virtual universe to conserve computing resources
US8624903B2 (en) Modifying a display quality of an area in a virtual universe according to avatar characteristics
US10668390B2 (en) Suspending state of cloud-based legacy applications
CN108379837A (zh) 信息处理方法及装置、存储介质、电子设备
CN101165635A (zh) 用于计算机处理器系统的功率管理的系统和方法
CN111708642B (zh) Vr系统中处理器性能优化方法、装置及vr设备
CN112005218A (zh) 一种图像处理器的功率分配的方法、装置及系统
TWI533146B (zh) 虛擬資源調整裝置、方法及儲存其之電腦可讀取紀錄媒體
US11907164B2 (en) File loading method and apparatus, electronic device, and storage medium
CN113168281B (zh) 计算机可读介质、电子装置和方法
CN109271253A (zh) 一种资源调配方法、装置及系统
EP2840496A1 (en) Method, system and an executable piece of code for controlling the use of hardware resources of a computer system
CN110716766A (zh) 游戏场景加载方法、装置、计算机可读介质及电子设备
CN112473144A (zh) 游戏资源数据的处理方法及装置
JP2022516319A (ja) ゲーム内のリソースをファーミングする期間においてコンピュータシステムのリソースの利用を最適化する方法およびシステム
US8140478B2 (en) Commit rate management with decoupled commit operations
JP5861715B2 (ja) データ処理装置、送信装置、スケジューリング方法、送信制御方法、スケジューリングプログラム、および送信制御プログラム
KR20050122046A (ko) 이미지 리소스를 로딩하는 방법 및 이미지 리소스 로딩시스템
JP7009523B2 (ja) 電子ゲーム表示における、破壊の詳細における動的なレベル
US20140357374A1 (en) Method and server for pvp team matching in computer games
CN110889004B (zh) 一种矢量图纸展示方法、系统、装置及存储介质
Zamith et al. Game loop model properties and characteristics on multi-core cpu and gpu games

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Withdrawal due to no request for examination