JP2015520881A - 描画の方法、装置、および端末 - Google Patents

描画の方法、装置、および端末 Download PDF

Info

Publication number
JP2015520881A
JP2015520881A JP2015503752A JP2015503752A JP2015520881A JP 2015520881 A JP2015520881 A JP 2015520881A JP 2015503752 A JP2015503752 A JP 2015503752A JP 2015503752 A JP2015503752 A JP 2015503752A JP 2015520881 A JP2015520881 A JP 2015520881A
Authority
JP
Japan
Prior art keywords
cpu
gpu
time
drawing command
current frame
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2015503752A
Other languages
English (en)
Other versions
JP5963940B2 (ja
Inventor
香宏 ▲ジア▼
香宏 ▲ジア▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2015520881A publication Critical patent/JP2015520881A/ja
Application granted granted Critical
Publication of JP5963940B2 publication Critical patent/JP5963940B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • 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

Abstract

本発明の実施形態は、コンピュータ技術に関する。本発明の実施形態は、現フレームの描画コマンドセットが受け取られ、現フレームの描画コマンドセットに従って現フレームのCPU描画時間とGPU描画時間とが判断され、CPU描画時間がGPU描画時間よりも短い場合に、CPUが使用されて現フレームが描画され、CPU描画時間がGPU描画時間よりも長い場合に、GPUが使用されて現フレームが描画されるという描画の方法、装置、および端末を提供する。この方法では、どの描画方式を採用するかが、CPU/GPUに対応する描画時間に応じて動的に判断され、それによって各フレームの描画時間をある程度短縮し、システムの表示速度を向上させると共に表示性能を改善する。

Description

本発明は、コンピュータ技術に関し、特に、描画の方法、装置、および端末に関する。
2次元(Two Dimensions、2D)グラフィックライブラリは、コンピュータオペレーティングシステムのコアライブラリとして使用され、2Dグラフィックライブラリによって提供される個別の描画インターフェイスの性能は、システムがユーザーのユーザーインターフェイス(User Interface、UI)での操作に応答する適時性に直接影響する。現在、2D描画の方式には、中央処理装置(Central Processing Unit、CPU)方式とグラフィック処理装置(Graphic Processing Unit、GPU)方式の2つがある。性能の観点で言うと、CPU方式は単純な小場面の描画に適しており、GPU方式は大場面の描画に適している。2D描画の場面は、操作の複雑さ(たとえば、幾何学的変換)と、描画過程に含まれる領域サイズとに関連する。小場面の描画にGPU描画方式を採用したり、大場面の描画にCPU描画方式を採用したりすると、性能が大幅に低下し、システムのUI性能に直接影響する。もう1つの実装方式は、描画されるフレームが属するアプリケーションプログラムによって判断され、開発者はアプリケーションプログラムでGPU方式を描画に採用するかどうかを設定できる。GPU描画方式が設定された場合、システムはGPU方式を採用して、コンテンツの各フレームをアプリケーションプログラムで描画する。それ以外の場合、CPU方式が描画に採用される。しかしながら、アプリケーションプログラムで構成された方式が採用される場合、GPU描画とCPU描画のどちらが開発中のアプリケーションプログラムにとって好ましいかは開発者にとって依然として不明である。したがって、一部の複雑なコンテンツのフレームが最終的にCPU方式で描画されたり、一部の単純なフレームがGPU方式で描画されたりすることが避けられず、それがまた2D描画の貧弱な性能につながる。
本発明の実施態様は、コンピュータシステムの表示性能をある程度向上させる描画の方法、装置、および端末を提供する。
第1の態様によると、本発明の一実施形態は、1つまたは複数の描画コマンドと1つまたは複数の描画コマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取る段階と、現フレームの描画コマンドセット中の1つまたは複数の描画コマンドおよび1つまたは複数の描画コマンドのパラメータに従って、現フレームの中央処理装置(CPU)描画時間およびグラフィック処理装置(GPU)描画時間を求める段階と、CPU描画時間がGPU描画時間よりも短い場合に、CPUを使用して現フレームを描画し、GPU描画時間がCPU描画時間よりも短い場合に、GPUを使用して現フレームを描画する段階とを有する描画方法を提供する。
第1の態様に関連して、第1の実装方式では、現フレームの描画コマンドセット中の1つまたは複数の描画コマンドおよび1つまたは複数の描画コマンドのパラメータに従って、現フレームのCPU描画時間およびGPU描画時間を求める段階は、現フレームの描画コマンドセット中の各描画コマンドおよび各描画コマンドのパラメータをトラバースする段階と、各描画コマンドおよび各描画コマンドのパラメータに従って、所定の性能テーブルで問い合わせを行って、各描画コマンドおよび各描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を取得する段階と、現フレームの描画コマンドセット中のすべての描画コマンドのCPU描画時間を合計して、現フレームのCPU描画時間を取得する段階と、現フレームの描画コマンドセット中のすべての描画コマンドのGPU描画時間を合計して、現フレームのGPU描画時間を取得する段階とを含む。
第1の態様の第1の実装方式に関連して、第2の実装方式では、ある描画コマンドおよびある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間が所定の性能テーブルで見つからない場合、ある描画コマンドおよびある描画コマンドのパラメータに従って、ある描画コマンドおよびある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を算出し、算出されたCPU描画時間およびGPU描画時間とある描画コマンドおよびある描画コマンドのパラメータとを所定の性能テーブルに格納する。
第1の態様の第2の実装方式に関連して、第3の実装方式では、ある描画コマンドおよびある描画コマンドのパラメータに従って、ある描画コマンドおよびある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を算出する段階は、ある描画コマンドおよびある描画コマンドのパラメータに従って、CPUとGPUとをそれぞれ使用してある描画コマンドおよびある描画コマンドのパラメータに対応する画像オブジェクトを描画する段階と、CPUとGPUとをそれぞれ使用してある描画コマンドおよびある描画コマンドのパラメータに対応する画像オブジェクトを描画する過程で、CPUとGPUとによって画像オブジェクトをそれぞれ描画するためにCPUによって使用された時間およびGPUによって使用された時間を記録する段階とを含み、ある描画コマンドおよびある描画コマンドのパラメータに対応する画像オブジェクトを描画するためにCPUによって使用された記録時間は、ある描画コマンドおよびある描画コマンドのパラメータに対応するCPU描画時間であり、ある描画コマンドおよびある描画コマンドのパラメータに対応する画像オブジェクトを描画するためにGPUによって使用された記録時間は、ある描画コマンドおよびある描画コマンドのパラメータに対応するGPU描画時間である。
第1の態様、第1の態様の第1の実装方式、第1の態様の第2の実装方式、または第1の態様の第3の実装方式に関連して、第4の実装方式では、描画方法は、CPUを使用して現フレームを描画する場合に、現フレームのCPU描画結果をビットマップとして保存し、GPUを使用して現フレームを描画する場合に、現フレームのGPU描画結果をテクスチャとして保存する段階と、ビットマップまたはテクスチャとして保存された描画結果を画面に表示する段階とをさらに有する。
第2の態様によると、本発明の一実施形態は、1つまたは複数の描画コマンドと1つまたは複数の描画コマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取るように構成された受取モジュールと、現フレームの描画コマンドセット中の1つまたは複数の描画コマンドおよび1つまたは複数の描画コマンドのパラメータに従って、現フレームの中央処理装置(CPU)描画時間およびグラフィック処理装置(GPU)描画時間を求めるように構成された判断モジュールと、CPU描画時間がGPU描画時間よりも短い場合に、CPUを使用して現フレームを描画し、GPU描画時間がCPU描画時間よりも短い場合に、GPUを使用して現フレームを描画するように構成された描画決定モジュールとを具備し、現フレームのCPU描画時間およびGPU描画時間が判断モジュールによって判断される描画装置を提供する。
第2の態様に関連して、第1の実装方式では、判断モジュールは、現フレームの描画コマンドセット中の各描画コマンドおよび各描画コマンドのパラメータをトラバースし、各描画コマンドおよび各描画コマンドのパラメータに従って、所定の性能テーブルで問い合わせを行って、各描画コマンドおよび各描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を取得し、現フレームの描画コマンドセット中のすべての描画コマンドのCPU描画時間を合計して、現フレームのCPU描画時間を取得し、現フレームの描画コマンドセット中のすべての描画コマンドのGPU描画時間を合計して、現フレームのGPU描画時間を取得するようにさらに構成される。
第2の態様の第1の実装方式に関連して、第2の実装方式では、描画装置は、ある描画コマンドおよびある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間が所定の性能テーブル中に見つからない場合、ある描画コマンドおよびある描画コマンドのパラメータに従って、ある描画コマンドおよびある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を算出するように構成された計算モジュールと、計算モジュールによって算出されたCPU描画時間およびGPU描画時間とある描画コマンドおよびある描画コマンドのパラメータとを所定の格納テーブルに格納するように構成された更新モジュールとをさらに具備する。
第2の態様の第2の実装方式に関連して、第3の実装方式では、計算モジュールは、ある描画コマンドおよびある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間が判断モジュールによっても所定の性能テーブル中に見つからない場合、ある描画コマンドおよびある描画コマンドのパラメータに従って、CPUとGPUとをそれぞれ使用してある描画コマンドおよびある描画コマンドのパラメータに対応する画像オブジェクトを描画し、CPUとGPUとをそれぞれ使用してある描画コマンドおよびある描画コマンドのパラメータに対応する画像オブジェクトを描画する過程で、CPUとGPUとによって画像オブジェクトをそれぞれ描画するためにCPUによって使用された時間およびGPUによって使用された時間を記録するようにさらに構成され、ある描画コマンドおよびある描画コマンドのパラメータに対応する画像オブジェクトを描画するためにCPUによって使用された記録時間が、ある描画コマンドおよびある描画コマンドのパラメータに対応するCPU描画時間であり、ある描画コマンドおよびある描画コマンドのパラメータに対応する画像オブジェクトを描画するためにGPUによって使用された記録時間が、ある描画コマンドおよびある描画コマンドのパラメータに対応するGPU描画時間である。
第2の態様、第2の態様の第1の実装方式、第2の態様の第2の実装方式、または第2の態様の第3の実装方式に関連して、第4の実装方式では、描画装置は、CPUを使用して現フレームを描画する場合に、現フレームのCPU描画結果をビットマップとして保存し、GPUを使用して現フレームを描画する場合に、現フレームのGPU描画結果をテクスチャとして保存するように構成された保存モジュールと、ビットマップまたはテクスチャとして保存された描画結果を画面に表示するように構成された表示モジュールとをさらに具備する。
第3の態様によると、本発明の一実施形態は、中央処理装置(CPU)と、グラフィック処理装置(GPU)と、装置画面とを具備し、CPUおよびGPUは、装置画面に接続され、CPUは、1つまたは複数の描画コマンドと1つまたは複数の描画コマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取り、現フレームの描画コマンドセット中の1つまたは複数の描画コマンドおよび1つまたは複数の描画コマンドのパラメータに従って、現フレームのCPU描画時間およびGPU描画時間を求め、CPU描画時間がGPU描画時間よりも短い場合に、現フレームを描画し、GPU描画時間がCPU描画時間よりも短い場合に、GPUを使用して現フレームを描画するように構成され、GPUは、現フレームを描画するように構成され、装置画面は、CPUまたはGPUを使用して描画された現フレームの描画結果を表示するように構成される端末装置をさらに提供する。
第3の態様に関連して、第1の実装方式では、CPUは、現フレームの描画コマンドセット中の各描画コマンドおよび各描画コマンドのパラメータをトラバースし、各描画コマンドおよび各描画コマンドのパラメータに従って、所定の性能テーブルで問い合わせを行って、各描画コマンドおよび各描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を取得し、現フレームの描画コマンドセット中のすべての描画コマンドのCPU描画時間を合計して、現フレームのCPU描画時間を取得し、現フレームの描画コマンドセット中のすべての描画コマンドのGPU描画時間を合計して、現フレームのGPU描画時間を取得するようにさらに構成される。
第3の態様の第1の実装方式に関連して、第2の実装方式では、CPUは、描画コマンドセット中のある描画コマンドおよびある描画コマンドのパラメータについて、ある描画コマンドおよびある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間が所定の性能テーブル中に見つからない場合、ある描画コマンドおよびある描画コマンドのパラメータに従って、ある描画コマンドおよびある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を算出し、算出されたCPU描画時間およびGPU描画時間とある描画コマンドおよびある描画コマンドのパラメータとを所定の性能テーブルに格納するようにさらに構成される。
本発明の実施態様によって提供される描画の方法、装置、および端末では、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットが受け取られ、現フレームの描画コマンドセットに応じて現フレームのCPU描画時間とGPU描画時間とが判断され、CPU描画時間がGPU描画時間よりも短い場合に、CPUが使用されて現フレームが描画され、GPU描画時間がCPU描画時間よりも短い場合に、GPUが使用されて現フレームが描画される。この方法では、CPU/GPU方式に対応する描画時間に応じて描画時間が短い描画方式を動的に判断し、各フレームの描画時間をある程度短縮して、システムの表示速度を向上させると共に表示性能を改善することができる。
本発明の実施形態または先行技術の技術的解決策をより明確に説明するため、以下では、実施形態または先行技術を説明するために必要な添付の図面について簡単に説明する。以下の説明における添付の図面は、本発明の一部の実施形態を示しているにすぎず、当然ながら、当業者は、これらの添付の図面から創造的な労力なしに他の図面を導き出すことができる。
既存の端末の論理構造の概略図である。 本発明の実施形態による描画方法の概略フローチャートである。 本発明の実施形態による別の描画方法の概略フローチャートである。 本発明の実施形態によるさらに別の描画方法の概略フローチャートである。 本発明の実施形態によるさらにもう1つの別の描画方法の概略フローチャートである。 本発明の実施形態による描画装置の概略構造図である。 本発明の実施形態による別の描画装置の概略構造図である。 本発明の実施形態によるさらに別の描画装置の概略構造図である。 本発明の実施形態による端末装置の概略構造図である。 本発明の実施形態による別の端末装置の概略構造図である。
以下では、本発明の実施形態における技術的解決策を、本発明の実施形態の添付の図面を参照しながら明確かつ完全に説明する。当然ながら、説明される実施形態は、本発明のすべての実施形態ではなく、一部の実施形態にすぎない。当業者によって本発明の実施形態に基づいて創造的な労力なしに取得される他のすべての実施形態は、本発明の保護範囲に含まれる。
図2aを参照すると、図2aは、本発明の実施形態によって提供される描画方法の概略フローチャートである。本発明のこの実施形態によって提供される描画方法は、コンピュータシステムに適用されうる。コンピュータシステムは、単一の物理ホストに存在していてよく、複数の物理ホストに分散していてもよい。詳細には、コンピュータシステムは、コンピュータ、ポータブルコンピュータ、ハンドヘルドデバイス(たとえば、携帯電話、PDA等)、サーバ等の1つまたは複数の端末に存在していてよい。
本発明のこの実施形態によって提供される描画方法が適用される端末の論理構造を、図1を例として使用して説明する。この端末は、詳細にはスマートフォンでありうる。図に示すように、ハードウェア層は、CPUと、GPUとを含み、当然ながら、メモリ、入力/出力装置、ネットワークインターフェイス等と、オペレーティングシステムAndroidと、ハードウェア層で実行されるいくつかのアプリケーションプログラムとをさらに含みうる。オペレーティングシステムの中心部分として、2Dグラフィックライブラリエンジンは、CPU描画を実装するためのSkiaと、GPU描画を実装するためのOpenGL (Open Graphic Library)とを含む。加えて、この端末はさらに、表示駆動層のディスプレイドライバと、表示合成層のSurfaceFlingerと、ビュー、ウィジェット、およびキャンバスを含む表示フレームワークと、Androidオペレーティングシステムで一般に使用されるメインインターフェイスHome、アドレス帳Contacts、ブラウザBrowser等を含むアプリケーションレイヤとを含む。この端末では、本発明の実施形態によって提供される描画方法を採用することで、CPU描画またはGPU描画を現フレームの描画コマンドセットに応じて動的に選択して、システムの描画性能を向上させることができる。
図2aに示すように、本発明の実施形態によって提供される描画方法は、以下を含む。
S101: 1つまたは複数の描画コマンドと、それらのコマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取る。
描画コマンドは、線形勾配とピクチャ勾配とを含みうり、対応するパラメータは、領域サイズ、座標、勾配色等を含みうる。描画コマンドは、方形、円、直線、または曲線の描画をさらに含みうり、対応するパラメータは、描画の開始座標と終了座標、線の種類、線の太さ、線の色等を含みうる。当業者は、上記の説明が例示のみを目的としていること、本発明の実施形態で説明される描画コマンドが任意の種類のコンピュータシステムで使用されうる任意の種類の描画コマンドをも含みうること、対応するパラメータが実際のパラメータ要件に応じて柔軟に判断されうること、および本発明の実施形態がその点について限定を含まないことを理解するはずである。
S102: 現フレームの描画コマンドセット中の1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとに応じて現フレームのCPU描画時間とGPU描画時間とを判断する。
CPU描画時間は、CPUが現フレームの描画コマンドセット全体を実行するために必要な時間であり、GPU描画時間は、GPUが現フレームの描画コマンドセット全体を実行するために必要な時間である。
S103: CPU描画時間がGPU描画時間よりも短い場合、CPUを使用して現フレームを描画する。
詳細には、CPU描画時間がGPU描画時間よりも短いことは、GPU描画時間とCPU描画時間との差異が特定のしきい値k1より大きいこととして実装されうる。たとえば、CPU描画時間がTCPU、GPU描画時間がTGPUの場合、TGPU-TCPU=t1、t1>k1であり、ここでt1>0である。
S104: GPU描画時間がCPU描画時間よりも短い場合、GPUを使用して現フレームを描画する。
詳細には、GPU描画時間がCPU描画時間よりも短いことは、CPU描画時間とGPU描画時間との差異が特定のしきい値k2より大きいこととして実装されうる。たとえば、CPU描画時間がTCPU、GPU描画時間がTGPUの場合、TCPU-TGPU=t2、t2>k2であり、ここでt2>0である。
留意すべきは、k1とk2とが、特定の値または数値範囲に個別に設定されうることである。k1とk2とは、互いに同一または異なるものとして設定されうる。
留意すべきは、現フレームのCPU描画時間が現フレームのGPU描画時間と等価である場合、または現フレームのCPU描画時間とGPU描画時間との間の差異の絶対値が、k3=2等と設定されうる特定のしきい値k3を超えないか、現フレームのCPU描画時間とGPU描画時間との間の差異が、k3=[-2,2]または[-3,4]等と設定されうる特定の範囲k3に含まれる場合、CPUを使用して現フレームを描画することにより取得される性能は、GPUを使用して現フレームを描画することにより取得される性能に近く、どちらの描画方式を採用するかは現在のシステムの現実的な条件に応じて選択されうる、ということである。本発明の実施形態は、その点について限定を含まない。
図1を例として使用すると、本発明の実施形態により提供される描画方法は、2Dグラフィックライブラリエンジン層に適用されうる。この層で、Skiaによって提供されるアプリケーションプログラムインターフェイス(Application Program Interface、API)を呼び出してCPU描画を実装するか、OpenGLによって提供されるAPIインターフェイスを呼び出してGPU描画を実装するかは、CPU描画時間およびGPU描画時間の状態に応じて動的に判断される。
さらに、図2bに示すように、本発明の実施形態は以下をさらに含む。
S105: CPUを使用して現フレームを描画する場合、現フレームのCPU描画結果をビットマップ(Bitmap)に保存する。
S106: GPUを使用して現フレームを描画する場合、現フレームのGPU描画結果をテクスチャ(Texture)に保存する。
ビットマップとテクスチャは、オペレーティングシステムで提供される2つの異なる種類のレンダリングチャネルである。ビットマップはメモリに対応し、行単位およびピクセル単位でアクセスされる。GPU描画方式が採用された場合、描画コンテンツは、すべての描画コマンドが実行された後、テクスチャに保存される。テクスチャもメモリに対応し、タイル(Tile)によってアクセスされる。
S107: ビットマップまたはテクスチャに保存された描画結果を画面に表示する。
図1を例として使用すると、表示合成層は、複数のタスクをサポートし、複数のアプリケーションプログラムのUIウィンドウを一度に表示できる。さらに、1つのアプリケーションプログラムに対して複数のウィンドウが作成されうる。すべてのウィンドウが描画された後、現在表示できるすべてのウィンドウを含むセットが、システムによって最終表示結果として表示される。合成が完了した後、表示駆動層のディスプレイドライバが呼び出されて、結果がフレームバッファ(FrameBuffer)にコピーされる。そして端末の液晶ディスプレイ(Liquid Crystal Display、LCD)ドライバ等のディスプレイドライバが、フレームバッファの内容を画面に表示する。
本発明の実施形態により提供される描画方法では、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットが受け取られ、現フレームの描画コマンドセットに応じて現フレームのCPU描画時間とGPU描画時間とが判断され、CPU描画時間がGPU描画時間よりも短い場合に、CPUが使用されて現フレームが描画され、GPU描画時間がCPU描画時間よりも短い場合に、GPUが使用されて現フレームが描画される。この方法では、CPU/GPU方式に対応する描画時間に応じて描画時間が短い描画方式を動的に判断し、各フレームの描画時間をある程度短縮して、システムの表示速度を向上させると共に表示性能を改善することができる。UI対話過程で、ユーザー体験が大幅に改善されうる。
さらに、ビットマップまたはテクスチャの保存方式を選択することで、異なる描画方式に応じた表示用に異なるレンダリングチャネルを選択することができる。これにより、システムの表示性能がより効果的に改善される。
図3aを参照すると、図3aは、本発明の実施形態により提供される別の描画方法の概略フローチャートである。この方法は、コンピュータシステムに適用されうる。コンピュータシステムは、単一の物理ホストに存在していてよく、複数の物理ホストに分散していてもよい。詳細には、この方法は、図1に示す端末に適用されうる。この方法は以下を含む。
S101: 1つまたは複数の描画コマンドとそれらの描画コマンドにそれぞれ対応するパラメータとを含む、現フレームの描画コマンドセットを受け取る。
S1021: 各描画コマンドとその描画コマンドのパラメータとをトラバースする。
S1022: 各描画コマンドとその描画コマンドのパラメータとに応じて事前設定性能テーブルで問い合わせを行って、各描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間とGPU描画時間とを取得する。
留意すべきは、本発明の実施形態では、CPU描画時間またはGPU描画時間が、同じ描画コマンドの異なるパラメータで変化する可能性があるということである。
S1023: 現フレームの描画コマンドセット中のすべての描画コマンドのCPU描画時間を合計して、現フレームのCPU描画時間を取得し、現フレームの描画コマンドセット中のすべての描画コマンドのGPU描画時間を合計して、現フレームのGPU描画時間を取得する。
もちろん、本発明の実施形態は、先に記載した実施形態のS103およびS104をさらに含み、さらに、先に記載した実施形態の段階S105、S106、およびS107をさらに含みうる。詳細については本明細書ではこれ以上説明しない。
本発明の実施形態により提供される描画方法では、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットが受け取られ、現フレームの描画コマンドセットに応じて現フレームのCPU描画時間とGPU描画時間とが判断され、CPU描画時間がGPU描画時間よりも短い場合に、CPUが使用されて現フレームが描画され、GPU描画時間がCPU描画時間よりも短い場合に、GPUが使用されて現フレームが描画される。この方法では、CPU/GPU方式に対応する描画時間に応じて描画時間が短い描画方式を動的に判断し、各フレームの描画時間をある程度短縮して、システムの表示速度を向上させると共に表示性能を改善することができる。UI対話過程で、ユーザー体験が大幅に改善されうる。UI対話過程で、ユーザー体験が大幅に改善されうる。
以下では、特定の実施形態を使用して、本発明によって提供される描画方法で現フレームのCPU描画時間とCPU描画時間とを取得する特定の実装について説明する。
図3bに示すように、この方法は以下を含む。
S201: 1つまたは複数の描画コマンドとそれらの描画コマンドにそれぞれ対応するパラメータとを含む、現フレームの描画コマンドセットを受け取る。
S202: 各描画コマンドとその描画コマンドのパラメータとをトラバースする。
S203: CPU描画時間とGPU描画時間とを事前設定性能テーブルで問い合わせる。
事前設定性能テーブルは以下のように図示される。
Figure 2015520881
表1に一覧されているように、線形変換とピクチャ勾配とは、描画パラメータ、すなわち領域サイズにそれぞれ対応する2つの描画コマンドである。描画コマンドのGPUレンダリング時間およびCPUレンダリング時間(ミリ秒単位で計算される)は、描画コマンドと領域サイズとに応じて判断できる。たとえば、表1で、領域サイズが100*100ピクセル、描画操作がピクチャ勾配の場合、必要なGPUレンダリング時間とCPUレンダリング時間は、それぞれ108msと80msである。
留意すべきは、表1は例示のみを目的としており、表1の描画コマンドも例示のみを目的としていることである。本発明のいくつかの別の実施形態では、性能テーブルは、描画コマンドの2つ以上のパラメータを含みうる。通常、同じ描画コマンドの異なる描画パラメータは、性能テーブルで個別のレコードを有する。
描画コマンドとその描画コマンドのパラメータとに対応するGPU描画時間とCPU描画時間とが事前設定性能テーブルで見つかった場合は、段階S204に進む。それ以外の場合は、段階S205に進む。
S204: 描画コマンドとその描画コマンドのパラメータとに対応するGPU描画時間とCPU描画時間とを取得する。
S205: 描画コマンドとその描画コマンドのパラメータとに対応するGPU描画時間とCPU描画時間とを計算する。
詳細には、描画コマンドセット中のいずれかの描画コマンドとその描画コマンドのパラメータとについて、描画コマンドとその描画コマンドのパラメータとに対応するGPU描画時間とCPU描画時間とが事前設定性能テーブルで見つからない場合、計算過程が有効化され、描画コマンドとその描画コマンドのパラメータとが計算過程に渡され、描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間とGPU描画時間とが計算過程を使用して同時に計算される。
選択的に、計算方法は以下のとおりである。描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトを、描画コマンドとその描画コマンドのパラメータとに応じてCPUとGPUとをそれぞれ使用して描画し、描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトをCPUとGPUとをそれぞれ使用して描画する過程で、CPUとGPUとによって画像オブジェクトをそれぞれ描画するために使用された時間を記録する。CPUによって描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトを描画するために使用された記録時間は、描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間であり、GPUによって描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトを描画するために使用された記録時間は、描画コマンドとその描画コマンドのパラメータとに対応するGPU描画時間である。
さらに、性能テーブルの適時な更新を実装するために、方法は以下をさらに含む。
S206: この計算時に取得されたCPU描画時間とGPU描画時間とを事前設定性能テーブルに追加して、同じパラメータを含む同じ描画コマンドが次回出現した場合に、CPU描画時間とGPU描画時間とを事前設定性能テーブルで問い合わせることにより直接取得できるようにする。
描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間とGPU描画時間とがテーブルでの問い合わせまたは計算で取得された後、描画コマンドセットのトラバースが完了したかどうかが判断される。完了した場合は、段階S207に進む。まだ完了していない場合は、段階S202に戻って次の描画コマンドをトラバースする。
S207: 現フレームの描画コマンドセット中のすべての描画コマンドのCPU描画時間を合計して、現フレームのCPU描画時間を取得し、現フレームの描画コマンドセット中のすべての描画コマンドのGPU描画時間を合計して、現フレームのGPU描画時間を取得する。
現フレームのCPU描画時間とGPU描画時間とが取得された後、本発明の先に記載した実施形態の方法に応じて、CPU描画またはGPU描画が選択されうる。さらに、描画結果が保存および表示される。詳細な段階については、本明細書では改めて説明しないので、先に記載した実施形態を参照されたい。
本発明のこの実施形態によって提供される描画方法では、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットが受け取られ、現フレームの描画コマンドセットに応じて現フレームのCPU描画時間とGPU描画時間とが判断され、CPU描画時間がGPU描画時間よりも短い場合に、CPUが使用されて現フレームが描画され、GPU描画時間がCPU描画時間よりも短い場合に、GPUが使用されて現フレームが描画される。この方法では、CPU/GPU方式に対応する描画時間に応じて描画時間が短い描画方式を動的に判断し、各フレームの描画時間をある程度短縮して、システムの表示速度を向上させると共に表示性能を改善することができる。UI対話過程で、ユーザー体験が大幅に改善されうる。
図4aを参照すると、図4aは、本発明の実施形態によって提供される描画装置10の論理構造の概念図である。本発明のこの実施形態によって提供される描画装置10は、図1に示す端末システムの2Dグラフィックライブラリエンジン層に対応しうる。図4aに示すように、この装置は以下を含む。
この装置は、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取るように構成された受取モジュール11を含む。
ここで、描画コマンドは、線形勾配とピクチャ勾配とを含みうり、対応するパラメータは、領域サイズ、座標、勾配色等を含みうる。描画コマンドは、方形、円、直線、または曲線の描画をさらに含みうり、対応するパラメータは、描画の開始座標と終了座標、線の種類、線の太さ、線の色等を含みうる。当業者は、上記の説明が例示のみを目的としていること、本発明の実施形態で説明される描画コマンドが任意の種類のコンピュータシステムで使用されうる任意の種類の描画コマンドをも含みうること、対応するパラメータが実際のパラメータ要件に応じて柔軟に判断されうること、および本発明の実施形態がその点について限定を含まないことを理解するはずである。
この装置は、受取モジュール11によって受け取られた現フレームの描画コマンドセット中の描画コマンドとそれらの描画コマンドのパラメータとに応じて現フレームのCPU描画時間とGPU描画時間とを判断するように構成された判断モジュール12を含む。
この装置は、CPU描画時間がGPU描画時間よりも短い場合に、CPUを使用して現フレームを描画し、GPU描画時間がCPU描画時間よりも短い場合に、GPUを使用して現フレームを描画するように構成され、現フレームのCPU描画時間とGPU描画時間とが判断モジュールによって判断される描画決定モジュール13を含む。
図4bを参照すると、CPUとGPUのどちらを呼び出して現フレームを描画するかが、描画決定モジュール13によって描画時間の比較結果に応じて選択される。呼び出しの方式は、図1に示すグラフィックライブラリSkiaおよびOpenGLで提供されるAPIを使用して実装されうる。図4bのCPUとGPUとは、端末装置のハードウェア層によって提供される2つの処理装置であり、本発明のこの実施形態によって提供される描画装置は、このハードウェア層に位置する。
さらに、図4cに示すように、描画装置10は以下をさらに含む。
描画装置10は、CPUを使用して現フレームを描画する場合に、現フレームのCPU描画結果をビットマップに保存し、GPUを使用して現フレームを描画する場合に、現フレームのGPU描画結果をテクスチャに保存するように構成された保存モジュール14を含む。
描画装置10は、ビットマップまたはテクスチャに保存された描画結果を画面に表示するように構成された表示モジュール15を含む。
図1を例として使用すると、表示モジュール15は、表示合成層のSurfaceFlingerを呼び出して画像を合成できる。合成が完了した後、ディスプレイドライバが呼び出されて、合成結果がフレームバッファframebufferにコピーされ、さらにディスプレイドライバがフレームバッファの内容を画面に表示する。
本発明のこの実施形態によって提供される描画装置では、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットが受け取られ、現フレームの描画コマンドセットに応じて現フレームのCPU描画時間とGPU描画時間とが判断され、CPU描画時間がGPU描画時間よりも短い場合に、CPUが使用されて現フレームが描画され、GPU描画時間がCPU描画時間よりも短い場合に、GPUが使用されて現フレームが描画される。この方法では、CPU/GPU方式に対応する描画時間に応じて描画時間が短い描画方式を動的に判断し、各フレームの描画時間をある程度短縮して、システムの表示速度を向上させると共に表示性能を改善することができる。UI対話過程で、ユーザー体験が大幅に改善されうる。
さらに、ビットマップまたはテクスチャの保存方式を選択することで、異なる描画方式に応じた表示用に異なるレンダリングチャネルを選択することができる。これにより、システムの表示性能がより効果的に改善される。
留意すべきは、この明細書の実施形態が漸進的な態様で説明されていることであり、異なる実施形態間で同一または類似の部分については、各実施形態で別の実施形態との差異に専念できるよう、相互に参照がされうる。特に、装置の実施形態は、方法の実施形態に実質的に類似するため、比較的簡単に説明されており、方法の実施形態に類似する部分については、方法の実施形態が参照されうる。たとえば、判断モジュール12の特定の実装方法については、先に記載した実施形態のCPU描画時間とGPU描画時間とを取得するための方法が参照されうる。たとえば、取得方法で使用される表1の性能テーブルは、本発明の装置の一部でもあり、電源障害が発生した場合にデータ損失を生じさせない磁気ディスクに格納して、端末の電源のオンとオフを複数回繰り返した後でも履歴上の描画データが存在するようにできる。
図5を参照すると、図5は、本発明の実施形態によって提供される端末装置20の概略構造図である。図5に示すように、端末20は、CPU 21と、GPU 22と、装置画面23とを含み、CPU 21とGPU 22とは装置画面23に接続されている。
CPU 21は、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取り、現フレームの描画コマンドセット中の1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとに応じて現フレームのCPU描画時間とGPU描画時間とを判断し、CPU描画時間がGPU描画時間よりも短い場合に、現フレームを描画し、GPU描画時間がCPU描画時間よりも短い場合に、GPU 22を使用して現フレームを描画するように構成される。
詳細には、CPU 21は、現フレームの描画コマンドセット中の各描画コマンドとその描画コマンドのパラメータとをトラバースし、各描画コマンドとその描画コマンドのパラメータとに応じて事前設定性能テーブルで問い合わせを行って各描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間とGPU描画時間とを取得し、現フレームの描画コマンドセット中のすべての描画コマンドのCPU描画時間を合計して現フレームのCPU描画時間を取得し、現フレームの描画コマンドセット中のすべての描画コマンドのGPU描画時間を合計して現フレームのGPU描画時間を取得するように構成される。
CPU 21は、描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間とGPU描画時間とが事前設定性能テーブルで見つからない場合に、描画コマンドとその描画コマンドのパラメータとに応じて、描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間とGPU描画時間とを計算し、計算されたCPU描画時間およびGPU描画時間と描画コマンドとその描画コマンドのパラメータとを事前格納テーブルに格納するようにさらに構成される。
計算方法は、以下のとおりでありうる。描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトを、描画コマンドとその描画コマンドのパラメータとに応じてCPUとGPUとをそれぞれ使用して描画し、描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトをCPUとGPUとをそれぞれ使用して描画する過程で、CPUとGPUとによって画像オブジェクトをそれぞれ描画するために使用された時間を記録する。CPUによって描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトを描画するために使用された記録時間は、描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間であり、GPUによって描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトを描画するために使用された記録時間は、描画コマンドとその描画コマンドのパラメータとに対応するGPU描画時間である。
さらに、CPU 21は、CPUを使用して現フレームを描画する場合に、現フレームのCPU描画結果をビットマップに保存し、GPUを使用して現フレームを描画する場合に、現フレームのGPU描画結果をテクスチャに保存し、ビットマップまたはテクスチャに保存された描画結果を画面に表示するようにさらに構成される。
GPUは、現フレームを描画するように構成され、装置画面23は、CPU 21またはGPU 22を使用して描画された現フレームの描画結果を表示するように構成される。詳細には、装置画面23は、ビットマップまたはテクスチャに保存された描画結果を表示するように構成される。
本発明のこの実施形態によって提供される端末装置では、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットが受け取られ、現フレームの描画コマンドセットに応じて現フレームのCPU描画時間とGPU描画時間とが判断され、CPU描画時間がGPU描画時間よりも短い場合に、CPUが使用されて現フレームが描画され、GPU描画時間がCPU描画時間よりも短い場合に、GPUが使用されて現フレームが描画される。この方法では、CPU/GPU方式に対応する描画時間に応じて描画時間が短い描画方式を動的に判断し、各フレームの描画時間をある程度短縮して、システムの表示速度を向上させると共に表示性能を改善することができる。UI対話過程で、ユーザー体験が大幅に改善されうる。
さらに、ビットマップまたはテクスチャの保存方式を選択することで、異なる描画方式に応じた表示用に異なるレンダリングチャネルを選択することができる。これにより、システムの表示性能がより効果的に改善される。
図6を参照すると、図6は、本発明の実施形態によって提供される別の端末装置30の概略構造図である。図6に示すように、端末装置30は、CPU 31と、GPU 32と、メモリ33と、表示画面34と、バス35とを含む。CPU 31と、GPU 32と、メモリ33と、表示画面34とは、バス35を使用して接続されている。
メモリ33は、コンピュータの1つまたは複数のフロッピー(登録商標)ディスク、USBフラッシュドライブ、リムーバブルハードディスク、読み取り専用メモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁気ディスク、または光学ディスクとして実装されうる。
メモリ33は、以下の要素、実行可能モジュール、もしくはデータ構造、もしくはそれらのサブセット、またはそれらの拡張機能のセットを格納するように構成される。
メモリ33は、図1に示すHome、Contacts、Browserなど、さまざまなアプリケーションサービスを実装するために使用されるさまざまなアプリケーションプログラムを含む、アプリケーションプログラム331を含む。
メモリ33は、図1に示す表示フレームワーク、2Dグラフィックライブラリエンジン、表示合成層など、さまざまな基本サービスを実装してハードウェアベースのタスクを処理するために使用されるさまざまなシステムプログラムを含む、オペレーティングシステム332を含む。
本発明の実施形態では、CPUはメモリ33に格納されたプログラムを呼び出して以下の操作を行う(プログラムはオペレーティングシステム332に格納されていることもある)。
1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取り、現フレームの描画コマンドセット中の1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとに応じて現フレームの中央処理装置CPU描画時間とグラフィック処理装置GPU描画時間とを判断し、CPU描画時間がGPU描画時間よりも短い場合に、CPU 31を使用して現フレームを描画し、GPU描画時間がCPU描画時間よりも短い場合に、GPU 32を使用して現フレームを描画する。現フレームの描画コマンドセットは、オペレーティングシステム332自体から受け取られうるか、またはアプリケーションプログラム331から受け取られうる。
詳細には、CPU 31は、現フレームの描画コマンドセット中の各描画コマンドとその描画コマンドのパラメータとをトラバースし、各描画コマンドとその描画コマンドのパラメータとに応じて事前設定性能テーブルで問い合わせを行って各描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間とGPU描画時間とを取得し、現フレームの描画コマンドセット中のすべての描画コマンドのCPU描画時間を合計して現フレームのCPU描画時間を取得し、現フレームの描画コマンドセット中のすべての描画コマンドのGPU描画時間を合計して現フレームのGPU描画時間を取得する。描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間とGPU描画時間とが事前設定性能テーブルで見つからない場合、描画コマンドとその描画コマンドのパラメータとに応じて、描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間とGPU描画時間とが計算される。詳細には、計算過程が有効化され、描画コマンドとその描画コマンドのパラメータとが計算過程に渡され、描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間とGPU描画時間とが計算過程を使用して同時に計算される。続いて、計算されたCPU描画時間およびGPU描画時間と描画コマンドとその描画コマンドのパラメータとが、事前設定性能テーブルに格納される。詳細な計算方法は以下のとおりでありうる。描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトを、描画コマンドとその描画コマンドのパラメータとに応じてCPUとGPUとをそれぞれ使用して描画し、描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトをCPUとGPUとをそれぞれ使用して描画する過程で、CPUとGPUとによって画像オブジェクトをそれぞれ描画するために使用された時間を記録する。CPUによって描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトを描画するために使用された記録時間は、描画コマンドとその描画コマンドのパラメータとに対応するCPU描画時間であり、GPUによって描画コマンドとその描画コマンドのパラメータとに対応する画像オブジェクトを描画するために使用された記録時間は、描画コマンドとその描画コマンドのパラメータとに対応するGPU描画時間である。
事前設定性能テーブルは、メモリ33に格納されうる。好ましくは、事前設定性能テーブルは、電源障害が発生した場合にデータ損失を生じさせないメモリに格納される。一部の実装方式では、メモリ33はRAMと磁気ディスクとを含み、事前設定性能テーブルは磁気ディスクに格納されうる。
さらに、CPU 31は、CPUを使用して現フレームを描画する場合に、現フレームのCPU描画結果をビットマップに保存し、GPUを使用して現フレームを描画する場合に、現フレームのGPU描画結果をテクスチャに保存し、ビットマップまたはテクスチャに保存された描画結果を画面に表示するようにさらに構成される。
GPU 32は、グラフィックを描画するように構成され、CPU 31は、グラフィックを描画するようにさらに構成される。
表示画面34は、CPU 31またはGPU 32を使用して描画されたグラフィックを出力するように構成される。表示画面34は、タッチスクリーンでもよい。
さらに、本発明の実施形態によって提供される端末装置は入力装置36をさらに含みうり、ユーザーは入力装置36を使用してフレーム描画コマンドを入力できる。一部の別の実施形態では、フレーム描画コマンドは、オペレーティングシステムまたはアプリケーションプログラムからも受け取られうる。入力装置35は、タッチスクリーン、マウス、キーボード等として実装されうる。
本発明の実施形態によって提供される端末装置20または端末装置30が携帯電話端末として実装される場合、その携帯電話端末はさらに、通信インターフェイス、音声入力/出力装置(たとえば、マイク/スピーカ)、センサ等を含みうる。携帯電話端末のアプリケーションプログラムは、全地球測位システム(Global Positioning System、GPS)、ビデオ、音楽、ゲーム、ブラウザ等をさらに含みうる。
加えて、図6に示すように、個々のモジュールはバス35を使用して接続される。バス35は、ISA(Industry Standard Architecture)バス、PCI(Peripheral Component Interconnect)バス、EISA(Extended Industry Standard Architecture)バス等でありうる。バスは、1つまたは複数の物理回線でありうる。複数の物理回線である場合、バスは、アドレスバス、データバス、制御バス等に分けられうる。本発明の一部の別の実施方式では、本発明の実施形態によって提供される個々のモジュールは、バスを使用せずに接続されることもあり、信号伝送関係に応じて通信接続を相互間に直接確立できる。
なお、メモリ33に格納されたプログラムのモジュールの分割については、先に記載した実施形態のモジュール分割方式が参照されうる。または、別のモジュール分割方式も使用できる。
本発明の実施形態によって提供される描画の方法、装置、および端末では、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットが受け取られ、現フレームの描画コマンドセットに応じて現フレームのCPU描画時間とGPU描画時間とが判断され、CPU描画時間がGPU描画時間よりも短い場合に、CPUが使用されて現フレームが描画され、GPU描画時間がCPU描画時間よりも短い場合に、GPUが使用されて現フレームが描画される。この方法では、CPU/GPU方式に対応する描画時間に応じて描画時間が短い描画方式を動的に判断し、各フレームの描画時間をある程度短縮して、システムの表示速度を向上させると共に表示性能を改善することができる。UI対話過程で、ユーザー体験が大幅に改善されうる。
さらに、ビットマップまたはテクスチャの保存方式を選択することで、異なる描画方式に応じた表示用に異なるレンダリングチャネルを選択することができる。これにより、システムの表示性能がより効果的に改善される。
説明した装置の実施形態は、単なる例である。独立した部品として説明されたユニットは、物理的に独立していても独立していなくてもよく、ユニットとして表示された部品は、物理的なユニットであってもそうでなくてもよく、1つの位置に存在していても複数のネットワークユニットに分散していてもよい。一部またはすべてのモジュールは、実施形態の目的を実現するための実際のニーズに応じて選択されうる。加えて、本発明によって提供される装置の実施形態を示す添付の図面では、モジュール間の接続関係は、それらの間に存在する通信接続を示し、これらの通信接続は、1つまたは複数の通信バスまたは信号回線として具体的に実装されうる。このことは、当業者によって創造的な労力なしに理解および実装されうる。
先に記載した実施形態の説明に基づき、当業者は、本発明の実施形態で説明された描画装置が、ソフトウェアと必要な汎用ハードウェアとの組み合わせによって実装でき、また専用の集積回路、専用のCPU、専用のメモリ、専用の構成要素等を含む専用のハードウェアによっても確かに実装されうることを明確に理解しうる。一般に、コンピュータプログラムによって実行可能な任意の機能は、対応するハードウェアを使用して容易に実装できる。さらに、同じ機能を実現するために使用される特定のハードウェア構造は、アナログ回路、デジタル回路、専用回路などのさまざまな形式でありうる。
以上の説明は、本発明の詳細な実施形態にすぎず、本発明の保護範囲を限定することを意図したものではない。本発明で開示された技術的範囲内で当業者によって容易に見つけ出されるすべての変形または置換は、本発明の保護範囲に含まれる。したがって、本発明の保護範囲は、クレームの保護範囲に従う。
10 描画装置
11 受取モジュール
12 判断モジュール
13 描画決定モジュール
14 保存モジュール
15 表示モジュール
20,30 端末装置
21,31 中央処理装置(CPU)
22,32 グラフィック処理装置(GPU)
23 装置画面
33 メモリ
34 表示画面
35 バス
36 入力装置
331 アプリケーションプログラム
332 オペレーティングシステム
2次元(Two Dimensional、2D)グラフィックライブラリは、コンピュータオペレーティングシステムのコアライブラリとして使用され、2Dグラフィックライブラリによって提供される個別の描画インターフェイスの性能は、システムがユーザーインターフェイス(User Interface、UI)での操作に応答する適時性に直接影響する。現在、2D描画の方式には、中央処理装置(Central Processing Unit、CPU)方式とグラフィック処理装置(Graphic Processing Unit、GPU)方式の2つがある。性能の観点で言うと、CPU方式は単純な小場面の描画に適しており、GPU方式は大場面の描画に適している。2D描画の場面は、操作の複雑さ(たとえば、幾何学的変換)と、描画過程に含まれる領域サイズとに関連する。小場面の描画にGPU描画方式を採用したり、大場面の描画にCPU描画方式を採用したりすると、性能が大幅に低下し、システムのUI性能に直接影響する。もう1つの実装方式は、描画されるフレームが属するアプリケーションプログラムによって判断され、開発者はアプリケーションプログラムでGPU方式を描画に採用するかどうかを設定できる。GPU描画方式が設定された場合、システムはGPU方式を採用して、コンテンツの各フレームをアプリケーションプログラムで描画する。それ以外の場合、CPU方式が描画に採用される。しかしながら、アプリケーションプログラムで構成された方式が採用される場合、GPU描画とCPU描画のどちらが開発中のアプリケーションプログラムにとって好ましいかは開発者にとって依然として不明である。したがって、一部の複雑なコンテンツのフレームが最終的にCPU方式で描画されたり、一部の単純なフレームがGPU方式で描画されたりすることが避けられず、それがまた2D描画の貧弱な性能につながる。
本発明のこの実施形態によって提供される描画方法が適用される端末の論理構造を、図1を例として使用して説明する。この端末は、詳細にはスマートフォンでありうる。図に示すように、ハードウェア層は、CPUと、GPUとを含み、当然ながら、メモリ、入力/出力装置、ネットワークインターフェイス等と、オペレーティングシステムAndroidと、ハードウェア層で実行されるいくつかのアプリケーションプログラムとをさらに含みうる。オペレーティングシステムの中心部分として、2Dグラフィックライブラリエンジンは、CPU描画を実装するためのSkiaと、GPU描画を実装するためのOpenGL (Open Graphic Library)とを含む。加えて、この端末はさらに、表示駆動層のディスプレイドライバと、表示合成層のSurfaceFlingerと、ビュー、ウィジェット、およびキャンバスを含む表示フレームワークと、Androidオペレーティングシステムで一般に使用されるメインインターフェイスHome、アドレス帳Contacts、ブラウザ等を含むアプリケーションレイヤとを含む。この端末では、本発明の実施形態によって提供される描画方法を採用することで、CPU描画またはGPU描画を現フレームの描画コマンドセットに応じて動的に選択して、システムの描画性能を向上させることができる。
本発明の実施形態により提供される描画方法では、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットが受け取られ、現フレームの描画コマンドセットに応じて現フレームのCPU描画時間とGPU描画時間とが判断され、CPU描画時間がGPU描画時間よりも短い場合に、CPUが使用されて現フレームが描画され、GPU描画時間がCPU描画時間よりも短い場合に、GPUが使用されて現フレームが描画される。この方法では、CPU/GPU方式に対応する描画時間に応じて描画時間が短い描画方式を動的に判断し、各フレームの描画時間をある程度短縮して、システムの表示速度を向上させると共に表示性能を改善することができる。UI対話過程で、ユーザー体験が大幅に改善されうる
以下では、特定の実施形態を使用して、本発明によって提供される描画方法で現フレームのCPU描画時間とGPU描画時間とを取得する特定の実装について説明する。
図4aを参照すると、図4aは、本発明の実施形態によって提供される描画装置10の論理構造の概念図である。本発明のこの実施形態によって提供される描画装置10は、図1に示す端末システムの2Dグラフィックライブラリエンジン層に対応しうる。図4aに示すように、この装置は以下を含む。
この装置は、1つまたは複数の描画コマンドとそれらの描画コマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取るように構成された受取モジュール11を含む。
ここで、描画コマンドは、線形勾配とピクチャ勾配とを含みうり、対応するパラメータは、領域サイズ、座標、勾配色等を含みうる。描画コマンドは、方形、円、直線、または曲線の描画をさらに含みうり、対応するパラメータは、描画の開始座標と終了座標、線の種類、線の太さ、線の色等を含みうる。当業者は、上記の説明が例示のみを目的としていること、本発明の実施形態で説明される描画コマンドが任意の種類のコンピュータシステムで使用されうる任意の種類の描画コマンドをも含みうること、対応するパラメータが実際のパラメータ要件に応じて柔軟に判断されうること、および本発明の実施形態がその点について限定を含まないことを理解するはずである。
この装置は、受取モジュール11によって受け取られた現フレームの描画コマンドセット中の描画コマンドとそれらの描画コマンドのパラメータとに応じて現フレームのCPU描画時間とGPU描画時間とを判断するように構成された判断モジュール12を含む。
この装置は、CPU描画時間がGPU描画時間よりも短い場合に、CPUを使用して現フレームを描画し、GPU描画時間がCPU描画時間よりも短い場合に、GPUを使用して現フレームを描画するように構成され、現フレームのCPU描画時間とGPU描画時間とが判断モジュール12によって判断される描画決定モジュール13を含む。
さらに、本発明の実施形態によって提供される端末装置は入力装置36をさらに含みうり、ユーザーは入力装置36を使用してフレーム描画コマンドを入力できる。一部の別の実施形態では、フレーム描画コマンドは、オペレーティングシステムまたはアプリケーションプログラムからも受け取られうる。入力装置36は、タッチスクリーン、マウス、キーボード等として実装されうる。

Claims (13)

  1. 描画方法であって、
    1つまたは複数の描画コマンドと該1つまたは複数の描画コマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取る段階と、
    現フレームの前記描画コマンドセット中の前記1つまたは複数の描画コマンドおよび前記1つまたは複数の描画コマンドのパラメータに従って、現フレームの中央処理装置(CPU)描画時間およびグラフィック処理装置(GPU)描画時間を求める段階と、
    前記CPU描画時間が前記GPU描画時間よりも短い場合に、CPUを使用して現フレームを描画し、前記GPU描画時間が前記CPU描画時間よりも短い場合に、GPUを使用して現フレームを描画する段階と
    を有することを特徴とする方法。
  2. 現フレームの前記描画コマンドセット中の前記1つまたは複数の描画コマンドおよび前記1つまたは複数の描画コマンドのパラメータに従って、現フレームのCPU描画時間およびGPU描画時間を求める前記段階が、
    現フレームの前記描画コマンドセット中の各描画コマンドおよび各描画コマンドのパラメータをトラバースする段階と、
    各描画コマンドおよび各描画コマンドのパラメータに従って、所定の性能テーブルで問い合わせを行って、各描画コマンドおよび各描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を取得する段階と、
    現フレームの前記描画コマンドセット中のすべての描画コマンドのCPU描画時間を合計して、現フレームの前記CPU描画時間を取得する段階と、
    現フレームの前記描画コマンドセット中のすべての描画コマンドのGPU描画時間を合計して、現フレームの前記GPU描画時間を取得する段階と
    を含むことを特徴とする請求項1に記載の方法。
  3. ある描画コマンドおよび該ある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間が前記所定の性能テーブル中に見つからない場合、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに従って、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を算出する段階と、
    算出されたCPU描画時間およびGPU描画時間と前記ある描画コマンドおよび前記ある描画コマンドのパラメータとを前記所定の性能テーブルに格納する段階と
    をさらに有することを特徴とする請求項2に記載の方法。
  4. 前記ある描画コマンドおよび前記ある描画コマンドのパラメータに従って、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を算出する前記段階が、
    前記ある描画コマンドおよび前記ある描画コマンドのパラメータに従って、前記CPUと前記GPUとをそれぞれ使用して前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応する画像オブジェクトを描画する段階と、
    前記CPUと前記GPUとをそれぞれ使用して前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応する前記画像オブジェクトを描画する過程で、前記CPUと前記GPUとによって前記画像オブジェクトをそれぞれ描画するために前記CPUによって使用された時間および前記GPUによって使用された時間を記録する段階と
    を含み、
    前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応する前記画像オブジェクトを描画するために前記CPUによって使用された記録時間が、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応するCPU描画時間であり、
    前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応する前記画像オブジェクトを描画するために前記GPUによって使用された記録時間が、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応するGPU描画時間であることを特徴とする請求項3に記載の方法。
  5. 前記CPUを使用して現フレームを描画する場合に、現フレームのCPU描画結果をビットマップとして保存し、前記GPUを使用して現フレームを描画する場合に、現フレームのGPU描画結果をテクスチャとして保存する段階と、
    前記ビットマップまたは前記テクスチャとして保存された描画結果を画面に表示する段階と
    をさらに有することを特徴とする請求項1ないし4のいずれか1項に記載の方法。
  6. 描画装置であって、
    1つまたは複数の描画コマンドと該1つまたは複数の描画コマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取るように構成された受取モジュールと、
    現フレームの前記描画コマンドセット中の1つまたは複数の描画コマンドおよび前記1つまたは複数の描画コマンドのパラメータに従って、現フレームの中央処理装置(CPU)描画時間およびグラフィック処理装置(GPU)描画時間を求めるように構成された判断モジュールと、
    前記判断モジュールによって求められた現フレームの前記CPU描画時間および前記GPU描画時間のうち、前記CPU描画時間が前記GPU描画時間よりも短い場合に、CPUを使用して現フレームを描画し、前記GPU描画時間が前記CPU描画時間よりも短い場合に、GPUを使用して現フレームを描画するように構成された描画決定モジュールと
    を具備することを特徴とする装置。
  7. 前記判断モジュールが、
    現フレームの前記描画コマンドセット中の各描画コマンドおよび各描画コマンドのパラメータをトラバースし、
    各描画コマンドおよび各描画コマンドのパラメータに従って、所定の性能テーブルで問い合わせを行って、各描画コマンドおよび各描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を取得し、
    現フレームの前記描画コマンドセット中のすべての描画コマンドのCPU描画時間を合計して、現フレームの前記CPU描画時間を取得し、
    現フレームの前記描画コマンドセット中のすべての描画コマンドのGPU描画時間を合計して、現フレームの前記GPU描画時間を取得するようにさらに構成されることを特徴とする請求項6に記載の装置。
  8. ある描画コマンドおよび該ある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間が前記所定の性能テーブル中に見つからない場合、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに従って、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を算出するように構成された計算モジュールと、
    前記計算モジュールによって算出されたCPU描画時間およびGPU描画時間と前記ある描画コマンドおよび前記ある描画コマンドのパラメータとを前記所定の性能テーブルに格納するように構成された更新モジュールと
    をさらに具備することを特徴とする請求項7に記載の装置。
  9. 前記計算モジュールが、
    前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間が前記判断モジュールによっても前記所定の性能テーブル中に見つからない場合、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに従って、前記CPUと前記GPUとをそれぞれ使用して前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応する画像オブジェクトを描画し、
    前記CPUと前記GPUとをそれぞれ使用して前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応する前記画像オブジェクトを描画する過程で、前記CPUと前記GPUとによって前記画像オブジェクトをそれぞれ描画するために前記CPUによって使用された時間および前記GPUによって使用された時間を記録するようにさらに構成され、
    前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応する前記画像オブジェクトを描画するために前記CPUによって使用された記録時間が、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応するCPU描画時間であり、
    前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応する前記画像オブジェクトを描画するために前記GPUによって使用された記録時間が、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応するGPU描画時間であることを特徴とする請求項8に記載の装置。
  10. 前記CPUを使用して現フレームを描画する場合に、現フレームのCPU描画結果をビットマップとして保存し、前記GPUを使用して現フレームを描画する場合に、現フレームのGPU描画結果をテクスチャとして保存するように構成された保存モジュールと、
    前記ビットマップまたは前記テクスチャとして保存された描画結果を画面に表示するように構成された表示モジュールと
    をさらに具備することを特徴とする請求項6ないし9のいずれか1項に記載の装置。
  11. 中央処理装置(CPU)と、
    グラフィック処理装置(GPU)と、
    前記CPUおよび前記GPUに接続された装置画面と
    を具備し、
    前記CPUは、
    1つまたは複数の描画コマンドと該1つまたは複数の描画コマンドのパラメータとを含む、現フレームの描画コマンドセットを受け取り、
    現フレームの前記描画コマンドセット中の前記1つまたは複数の描画コマンドおよび前記1つまたは複数の描画コマンドのパラメータに従って、現フレームのCPU描画時間およびGPU描画時間を求め、
    前記CPU描画時間が前記GPU描画時間よりも短い場合に、現フレームを描画し、前記GPU描画時間が前記CPU描画時間よりも短い場合に、前記GPUを使用して現フレームを描画するように構成され、
    前記GPUは、現フレームを描画するように構成され、
    前記装置画面は、前記CPUまたは前記GPUを使用して描画された現フレームの描画結果を表示するように構成されることを特徴とする端末装置。
  12. 前記CPUが、
    現フレームの前記描画コマンドセット中の各描画コマンドおよび各描画コマンドのパラメータをトラバースし、
    各描画コマンドおよび各描画コマンドのパラメータに従って、所定の性能テーブルで問い合わせを行って、各描画コマンドおよび各描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を取得し、
    現フレームの前記描画コマンドセット中のすべての描画コマンドのCPU描画時間を合計して、現フレームの前記CPU描画時間を取得し、
    現フレームの前記描画コマンドセット中のすべての描画コマンドのGPU描画時間を合計して、現フレームの前記GPU描画時間を取得するようにさらに構成されることを特徴とする請求項11に記載の端末。
  13. 前記CPUが、
    前記描画コマンドセット中のある描画コマンドおよび該ある描画コマンドのパラメータについて、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間が前記所定の性能テーブル中に見つからない場合、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに従って、前記ある描画コマンドおよび前記ある描画コマンドのパラメータに対応するCPU描画時間およびGPU描画時間を算出し、
    算出されたCPU描画時間およびGPU描画時間と前記ある描画コマンドおよび前記ある描画コマンドのパラメータとを前記所定の性能テーブルに格納するようにさらに構成されることを特徴とする請求項12に記載の端末。
JP2015503752A 2013-03-07 2013-09-25 描画の方法、装置、および端末 Active JP5963940B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310072936.0A CN103164839B (zh) 2013-03-07 2013-03-07 一种绘图方法、装置及终端
CN201310072936.0 2013-03-07
PCT/CN2013/084148 WO2014134912A1 (zh) 2013-03-07 2013-09-25 一种绘图方法、装置及终端

Publications (2)

Publication Number Publication Date
JP2015520881A true JP2015520881A (ja) 2015-07-23
JP5963940B2 JP5963940B2 (ja) 2016-08-03

Family

ID=48587898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015503752A Active JP5963940B2 (ja) 2013-03-07 2013-09-25 描画の方法、装置、および端末

Country Status (7)

Country Link
US (1) US9430810B2 (ja)
EP (1) EP2793185B1 (ja)
JP (1) JP5963940B2 (ja)
KR (1) KR101623415B1 (ja)
CN (1) CN103164839B (ja)
TW (1) TWI604409B (ja)
WO (1) WO2014134912A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017164914A (ja) * 2016-03-14 2017-09-21 コニカミノルタ株式会社 描画処理装置、画像処理装置、描画処理方法及び描画処理プログラム

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164839B (zh) * 2013-03-07 2019-06-21 华为技术有限公司 一种绘图方法、装置及终端
GB2518846A (en) * 2013-10-01 2015-04-08 Ibm Diagnosing graphics display problems
CN104331858B (zh) * 2014-11-24 2018-02-16 厦门美图之家科技有限公司 一种同时利用cpu和gpu进行图像处理的加速方法
US20160188279A1 (en) * 2014-12-27 2016-06-30 Intel Corporation Mode-switch protocol and mechanism for hybrid wireless display system with screencasting and native graphics throwing
CN105808342B (zh) * 2014-12-30 2019-12-13 中国电信股份有限公司 用于分配客户请求的方法、判断装置和系统
CN104809684B (zh) 2015-04-02 2018-03-27 华为技术有限公司 图形处理方法、装置及系统
CN105049609B (zh) * 2015-06-29 2019-05-03 惠州Tcl移动通信有限公司 一种优化游戏画面的方法及系统
CN105279253B (zh) * 2015-10-13 2018-12-14 上海联彤网络通讯技术有限公司 提升网页画布渲染速度的系统及方法
CN107153528A (zh) * 2016-03-02 2017-09-12 阿里巴巴集团控股有限公司 混合模型列表项重用的方法及设备
CN107203463B (zh) * 2016-03-16 2021-10-08 斑马智行网络(香港)有限公司 界面测试的方法、界面绘制方法及装置
CN110427236B (zh) * 2016-10-18 2023-06-09 广州视睿电子科技有限公司 一种渲染方法及装置
CN108269223B (zh) * 2017-01-04 2021-08-31 腾讯科技(深圳)有限公司 一种网页图形绘制方法及终端
WO2018143502A1 (ko) * 2017-02-06 2018-08-09 (주)볼트마이크로 데이터 포맷 변환 방법
CN108337465B (zh) * 2017-02-09 2021-05-14 腾讯科技(深圳)有限公司 视频处理方法和装置
CN108920412B (zh) * 2018-06-20 2020-12-29 中国科学院计算技术研究所 针对异构计算机体系结构的算法自动调优方法
US11474824B1 (en) * 2020-05-08 2022-10-18 Corel Corporation Performance benchmarking-based selection of processor for generating graphic primitives
CN112346935A (zh) * 2020-11-12 2021-02-09 腾讯科技(北京)有限公司 渲染耗时的获取、显示方法、性能监控方法、装置及设备
KR20220129337A (ko) 2021-03-16 2022-09-23 주식회사 심률 아이드로우 서비스장치 및 그 장치의 구동방법
CN115297359A (zh) * 2022-07-29 2022-11-04 北京字跳网络技术有限公司 多媒体数据传输方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090027403A1 (en) * 2007-07-26 2009-01-29 Lg Electronics Inc. Graphic data processing apparatus and method
JP2012003619A (ja) * 2010-06-18 2012-01-05 Sony Corp 情報処理装置、情報処理装置の制御方法、およびプログラム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3639108B2 (ja) * 1998-03-31 2005-04-20 株式会社ソニー・コンピュータエンタテインメント 描画装置および描画方法、並びに提供媒体
JP4071422B2 (ja) * 2000-06-28 2008-04-02 株式会社東芝 モーションブラー画像描画方法及び描画装置
CN1204494C (zh) * 2003-04-03 2005-06-01 浙江大学 计算机集群并行绘制系统中基于时空变换的负载平衡设计方法
US7978205B1 (en) 2004-05-03 2011-07-12 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline
US7558428B2 (en) * 2004-09-13 2009-07-07 Microsoft Corporation Accelerated video encoding using a graphics processing unit
CN101091175B (zh) * 2004-09-16 2012-03-14 辉达公司 负载均衡
CN1298049C (zh) * 2005-03-08 2007-01-31 北京中星微电子有限公司 一种图形引擎芯片及其应用方法
JP2007105917A (ja) * 2005-10-11 2007-04-26 Canon Inc プリンタ装置
US8108844B2 (en) * 2006-06-20 2012-01-31 Google Inc. Systems and methods for dynamically choosing a processing element for a compute kernel
WO2008105092A1 (ja) * 2007-02-28 2008-09-04 Panasonic Corporation グラフィックス描画装置及びグラフィックス描画方法
US8286196B2 (en) 2007-05-03 2012-10-09 Apple Inc. Parallel runtime execution on multiple processors
US7843462B2 (en) * 2007-09-07 2010-11-30 Seiko Epson Corporation System and method for displaying a digital video sequence modified to compensate for perceived blur
US8922565B2 (en) * 2007-11-30 2014-12-30 Qualcomm Incorporated System and method for using a secondary processor in a graphics system
US8130232B2 (en) * 2008-06-17 2012-03-06 Nuvoton Technology Corporation Drawing control method, drawing control apparatus, and drawing control system for embedded system
GB2462860B (en) * 2008-08-22 2012-05-16 Advanced Risc Mach Ltd Apparatus and method for communicating between a central processing unit and a graphics processing unit
CN101706741B (zh) * 2009-12-11 2012-10-24 中国人民解放军国防科学技术大学 一种基于负载平衡的cpu和gpu两级动态任务划分方法
US8669990B2 (en) 2009-12-31 2014-03-11 Intel Corporation Sharing resources between a CPU and GPU
US8681162B2 (en) 2010-10-15 2014-03-25 Via Technologies, Inc. Systems and methods for video processing
US20120159090A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Scalable multimedia computer system architecture with qos guarantees
WO2012141677A1 (en) * 2011-04-11 2012-10-18 Hewlett-Packard Development Company, L.P. Performing a task in a system having different types of hardware resources
KR101845328B1 (ko) * 2011-08-22 2018-04-04 삼성전자 주식회사 단말 및 그 단말에서 어플리케이션 수행 방법
CN102521050A (zh) * 2011-12-02 2012-06-27 曙光信息产业(北京)有限公司 一种面向cpu和gpu的混合调度方法
CN102810133B (zh) * 2012-05-15 2015-08-12 北京像素软件科技股份有限公司 网络游戏中的射线查询方法和场景服务器
CN102945560B (zh) * 2012-08-21 2015-05-06 浙江大学 一种并行的可编程运动特效绘制方法
CN103164839B (zh) * 2013-03-07 2019-06-21 华为技术有限公司 一种绘图方法、装置及终端

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090027403A1 (en) * 2007-07-26 2009-01-29 Lg Electronics Inc. Graphic data processing apparatus and method
JP2012003619A (ja) * 2010-06-18 2012-01-05 Sony Corp 情報処理装置、情報処理装置の制御方法、およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017164914A (ja) * 2016-03-14 2017-09-21 コニカミノルタ株式会社 描画処理装置、画像処理装置、描画処理方法及び描画処理プログラム

Also Published As

Publication number Publication date
KR101623415B1 (ko) 2016-05-23
US20140327686A1 (en) 2014-11-06
EP2793185A4 (en) 2015-03-04
CN103164839A (zh) 2013-06-19
EP2793185B1 (en) 2018-04-11
EP2793185A1 (en) 2014-10-22
WO2014134912A1 (zh) 2014-09-12
TW201435798A (zh) 2014-09-16
US9430810B2 (en) 2016-08-30
TWI604409B (zh) 2017-11-01
JP5963940B2 (ja) 2016-08-03
KR20140133807A (ko) 2014-11-20
CN103164839B (zh) 2019-06-21

Similar Documents

Publication Publication Date Title
JP5963940B2 (ja) 描画の方法、装置、および端末
WO2021047429A1 (zh) 一种图像渲染方法、装置、设备及存储介质
JP6505967B2 (ja) ユーザ機器及びその動作方法
KR101650999B1 (ko) 그래픽 프로세싱 유닛들에서의 렌더링 모드 선택
WO2021008373A1 (zh) 显示方法、装置、电子设备及计算机可读介质
US20220139352A1 (en) Method and Device for Image Composition, Electronic Device and Storage Medium
US20220139017A1 (en) Layer composition method, electronic device, and storage medium
CN108389151B (zh) 一种过度绘制的评估方法和系统
CN112652025B (zh) 图像渲染方法、装置、计算机设备及可读存储介质
CN112231608B (zh) 一种嵌入式Web组态图元的实现方法
WO2018000372A1 (zh) 画面显示的方法和终端
WO2022242379A1 (zh) 笔画渲染方法、装置、存储介质以及终端
WO2015180448A1 (zh) 移动终端播放方式切换方法、装置、存储介质和程序
WO2021128929A1 (zh) 一种全景应用中图像渲染的方法及终端设备
CN110928397B (zh) 用户界面刷新方法、装置、存储介质及电子装置
KR20130097886A (ko) 렌더링 장치 및 그 방법
CN110134905B (zh) 一种页面更新显示方法、装置、设备及存储介质
US20150293679A1 (en) Method and Device for Controlling Switching of Virtual Navigation Bar
CA2752344A1 (en) System and methods for managing composition of surfaces
CN109069926B (zh) 一种信息处理方法及计算机可读介质
WO2022161199A1 (zh) 图像编辑方法及设备
CN112015514B (zh) 电子白板的素材预览窗口的更新方法及装置
CN114786051B (zh) 一种视频渲染方法、装置、电子设备及存储介质
CN114173177B (zh) 一种视频处理方法、装置、设备及存储介质
WO2020133385A1 (zh) 一种笔记局部选取方法、装置、终端及可读存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160628

R150 Certificate of patent or registration of utility model

Ref document number: 5963940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250