KR20070016852A - Method for optimizing 3d graphic algorithm according to mobile 3d chipset spec - Google Patents

Method for optimizing 3d graphic algorithm according to mobile 3d chipset spec Download PDF

Info

Publication number
KR20070016852A
KR20070016852A KR1020050071895A KR20050071895A KR20070016852A KR 20070016852 A KR20070016852 A KR 20070016852A KR 1020050071895 A KR1020050071895 A KR 1020050071895A KR 20050071895 A KR20050071895 A KR 20050071895A KR 20070016852 A KR20070016852 A KR 20070016852A
Authority
KR
South Korea
Prior art keywords
hardware
graphics acceleration
application software
software
video card
Prior art date
Application number
KR1020050071895A
Other languages
Korean (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 KR1020050071895A priority Critical patent/KR20070016852A/en
Priority to PCT/KR2005/003049 priority patent/WO2007018330A1/en
Publication of KR20070016852A publication Critical patent/KR20070016852A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/363Graphics controllers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 시스템과 사용자의 컴퓨터 그래픽 하드웨어를 위하여 소프트웨어 프로그램들을 최적화하는 방법에 관한 것이다. 예를 들어서 비행 시뮬레이션들,CAD,사진 편집 프로그들,컴퓨터 게임과 프리젠테이션 소프트웨어등에 본 발명을 활용할 수 있다.The present invention relates to a method of optimizing software programs for a system and a user's computer graphics hardware. For example, the present invention can be used for flight simulations, CAD, photo editing programs, computer games and presentation software.

그래픽 가속 하드웨어를 활용하여 높은 그래픽 성능이 요구되는 소프트웨어의 실행을 최적화하는 시스템과 방법이다. 이 시스템과 방법은 3D 가속 기능을 탑재한 비디오 카드 안에서 다른 여러가지 기능들을 확인하고,가속 하드웨어를 사용 여부를 결정하고 특정의 비디오 가속 카드의 기능들을 사용하기 위해 소프트웨어 적용을 최적화하는 과정을 포함한다. 이 기능은 Sub-Pixel Positioning, Opacity, Color Replacement , Fogging 등의 방법을 포함한다. It is a system and method that utilizes graphics acceleration hardware to optimize the execution of software requiring high graphics performance. This system and method involves identifying different functions within a video card with 3D acceleration, determining whether to use the acceleration hardware, and optimizing the software application to use the features of a particular video acceleration card. This feature includes Sub-Pixel Positioning, Opacity, Color Replacement and Fogging.

또한, 소프트웨어가 3D 가속기능을 사용하기 위해서 비디오 카드 적합성 판단을 위한 다른 종류들의 테스트를 하고 테스트 결과에 따른 최적화를 구현한다.In addition, the software performs different types of tests to determine video card suitability and implements optimization based on the test results in order to use 3D acceleration.

3D 가속기능, 3D 최적화 3D acceleration, 3D optimization

Description

모바일 3D 칩셋의 사양에 따른 자동 최적화 알고리듬{Method for optimizing 3d graphic algorithm according to mobile 3d chipset spec}Method for optimizing 3d graphic algorithm according to mobile 3d chipset spec}

도 1은 본 발명의 실행과정을 설명하기 위해서 범용 목적의 컴퓨터의 내부 구성을 도시한 도면 BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a diagram showing the internal configuration of a general purpose computer for explaining the implementation process of the present invention.

도 2는 본 발명을 이용해 3D 가속 장치를 사용하는 인터페이스를 프로그램하는 방법을 도시한 도면.Figure 2 illustrates a method of programming an interface using a 3D accelerator device using the present invention.

도 3은 본 발명을 이용해 3D 소프트웨어 렌더러가 소프트웨어와 하드웨어 그래픽 가속기를 연결하는 방법을 도시한 도면3 illustrates how a 3D software renderer connects software and a hardware graphics accelerator using the present invention.

도 4는 본 발명의 일반적인 처리 단계를 도시하는 흐름도4 is a flow chart showing the general processing steps of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

110: 3D 가속 기능을 구현하는 칩셋 120: 메인 프로세스 유니트110: chipset for 3D acceleration 120: main process unit

130: 메모리 영역 140: 고정 비휘발성 메모리 영역130: memory area 140: fixed nonvolatile memory area

자동 최적화의 알고리즘의 활용 가치는 매우 크다.자동 최적화 알고리즘 기술의 활용으로 개발자들은 개발비용을 혁신적으로 줄이는 이득을 얻을 수 있다.The use of algorithms for automatic optimization is very valuable. Developers of automatic optimization algorithms can benefit from innovative cost savings.

본 발명은 특정한 비디오 카드에서 소프트웨어의 성능과 안정성을 최적화하여 지금까지의 소프트웨어의 제약을 극복하였다. 이는 3D 가속이 가능한 비디오 카드의 여러 기능들을 확인하고 3D 가속기를 사용해야 하는지 정하고,선택적으로 특정의 비디오 가속 카드에서만 사용가능한 기능을 사용하기 위해 소프트웨어 적용을 최적화하는 과정을 포함한다. 이 초기화 과정은 응용 소프트웨어가 구동되는 때에 매회 같이 구현된다. 이러한 기술은 파워포인트와 같은 그래픽 프레젠테이션 프로그램이나 Direct3D와 같은 그래픽 가속 드라이버 데이터베이스에 사용될 수 있다. 이 발명은 보통 수준의 기술수준 만으로도 그래픽 카드의 가속 기능을 사용하는 어떠한 소프트웨어와 어떠한 그래픽 드라이버 라이브러리에도 어렵지 않게 활용될 수 있다.The present invention overcomes the software limitations so far by optimizing the performance and stability of the software in a particular video card. This involves identifying the various features of a 3D-accelerated video card, deciding if a 3D accelerator should be used, and optionally optimizing the software application to use features that are only available on certain video acceleration cards. This initialization process is implemented every time the application software is run. This technology can be used in graphics presentation programs such as PowerPoint or graphics acceleration driver databases such as Direct3D. This invention can be easily applied to any software and any graphics driver library that uses the acceleration capabilities of the graphics card, even at a moderate level of technology.

본 발명은 모바일 환경에서 구동 가능한 다양한 3D 칩셋의 사양에서 해당 칩셋에 최적화 된 그래픽 품질을 표현하기 위한 알고리듬 및 구현 방법에 관한 것이다. The present invention relates to an algorithm and an implementation method for expressing the optimized graphic quality for the chipset in the specifications of the various 3D chipset that can run in a mobile environment.

그래픽 OS와 3D 컴퓨팅 기술의 진보에 따라서 모니터에 보내야 하는 정보의 양이 크게 증가하였으며 화면에 정보를 보이게 하기 위한 연산의 양도 엄청나게 증가했다.그 결과로 비디오 카드는 CPU의 보조 프로세서의 성격을 띄게 발전하였다. Advances in graphics OS and 3D computing technology have greatly increased the amount of information that must be sent to the monitor, and the amount of computation required to make the information visible on the screen has increased tremendously. As a result, video cards have evolved significantly as coprocessors of the CPU. It was.

컴퓨터 모니터는 2 차원이기 때문에,PC는 2 차원으로밖에 표현할 수가 없다. 컴퓨터 모니터가 3차원 그래픽을 보여주기 위해서는 이 그래픽을 2D로 변환하는 것이 필요하다.이를 위해서는 특별한 프로세스와 빠른 계산 능력을 필요로 한다.액션 게임, 비행 시뮬레이션, 그래픽 프로그램, CAD 등의 소프트웨어를 위해서 더 실감나고 더 상세하면서 더 빠른 그래픽을 보여주기 위해서는 3D 가속기를 통한 3D 처리가 필요하다.Because computer monitors are two-dimensional, PCs can only be represented in two dimensions. In order for a computer monitor to display three-dimensional graphics, it is necessary to convert these graphics to 2D. This requires special processes and fast computational capabilities. More for software such as action games, flight simulation, graphics programs, CAD, etc. To display realistic, more detailed, and faster graphics, 3D processing with 3D accelerators is required.

Gourad Shading 알고리듬은 3D 오브젝트의 표면에 현실적인 차광을 주기 위해 사용되는 알고리즘이다.이를 통해서 물체가 깊이를 가지는 것처럼 보이는 게 만들고 형체를 더 명확히 보이게 할 수 있다.The Gourad Shading algorithm is an algorithm used to provide realistic shading on the surface of a 3D object, which makes it appear as if the object has a depth and makes the shape more visible.

Clipping 기술은 컴퓨터 화면 위에 보이는 부분을 결정하고 사용자가 볼수 없는 부분은 잘라서 보이지 않게 한다. 보이지 않는 부분을 위한 계산이 필요가 없기 때문에 이에 따라서 시스템 자원을 더 효율적으로 사용할 수 있게 해준다.Clipping technology determines what is visible on the computer screen and cuts out parts that the user cannot see. This eliminates the need for calculations for invisible parts, thus making more efficient use of system resources.

Lighting 기술은 현실 세계에서 오브젝트는 광원들에 의해서 모습을 형상한다. Lighting은 오브젝트의 위치와 광원들에 따라서 Color Shading, Light Reflection, 그림자 및 다른 효과들을 만들어 낸다In lighting technology, objects are shaped by light sources in the real world. Lighting creates color shading, light reflections, shadows, and other effects depending on the object's position and lights.

Transparency/Opacity는 현실 세계의 오브젝트는 투명하거나,반 투명이거나 불투명하다. 이러한 속성들을 소프트웨어/하드웨어적으로 표현한다.Transparency / Opacity is that objects in the real world are transparent, semi-transparent, or opaque. These attributes are expressed in software / hardware.

Texture Mapping은 현실적인 오브젝트를 만들기 위해서는 오브젝트 위에 그림들을 씌우는 것이 필요하다. 이러한 작업을 통해서 오브젝트들이 "평평한"대신에 입체감을 가지는 것처럼 보일수 있게 할 수 있다. 여러 가지 소프트웨어와 하드웨어에 의해서 여러가지 다른 형태의 텍스쳐 매핑을 구현한다.Texture Mapping requires painting on top of an object to create a realistic object. This allows the objects to appear to have a three-dimensional appearance instead of "flat". Different types of texture mapping are implemented by different software and hardware.

Dithering은 2D 그래픽스 및 많은 다른 상황에서도 사용되는 효과들이다.Dithering은 적은 수의 색깔을 섞어서 더 많은 수의 색깔을 보는 듯 착각하게 만드는 것이다. 3D에서는 주로 연산 시간을 줄이고 메모리 사용량을 줄이기 위해서 적 은 수의 색깔을 사용해서 더 현실적인 색깔을 표현하기 위해서 사용된다. Dithering is an effect that can be used in 2D graphics and many other situations. Dithering mixes fewer colors to make you think you are seeing more colors. In 3D, it is mainly used to express more realistic colors using a small number of colors in order to reduce computation time and memory usage.

Fogging 효과는 멀리 있는 오브젝트들을 뿌옇게 보이게 하기 위해서 2가지 역할을 한다. 장소를 더 현실적인 것처럼 보이게 하는 것을 돕는다.그리고,연산량을 줄이기 위해서 멀리 있는 뿌연 이미지들은 낮은 수준으로 연산하도록 해준다.The Fogging effect has two roles to make distant objects look blurry. It helps to make the place appear more realistic, and to reduce computation, blurry faraway images can be computed at a lower level.

3D 가속 특징 기능을 100% 활용하기 위해서는 소프트웨어가 이를 알고 지원하는 것이 필요하다. 하지만 3D 비교적 새로운 필드이기 때문에 서로 호환되지 않는 비디오 카드들이 시장을 분할하고 있다. 이러한 비호환 비디오 카드들은 같은 명령에 대해서 다른 결과를 내놓기도 한다. To take full advantage of 3D acceleration features, software needs to know and support them. However, because 3D is a relatively new field, incompatible video cards are dividing the market. These incompatible video cards may produce different results for the same command.

게임에서는 특정 비디오 카드의 기능을 활용하기 위해서 서로 다른 비디오 카드들에 특별한 버전을 따로따로 만들어서 제공하고 있다. 다행히도,새로운 표준의 라이브러리들은 이 문제를 해결하기 위해서 발전하고 있다.The game offers separate versions for different video cards to take advantage of certain video card features. Fortunately, new standard libraries are evolving to solve this problem.

상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명은 모바일 3D 칩셋에 따른 자동 최적화 알고리즘을 제공하는 방법에 있어서 그래픽 가속 하드웨어 초기화 시도, 여러가지의 소프트웨어 기능의 호환성, 사용여부의 테스팅 하는 단계, 어플리케이션 소프트웨어와의 알려진 비호환성을 가진 그래픽 가속 하드웨어의 확인 단계, 어플리케이션 소프트웨어의 비디오 카드 그래픽 가속 하드웨어의 초기화 성공 여부 확인 하는 단계, 테스트 확인에 필요한 메모리 충족 여부 확인 하는 단계, 비디오 카드 하드웨어 호출 성공 확인하는 단계, 서브픽셀 기능의 작동 여부 확인하는 단계, 비디오 메모리에 테스트 이미지를 그리는 단계, 테스트 이미지용 픽셀을 기대 경계선과 색을 사용해서 결정하는 단계, 예상된 픽셀과 실제 픽셀간의 오프셋 값 차이를 연산하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object and to solve the problems of the prior art, the present invention provides a method for providing an automatic optimization algorithm according to the mobile 3D chipset attempts to initialize the graphics acceleration hardware, compatibility of various software functions, testing the use of Verifying the graphics acceleration hardware with known incompatibility with the application software, verifying that the application software has successfully initialized the video card graphics acceleration hardware, verifying that the memory required for test verification is met, and verifying successful video card hardware call Steps for verifying that the subpixel function is enabled, drawing a test image in video memory, determining the pixels for the test image using expected boundaries and colors, and offsets between the expected and actual pixels. Characterized in that it comprises the step of computing the difference.

본 발명의 구체적인 구현 설명을 위해서, 기능 구현을 도식화한 도표들을 사용해서 설명한다. In order to explain the specific implementation of the present invention, a diagram illustrating the functional implementation will be described.

도1은 발명이 실현될 적당한 컴퓨터 시스템 환경(100)의 예를 도시한다. 이 컴퓨팅 환경은 하나의 예일 뿐이고 본 발명의 사용이 이러한 형태로 제약되는 것은 아니다. 또한 컴퓨팅 환경(100)의 도식은 도식 상의 특정 구성 요소 또는 구성요소에 대한 의존성이나 요구사항을 가지고 있는 것으로 해석되어서도 안된다.1 illustrates an example of a suitable computer system environment 100 in which the invention may be implemented. This computing environment is only one example and the use of the present invention is not limited in this form. In addition, the schematics of the computing environment 100 should not be construed as having dependencies or requirements on specific components or components in the schematics.

발명은 범용 컴퓨터 시스템과 특별한 목적을 가진 컴퓨터 시스템 환경에서 다 활용될 수 있다.이는 보통의 컴퓨터 시스템과 환경, 서버 컴퓨터,PDA 및 기타 휴대용 컴퓨터 기기들, 휴대폰,마이크로 프로세서를 장착한 시스템들, 네트워크 PC, 대형 계산기 컴퓨터 등에서 모두 적용될 수 있음을 뜻한다.The invention can be used in both general-purpose computer systems and special-purpose computer system environments, including ordinary computer systems and environments, server computers, PDAs, and other portable computer devices, mobile phones, systems equipped with microprocessors, and networks. This means that it can be applied to PCs, large calculator computers, etc.

본 발명은 프로그램 모듈과 같은 컴퓨터에서 실행 가능한 구조의 문맥에서 기술하게 된다. 보통 프로그램 모듈들은 Routine,Program,Object,Component,Data Structure 등등 특정 작업을 실행하거나 추상 데이터 형태를 이루는 것들을 포함한다. 본 발명은 또한 통신 네트워크를 통하여 연결되는 원격 컴퓨팅 환경에서 실행될 수도 있을 것이다. 분산 컴퓨팅 환경에서 프로그램 모듈은 주 컴퓨터 영역에 존재할 수도 있고 주 컴퓨터 영역과 원격 컴퓨터의 저장 매체에 같이 존재할 수도 있다. The invention is described in the context of a computer executable structure, such as a program module. Program modules usually include routines, programs, objects, components, data structures, etc. that perform particular tasks or form abstract data. The invention may also be practiced in remote computing environments that are linked through a communications network. In a distributed computing environment, program modules may be present in the primary computer domain or together in storage media of the primary and remote computers.

도 2는 어플리케이션(200)의 일반적인 시스템 스키마를 보여주고 있다. 이 케이스의 경우 어플리케이션 (200)은 예를 들어 슬라이드 쇼 모듈 (202)를 가지고 있고 모듈 (202)는 드로잉 계층 (204)와 인터페이싱을 하면서 화면에 그리기 명령을 내리게 된다. 드로잉 계층 (204)는 통상 소프트웨어 렌더러 (206)를 통해서 CPU와의 인터페이싱을 통해서 명령을 내리거나 그래픽 가속 렌더러 (210)을 통해서 그래픽 가속기 (212)에게 그리기 명령을 내리게 된다.2 shows a general system schema of an application 200. In this case application 200 has a slide show module 202, for example, which module 202 issues drawing commands to the screen while interfacing with drawing layer 204. The drawing layer 204 typically issues instructions through interfacing with the CPU via the software renderer 206 or to the graphics accelerator 212 through the graphics acceleration renderer 210.

도 3은 그래픽 가속 렌더러 (210)의 작동을 도식하고 있다. 그래픽 가속 렌더러 (210)은 보통 어플리케이션 소프트웨어에 내장되어 Drawer (218)을 통해서 그래픽 가속 하드웨어 (212a)와 소프트웨어 (212b)와 인터페이싱을 하고 초기화 모듈 (214)를 통해서 (212a)와 (212b)를 초기화시키는 역할을 한다. 본 발명은 테스트 단계 (216)을 통해서 (212a)와 (212b)의 어떠한 기능을 초기화시킬지를 자동으로 판단해서 최적화시킨다.3 illustrates the operation of the graphics acceleration renderer 210. The graphics acceleration renderer 210 is typically embedded in application software to interface with graphics acceleration hardware 212a and software 212b through the drawer 218 and to initialize 212a and 212b through the initialization module 214. It plays a role. The present invention automatically determines and optimizes which functions of 212a and 212b are initialized through test step 216.

도 4는 이러한 테스트 과정을 설명하고 있다. 본 발명은 우선 그래픽 하드웨어에서 그래픽 가속기 기능이 사용가능하게 선택되어 있는지를 체크하고(402) 문제가 있는 것으로 보고된 그래픽 카드 리스트에 이 그래픽 카드가 등록되어 있는 지 검색하고(404) 그래픽 가속 드라이버 라이브러리의 초기화가 성공하였는지를 본다(406). 이후 비디오 메모리는 충분한지(408), 비디오 카드 하드웨어 호출은 성공했는지 등을 체크한다. 이들 각각의 테스트 과정을 통과하지 못할 경우에는 그래픽 가속기를 사용하지 않는다(426). 이러한 테스트를 통과할 경우에는 그래픽 가속기의 옵션을 세팅하고(412) 서브 픽셀 테스트를 한다(414). 이 테스트에 성공하면 픽 셀의 오프셋 값을 저장하고 실패할 경우에는 그래픽 가속기를 사용하지 않는다(426). 다음에는 그래픽 가속기를 사용했을 때 Opacity 기능이 제대로 작동하는 지 체크한다(418). 이 기능이 작동하지 않으면 그래픽 가속기를 사용하지 않고(426) 성공하면 색깔 대체 테스팅을 한다(420). 이 테스트에 성공하지 못하면 Fog 기능 테스트(422)를 다시 한 번 하고 여기에서도 실패하면 그래픽 가속기를 사용하지 않는다(426). 이러한 테스트를 다 통과하고 나면 그래픽 가속기를 사용하도록 결정한다(424).4 illustrates this test process. The present invention first checks if the graphics accelerator function is selected to be enabled in the graphics hardware (402) and searches if the graphics card is registered in the list of graphics cards reported as problematic (404) and the graphics acceleration driver library See if initialization of s succeeded (406). It then checks whether the video memory is sufficient (408), whether the video card hardware call was successful, and so on. If they do not pass each of these test procedures, the graphics accelerator is not used (426). If the test passes, the graphics accelerator option is set (412) and the subpixel test is performed (414). If this test succeeds, it stores the pixel's offset value and if it fails, the graphics accelerator is not used (426). Next, we check to see if the Opacity feature is working properly when using the graphics accelerator (418). If this feature does not work, the graphics accelerator is not used (426) and if successful, color replacement testing (420). If this test does not succeed, repeat the Fog function test 422 once again and if it fails again, disable the graphics accelerator (426). After passing these tests, it is decided to use the graphics accelerator (424).

본 발명에 따르면, 이동 통신 단말기에 3D 객체를 이용한 어플리케이션을 제작할 때, 이동 통신 단말기의 서로다른 하드웨어 3D 가속기에 무관하게 어플리케이션을 개발 할 수 있다. According to the present invention, when producing an application using a 3D object in a mobile communication terminal, the application can be developed irrespective of different hardware 3D accelerators of the mobile communication terminal.

또한 본 발명에 따르면, 이동통신 단말기에서 3D 객체를 이용하는 어플리케이션이 구동될 때, 3D 가속이 가능한 비디오 카드의 여러 기능들을 확인하고 3D 가속기를 사용해야 하는지 정하고,선택적으로 특정의 비디오 가속 카드에서만 사용가능한 기능을 사용하기 위해 소프트웨어 적용을 최적화하는 과정을 포함하므로 최적의 성능을 구현 할 수 있다. In addition, according to the present invention, when an application using a 3D object in the mobile communication terminal is running, check the various functions of the video card capable of 3D acceleration and determine whether to use the 3D accelerator, optionally available only on a specific video acceleration card Optimal performance can be achieved by including the process of optimizing the software application to use it.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art to which the present invention pertains. Modifications are possible. Accordingly, the spirit of the present invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications thereof will belong to the scope of the present invention.

Claims (10)

비디오 카드의 그래픽 가속 기능을 사용하는 어플리케이션 소프트웨어의 성능최적화를 위한 방법에 있어서In a method for optimizing the performance of application software using the graphics acceleration function of a video card, 그래픽 가속 하드웨어 초기화 시도, 여러가지의 소프트웨어 기능의 호환성, 사용여부의 테스팅 하는 단계Attempts to initialize the graphics acceleration hardware, compatibility with various software features, and testing for use 어플리케이션 소프트웨어와의 알려진 비호환성을 가진 그래픽 가속 하드웨어의 확인 단계Identifying graphics acceleration hardware with known incompatibility with application software 어플리케이션 소프트웨어의 비디오 카드 그래픽 가속 하드웨어의 초기화 성공 여부 확인 하는 단계Steps to Verify Successful Initialization of Video Card Graphics Acceleration Hardware in Application Software 테스트 확인에 필요한 메모리 충족 여부 확인 하는 단계Steps to Determine Whether the Memory Needed for Test Verification 비디오 카드 하드웨어 호출 성공 확인하는 단계 Steps to Verify Video Card Hardware Call Success 서브픽셀 기능의 작동 여부 확인하는 단계Steps to verify that the subpixel feature is working 비디오 메모리에 테스트 이미지를 그리는 단계Steps to Draw Test Image in Video Memory 테스트 이미지용 픽셀을 기대 경계선과 색을 사용해서 결정하는 단계 Determining Pixels for a Test Image Using Expected Borders and Colors 예상된 픽셀과 실제 픽셀간의 오프셋 값 차이를 연산하는 단계 Compute the offset value difference between the expected pixel and the actual pixel 를 포함하는 것을 특징으로 하는 최적화 방법Optimization method characterized in that it comprises a 제 1항에 있어서,The method of claim 1, 유저가 하드웨어 가속을 사용하지 않게 세팅 했는지 여부를 판단하는 단계 Determining whether the user has disabled hardware acceleration 그 경우에 그래픽 가속 하드웨어 시험을 하지 않고 기능을 사용하지 않는 단계In that case, do not test the graphics acceleration hardware and disable the function. 를 포함하는 것을 특징으로 하는 방법.Method comprising a. 제 1항에 있어서 The method of claim 1 어플리케이션 소프트웨어가 하드웨어 가속을 사용하지 않게 세팅했는지 여부의 판단하는 단계 Determining whether the application software has disabled hardware acceleration 그 경우에 그래픽 가속 하드웨어 테스팅을 하지 않고 기능을 사용하지 않는 단계In that case, don't do graphics acceleration hardware testing and disable features 를 포함하는 것을 특징으로 하는 방법Method comprising a 제 1항에 있어서The method of claim 1 어플리케이션 소프트웨어가 그래픽 가속 하드웨어를 사용할 때마다 플래그를 세팅하는 단계 Setting flags whenever application software uses graphics acceleration hardware 어플리케이션 소프트웨어가 그래픽 가속 하드웨어의 사용을 종료하였을 때 플래그를 지우는 단계Clearing the flag when the application software has finished using the graphics acceleration hardware. 어플리케이션 소프트웨어 초기화 시마다 플래그가 제대로 세팅되는지를 체크하는 단계Checking whether the flag is set correctly every time the application software is initialized 를 포함하는 방법How to include 제 1항에 있어서 The method of claim 1 테스트들을 통과하지 못하였을 경우 그래픽 가속 기능을 사용하지 않게 하는 기능을 특징으로 하는 방법How to disable graphics acceleration if the tests fail 제 1항에 있어서The method of claim 1 프로세스 액션을 이루는 추가요소로 어플리케이션 소프트웨어와의 알려진 비호환성을 가진 그래픽 가속 하드웨어의 확인시에An additional element of process action is the identification of graphics acceleration hardware with known incompatibility with application software. 소프트웨어와 호환성을 가지지 않은 그래픽 카드의 리스트 DB 작성 및 유일한 인증값 부여 기능 Create list DB of graphic card which is not compatible with software and assign unique authentication value 그래픽 비디오 카드 인증값 추출 기능 Graphic Video Card Authentication Value Extraction Function 을 포함하는 것을 특징으로 하는 방법Method comprising a 제 6항에 있어서The method of claim 6 비디오 카드 인증값과 리스트 DB의 유니크 인증값 확인 기능을 포함하는 것을 특징으로 하는 방법A method comprising the video card authentication value and the unique authentication value checking function of the list DB 제 6항에 있어서The method of claim 6 비디오 카드 드라이버 인증값과 리스트 DB의 유일한 인증값 확인 기능을 포함하는 것을 특징으로 하는 방법The method comprising the video card driver authentication value and the unique authentication value check function of the list DB. 어플리케이션 소프트웨어의 비디오 카드 그래픽 가속 하드웨어의 초기화 성공 여부 확인 하는 방법에 있어서How to determine whether the initialization of the video card graphics acceleration hardware of the application software 소프트웨어 어플리케이션의 그래픽 가속기로의 명령을 컨버팅하는 드로워의 초기화 단계Drawer initialization phase for converting commands to software accelerators in software applications 드로워의 초기화 성공 확인 하는 단계Steps to Verify Drawer's Initialization Success 드로워의 확인을 위한 호출 시도하는 단계Steps to Invoke Call for Confirmation of Drawer 를 포함하는 것을 특징으로 하는 방법Method comprising a 제 1항에 있어서 비디오 카드 하드웨어 호출 성공 확인 방법으로서The method of claim 1, wherein 어플리케이션 소프트웨어의 그래픽 가속 하드웨어로의 액세스 요청을 비디오 카드에 전달하는 단계Forwarding a request for access to the graphics acceleration hardware of the application software to the video card 어플리케이션 소프트웨어 지원에 필요한 그래픽 가속 옵션의 세팅하는 단계Steps to Set Graphics Acceleration Options for Application Software Support 어플리케이션 소프트웨어가 구동하면서 액세스할 수 있도록 옵션을 메모리에 저장하는 단계Storing options in memory for access by application software 를 포함하는 것을 특징으로 하는 방법Method comprising a
KR1020050071895A 2005-08-05 2005-08-05 Method for optimizing 3d graphic algorithm according to mobile 3d chipset spec KR20070016852A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050071895A KR20070016852A (en) 2005-08-05 2005-08-05 Method for optimizing 3d graphic algorithm according to mobile 3d chipset spec
PCT/KR2005/003049 WO2007018330A1 (en) 2005-08-05 2005-09-14 Method for optimizing 3d graphic algorithm according to mobile 3d chipset spec

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050071895A KR20070016852A (en) 2005-08-05 2005-08-05 Method for optimizing 3d graphic algorithm according to mobile 3d chipset spec

Publications (1)

Publication Number Publication Date
KR20070016852A true KR20070016852A (en) 2007-02-08

Family

ID=37727495

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050071895A KR20070016852A (en) 2005-08-05 2005-08-05 Method for optimizing 3d graphic algorithm according to mobile 3d chipset spec

Country Status (2)

Country Link
KR (1) KR20070016852A (en)
WO (1) WO2007018330A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113096201A (en) * 2021-03-30 2021-07-09 上海西井信息科技有限公司 Embedded video image deep learning system, method, equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764243A (en) * 1995-03-24 1998-06-09 3Dlabs Inc. Ltd. Rendering architecture with selectable processing of multi-pixel spans
KR100382108B1 (en) * 2000-06-24 2003-05-01 학교법인연세대학교 3D graphic accelerator and method for processing graphic acceleration using the same
US6825844B2 (en) * 2001-01-16 2004-11-30 Microsoft Corp System and method for optimizing a graphics intensive software program for the user's graphics hardware
DE10242087A1 (en) * 2002-09-11 2004-03-25 Daimlerchrysler Ag Image processing device e.g. for entertainment electronics, has hardware optimized for vector computation and color mixing,
JP3858851B2 (en) * 2003-06-19 2006-12-20 日本電気株式会社 3D graphics display device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113096201A (en) * 2021-03-30 2021-07-09 上海西井信息科技有限公司 Embedded video image deep learning system, method, equipment and storage medium
CN113096201B (en) * 2021-03-30 2023-04-18 上海西井信息科技有限公司 Embedded video image deep learning method, equipment and storage medium

Also Published As

Publication number Publication date
WO2007018330A1 (en) 2007-02-15

Similar Documents

Publication Publication Date Title
US10643364B1 (en) Ground plane detection for placement of augmented reality objects
US11972529B2 (en) Augmented reality system
US10559121B1 (en) Infrared reflectivity determinations for augmented reality rendering
US20100289804A1 (en) System, mechanism, and apparatus for a customizable and extensible distributed rendering api
US10777010B1 (en) Dynamic environment mapping for augmented reality
US20120200568A1 (en) Lightweight three-dimensional display
US20070002053A1 (en) System and Method for Optimizing a Graphics Intensive Software Program for the User&#39;s Graphics Hardware
CN105637563A (en) Method for displaying a 3d scene graph on a screen
CN109471805A (en) Resource testing method and device, storage medium, electronic equipment
US11631216B2 (en) Method and system for filtering shadow maps with sub-frame accumulation
US20230274480A1 (en) Method and system for populating a digital environment using a semantic map
US20210375065A1 (en) Method and system for matching conditions for digital objects in augmented reality
US11951390B2 (en) Method and system for incremental topological update within a data flow graph in gaming
CN111161398A (en) Image generation method, device, equipment and storage medium
US11281935B2 (en) 3D object detection from calibrated 2D images
CN116863052A (en) Map drawing method and device based on distributed operating system
CN116091329B (en) Image processing method, device, equipment and storage medium
US10754498B2 (en) Hybrid image rendering system
US20220249955A1 (en) Method and system for automatic normal map detection and correction
KR20070016852A (en) Method for optimizing 3d graphic algorithm according to mobile 3d chipset spec
CN117557712A (en) Rendering method, device, equipment and storage medium
KR20160010780A (en) 3D image providing system and providing method thereof
US20230011667A1 (en) Method and system for aligning a digital model of a structure with a video stream
Durnev Essentials of Augmented Reality Software Development under Android Platform
CN118332207A (en) 3D scene synchronization method, device, equipment and medium in multi-window environment

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid