(57)【要約】【課題】  処理負担に応じたゲーム画面の表示を行う際の処理の簡略化が可能であり、画質の低下を必要最小限に抑えることができるゲーム装置、ゲーム画面処理方法およびゲーム画面処理プログラムを提供すること。【解決手段】  一方のフレームバッファに対する描画データの書き込み中に他方フレームバッファから読み出した描画データを用いてフレーム単位でゲーム画面の表示が行われており、メインプロセッサ１０は、描画プロセッサ２０による描画処理の負担が大きくなったときに、描画プロセッサ２０による描画データの書込み対象となるフレームバッファの切り替えと、ビデオコントローラ２２による表示処理の対象となるフレームバッファの切り替えとを停止させる。【選択図】        図１
2005095352.tif 000002
【特許請求の範囲】
【請求項１】
複数のフレームバッファを備え、一の前記フレームバッファに対する描画データの書き込み中に他の前記フレームバッファから読み出した前記描画データを用いてフレーム単位でゲーム画面の表示を行うゲーム装置において、
ゲームの進行に関する処理を行うゲーム処理手段と、
前記ゲーム処理手段による処理結果に基づいてフレーム単位で描画処理を行って、前記複数のフレームバッファのそれぞれに順番に各フレームに対応する描画データを格納する描画処理手段と、
前記複数のフレームバッファのそれぞれに格納された描画データを読み出して、前記ゲーム画面をフレーム単位で表示する表示制御手段と、
前記描画処理手段による描画処理の負担が大きくなったときに、前記描画処理手段と前記表示制御手段による処理の対象となる前記フレームバッファの切り替えを停止させる切替制御手段と、
を備えることを特徴とするゲーム装置。
【請求項２】
請求項１において、
前記切替制御手段は、前記複数のフレームのそれぞれ毎に描画処理の負担の大小を判定することを特徴とするゲーム装置。
【請求項３】
請求項１または２において、
前記切替制御手段は、表示対象となる前記フレームの切り替わりタイミングに同期して生成される同期信号が出力された時点で、次に表示対象となる前記フレームに対応した前記描画処理手段による描画処理が終了したか否かを調べることにより、前記描画処理手段による描画処理の負担の大小を判定することを特徴とするゲーム装置。
【請求項４】
請求項１〜３のいずれかにおいて、
前記表示制御手段は、インターレス走査によって前記フレームに含まれる奇数ラインの描画データに対応した奇数フレームのゲーム画面と前記フレームに含まれる偶数ラインの描画データに対応した偶数フレームのゲーム画面とを交互に表示手段に表示しており、
前記描画処理手段による描画処理の負担が大きくなったときに、同一の前記フレームバッファから連続する前記奇数フレームと前記偶数フレームのそれぞれに対応する描画データが読み出されてゲーム画面の表示が行われることを特徴とするゲーム装置。
【請求項５】
複数のフレームバッファを備え、一の前記フレームバッファに対する描画データの書き込み中に他の前記フレームバッファから読み出した前記描画データを用いてフレーム単位でゲーム画面の表示を行うゲーム画面処理方法において、
ゲームの進行に関する処理を行い、この処理結果に基づいてフレーム単位で描画処理を行って、前記複数のフレームバッファのそれぞれに順番に各フレームに対応する描画データを格納し、
前記複数のフレームバッファのそれぞれに格納された描画データを読み出して、前記ゲーム画面をフレーム単位で表示し、
前記描画処理の負担が大きくなったときに、前記描画データの格納対象となる前記フレームバッファの切り替えと、前記描画データの読み出し対象となる前記フレームバッファの切り替えを停止させることを特徴とするゲーム画面処理方法。
【請求項６】
請求項５において、
前記描画処理の負担の大小判定は、前記複数のフレームのそれぞれ毎に行われることを特徴とするゲーム画面処理方法。
【請求項７】
請求項５または６において、
表示対象となる前記フレームの切り替わりタイミングに同期して生成される同期信号が出力された時点で、次に表示対象となる前記フレームに対応した前記描画処理が終了したか否かを調べることにより、前記描画処理の負担の大小を判定することを特徴とするゲーム画面処理方法。
【請求項８】
請求項５〜７のいずれかにおいて、
インターレス走査によって前記フレームに含まれる奇数ラインの描画データに対応した奇数フレームの前記ゲーム画面と前記フレームに含まれる偶数ラインの描画データに対応した偶数フレームの前記ゲーム画面とを交互に表示手段に表示しており、
前記描画処理の負担が大きくなったときに、同一の前記フレームバッファから連続する前記奇数フレームと前記偶数フレームのそれぞれに対応する描画データが読み出されて前記ゲーム画面の表示が行われることを特徴とするゲーム画面処理方法。
【請求項９】
複数のフレームバッファを備え、一の前記フレームバッファに対する描画データの書き込み中に他の前記フレームバッファから読み出した前記描画データを用いてフレーム単位でゲーム画面の表示を行うコンピュータを、
ゲームの進行に関する処理を行うゲーム処理手段と、
前記ゲーム処理手段による処理結果に基づいてフレーム単位で描画処理を行って、前記複数のフレームバッファのそれぞれに順番に各フレームに対応する描画データを格納する描画処理手段と、
前記複数のフレームバッファのそれぞれに格納された描画データを読み出して、前記ゲーム画面をフレーム単位で表示する表示制御手段と、
前記描画処理手段による描画処理の負担が大きくなったときに、前記描画処理手段と前記表示制御手段による処理の対象となる前記フレームバッファの切り替えを停止させる切替制御手段と、
して機能させるためのゲーム画面処理プログラム。
【請求項１０】
請求項９において、
前記切替制御手段は、前記複数のフレームのそれぞれ毎に描画処理の負担の大小を判定することを特徴とするゲーム画面処理プログラム。
【請求項１１】
請求項９または１０において、
前記切替制御手段は、表示対象となる前記フレームの切り替わりタイミングに同期して生成される同期信号が出力された時点で、次に表示対象となる前記フレームに対応した前記描画処理手段による描画処理が終了したか否かを調べることにより、前記描画処理手段による描画処理の負担の大小を判定することを特徴とするゲーム画面処理プログラム。
【請求項１２】
請求項９〜１１のいずれかにおいて、
前記表示制御手段は、インターレス走査によって前記フレームに含まれる奇数ラインの描画データに対応した奇数フレームのゲーム画面と前記フレームに含まれる偶数ラインの描画データに対応した偶数フレームのゲーム画面とを交互に表示手段に表示しており、
前記描画処理手段による描画処理の負担が大きくなったときに、同一の前記フレームバッファから連続する前記奇数フレームと前記偶数フレームのそれぞれに対応する描画データが読み出されてゲーム画面の表示が行われることを特徴とするゲーム画面処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム処理の結果に基づく描画処理を行って生成した描画データをフレームバッファに格納して表示を行うゲーム装置、ゲーム画面処理方法およびゲーム画面処理プログラムに関する。
【背景技術】
【０００２】
最近の家庭用ゲームシステムでは、ＮＴＳＣ方式のテレビモニタに表示される画像データをフレーム単位に出力し、ゲーム画面を構成している。このような家庭用ゲームシステムにおいては、ＮＴＳＣ方式のインターレス走査に対して、１秒間に６０フレーム分のゲーム画面が生成されて表示される（例えば、特許文献１参照）。このゲームシステムでは、処理の負担が小さいときに第１の表示モードで表示を行い、処理の負担が増加したときに解像度を下げた第２の表示モードで表示を行っている。これにより、画面上の乱れを防止している。
【特許文献１】特開２００１−３１２２６０号公報（第４−６頁、図１−３）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、特許文献１に開示されたゲームシステムでは、処理の負担に応じて第１の表示モードと第２の表示モードを相互に切り替えているため、２種類の表示アルゴリズムを予め用意する必要があり処理が複雑になるという問題があった。また、表示モードを変更する基準値付近で処理の負荷が変動したときに画面の解像度が頻繁に変化することがないように、一旦第２の表示モードに切り替わった場合には連続するＭフレームについては第２の表示モードを維持するようにしているため、実際にはＭフレーム分の表示が終了する前に処理の負担が小さくなった場合には無駄に解像度を低下させたゲーム画面を表示することになり、必要以上に画質が低下するという問題があった。
【０００４】
本発明は、このような点に鑑みて創作されたものであり、その目的は、処理負担に応じたゲーム画面の表示を行う際の処理の簡略化が可能であり、画質の低下を必要最小限に抑えることができるゲーム装置、ゲーム画面処理方法およびゲーム画面処理プログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上述した課題を解決するために、本発明のゲーム装置は、複数のフレームバッファを備え、一のフレームバッファに対する描画データの書き込み中に他のフレームバッファから読み出した描画データを用いてフレーム単位でゲーム画面の表示を行っており、ゲームの進行に関する処理を行うゲーム処理手段と、ゲーム処理手段による処理結果に基づいてフレーム単位で描画処理を行って、複数のフレームバッファのそれぞれに順番に各フレームに対応する描画データを格納する描画処理手段と、複数のフレームバッファのそれぞれに格納された描画データを読み出して、ゲーム画面をフレーム単位で表示する表示制御手段と、描画処理手段による描画処理の負担が大きくなったときに、描画処理手段と表示制御手段による処理の対象となるフレームバッファの切り替えを停止させる切替制御手段とを備えている。
【０００６】
また、本発明のゲーム画面処理方法は、複数のフレームバッファを備え、一のフレームバッファに対する描画データの書き込み中に他のフレームバッファから読み出した描画データを用いてフレーム単位でゲーム画面の表示を行っており、ゲームの進行に関する処理を行い、この処理結果に基づいてフレーム単位で描画処理を行って、複数のフレームバッファのそれぞれに順番に各フレームに対応する描画データを格納し、複数のフレームバッファのそれぞれに格納された描画データを読み出して、ゲーム画面をフレーム単位で表示し、描画処理の負担が大きくなったときに、描画データの格納対象となるフレームバッファの切り替えと、描画データの読み出し対象となるフレームバッファの切り替えを停止させている。
【０００７】
また、本発明のゲーム画面処理プログラムは、複数のフレームバッファを備え、一のフレームバッファに対する描画データの書き込み中に他のフレームバッファから読み出した描画データを用いてフレーム単位でゲーム画面の表示を行うコンピュータを、ゲームの進行に関する処理を行うゲーム処理手段と、ゲーム処理手段による処理結果に基づいてフレーム単位で描画処理を行って、複数のフレームバッファのそれぞれに順番に各フレームに対応する描画データを格納する描画処理手段と、複数のフレームバッファのそれぞれに格納された描画データを読み出して、ゲーム画面をフレーム単位で表示する表示制御手段と、描画処理手段による描画処理の負担が大きくなったときに、描画処理手段と表示制御手段による処理の対象となるフレームバッファの切り替えを停止させる切替制御手段として機能させている。
【０００８】
これにより、描画処理の負担が大きくなって通常の間隔（例えば１／６０秒）での各フレームの描画処理が間に合わなくなったときに、ゲーム処理を遅らせることなく各フレームに対応する描画データの内容更新のタイミングのみを遅らせることができる。特に、処理対象となるフレームバッファの切り替えを停止するだけであるため、描画処理や表示処理のアルゴリズムの変更が不要であり、処理の簡略化が可能となる。
【０００９】
また、上述した描画処理の負担の大小判定は、複数のフレームのそれぞれ毎に行われることが望ましい。これにより、フレーム単位で描画処理の負担増に対処することが可能になり、実際に描画処理の負担が増加したフレームのみについて処理対象のフレームバッファの更新を停止させればよいため、必要以上に画質が低下することを防止することができる。しかも、表示される各フレームの解像度は一定であるため、処理負担増に対応するフレームの出現タイミングが連続しない場合であっても不自然な表示になることもない。
【００１０】
また、表示対象となるフレームの切り替わりタイミングに同期して生成される同期信号が出力された時点で、次に表示対象となるフレームに対応した描画処理が終了したか否かを調べることにより、描画処理の負担の大小を判定することが望ましい。これにより、描画処理の負担の大小判定を少ない処理負担で行うことが可能になる。
【００１１】
また、インターレス走査によってフレームに含まれる奇数ラインの描画データに対応した奇数フレームのゲーム画面とフレームに含まれる偶数ラインの描画データに対応した偶数フレームのゲーム画面とを交互に表示手段に表示しており、描画処理の負担が大きくなったときに、同一のフレームバッファから連続する奇数フレームと偶数フレームのそれぞれに対応する描画データが読み出されてゲーム画面の表示が行われることが望ましい。これにより、インターレス走査を行う場合であっても解像度を維持することが可能になり、画質の低下を防止することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を適用した一実施形態のゲーム装置について、図面を参照しながら詳細に説明する。
【００１３】
図１は、一実施形態のゲーム装置の構成を示す図である。図１に示すように、本実施形態のゲーム装置は、コンピュータとしての構成を有している。具体的には、本実施形態のゲーム装置は、メインプロセッサ１０、コプロセッサ１２、ジオメトリプロセッサ１４、データ伸長プロセッサ１６、描画プロセッサ２０、ビデオコントローラ２２、ディスプレイ装置２４、ＶＲＡＭ３０、サウンドプロセッサ４０、シリアルインタフェース５０、ゲームコントローラ５２、メモリカード５４、ＲＯＭ６０、ＲＡＭ６２、ＤＭＡコントローラ７０、ＣＤドライブ８０、通信インタフェース９０を含んで構成されている。
【００１４】
メインプロセッサ１０は、ＣＤ８２に格納されたプログラムを実行することにより所定のゲーム処理、画像処理、効果音処理等を行う。このプログラムには、一のフレームバッファに対する描画データの書き込み中に他のフレームバッファから読み出した描画データを用いてフレーム単位でゲーム画面の表示を行うゲーム画面処理プログラムも含まれている。なお、実行対象となるプログラムは、ＣＤ８２に格納されたものを用いる場合の他に、通信インタフェース９０を介して転送されたプログラムを用いたり、ＲＯＭカートリッジ（図示せず）等のＣＤ８２以外の情報記録媒体に格納されたプログラムを用いるようにしてもよい。
【００１５】
コプロセッサ１２は、メインプロセッサ１０の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）等を高速に実行する。例えば、ゲームに登場するオブジェクトを移動させたり動作させるための物理シミュレーションにマトリクス演算などの処理が必要な場合には、メインプロセッサ１０上で動作するプログラムがその処理をコプロセッサ１２に依頼する。
【００１６】
ジオメトリプロセッサ１４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ１０で動作するプログラムがその処理をジオメトリプロセッサ１４に依頼する。
【００１７】
データ伸長プロセッサ１６は、圧縮された画像データや音データを伸長するデコード処理を行ったり、メインプロセッサ１０のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面やゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示することができるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ６０やＣＤ８２に格納されたり、通信インタフェース９０を介して外部から転送される。
【００１８】
描画プロセッサ２０は、ポリゴンや曲面などのプリミティブ面で構成されたオブジェクトの描画（レンダリング）処理を高速に実行するためのものである。オブジェクトの描画の際には、メインプロセッサ１０は、ＤＭＡコントローラ７０の機能を利用して、オブジェクトデータを描画プロセッサ２０に渡すとともに、必要であればＶＲＡＭ３０内のテクスチャ記憶部３６にテクスチャを転送する。すると、描画プロセッサ２０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをＶＲＡＭ３０内のフレームバッファ３２、３４に高速に描画する。また、描画プロセッサ２０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッチング、フォグ処理、バイリニヤ・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。そして、１フレーム分の画像フレームがフレームバッファ３２、３４に書き込まれると、その画像はビデオコントローラ２２によって読み出され、例えばＣＲＴ（陰極線管）で構成されるディスプレイ装置２４に表示される。
【００１９】
ビデオコントローラ２２は、ＶＲＡＭ３０内のフレームバッファ３２、３４のいずれか一方から交互に画像データを読み出してディスプレイ装置２４に表示する。例えば、本実施形態ではインタレース方式の表示方法が採用されており、一のフレームの奇数ラインに対応する画像データが一方のフレームバッファ３２から読み出されてディスプレイ装置２４に表示されると、次のフレームの偶数ラインに対応する画像データが他方のフレームバッファ３４から読み出されてディスプレイ装置２４に表示される。このような画像データ読み出しとディスプレイ装置２４による表示が繰り返される。
【００２０】
サウンドプロセッサ４０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、登場キャラクタの音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ４２から出力される。なお、サウンドプロセッサ４０によってゲーム音を生成する機構はＡＤＰＣＭ音源以外、例えばＦＭ音源やその他の音源を採用するようにしてもよい。
【００２１】
ゲームコントローラ５２やメモリカード５４からのセーブデータ、個人データは、シリアルインタフェース５０を介してデータ転送される。
【００２２】
ＲＯＭ６０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＣＤ８２の代わりにＲＯＭ６０を情報記録媒体として用い、ＲＯＭ６０に格納されたプログラムをメインプロセッサ１０によって実行するようにしてもよい。なお、ＲＯＭ６０の代わりにハードディスク装置を用いるようにしてもよい。ＲＡＭ６２は、メインプロセッサ１０を始めとする各種プロセッサの作業領域として用いられる。
【００２３】
ＤＭＡコントローラ７０は、各種プロセッサとメモリ（ＲＯＭ６０、ＲＡＭ６２、ＶＲＡＭ３０等）との間でのＤＭＡ（ダイレクトメモリアクセス）転送を制御する。ＣＤドライブ８０は、プログラム、画像データ、音データなどが格納されたＣＤ８２を駆動し、これらのプログラム等の読み出しを行う。
【００２４】
通信インタフェース９０は、ネットワークを介して外部との間でデータ転送を行うためのものである。通信インタフェース９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ、ＡＤＳＬ等）や高速シリアルバスなどを考えることができる。通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステムとの間でのデータ転送が可能になる。
【００２５】
上述したメインプロセッサ１０がゲーム処理手段、切替制御手段に、描画プロセッサ２０が描画処理手段に、ビデオコントローラ２２が表示制御手段に、ディスプレイ装置２４が表示手段にそれぞれ対応する。
【００２６】
本実施形態のゲーム装置はこのような構成を有しており、次に、ゲーム処理と描画処理の後にゲーム画面の表示を行う動作を説明する。
【００２７】
図２は、ゲーム画面表示に関連する動作手順の概要を示す図である。まず、メインプロセッサ１０はゲーム処理に関するメイン処理を行う（ステップＳ１）。このメイン処理とは、例えば、各種のイベントを発生させたり、ゲームに登場する各オブジェクトの移動や動作を決定したりするゲームの進行に必要な一連の処理をいう。次に、メインプロセッサ１０は、メイン処理によって移動や動作が変更されたオブジェクトを構成する各ポリゴンの詳細を演算する（ステップＳ２）。なお、この演算はジオメトリプロセッサ１４に依頼され、ジオメトリプロセッサ１４によって各ポリゴンの頂点座標が計算される（ステップａ１）。また、メインプロセッサ１０は、上述したメイン処理の結果に基づいて描画に関するパケットを生成する（ステップＳ３）。このパケットとはメイン処理に伴って発生する描画命令であり、メインプロセッサ１０によって生成された一あるいは複数のパケットがＲＡＭ６２内のパケットメモリ領域に保存される（ステップｂ１）。このようにして、所定周期内（例えば１／６０秒）における一連のゲーム処理が行われる。
【００２８】
次に、メインプロセッサ１０は、Ｖsync信号が出力されたか否かを判定する（ステップＳ４）。このＶsync信号とは、ビデオコントローラ２２から出力される映像信号（例えばＮＴＳＣ信号）に含まれる垂直同期信号であり、本実施形態では１／６０秒周期で出力される。Ｖsync信号が出力されない場合にはステップＳ４において否定判断が行われ、この判定がＶsync信号が出力されるまで繰り返される。
【００２９】
Ｖsync信号が出力されるとステップＳ４の判定において肯定判断が行われ、次に、メインプロセッサ１０は、描画プロセッサ２０による描画処理が終了したか否かを判定する（ステップＳ５）。上述したように、１／６０秒毎にゲーム処理を行った結果に対応するパケットが生成され、ＶＲＡＭ３０内のパケットメモリ領域に保存されるが、このゲーム処理とパケットの生成、保存動作と並行して、１周期前に保存されたパケットを用いた描画処理が描画プロセッサ２０によって行われており、この１周期前の描画処理が１／６０秒以内に終了したか否かが判定される。また、この判定は、メインプロセッサ１０から描画プロセッサ２０に問い合わせを行い、その応答を調べることにより行われる。描画プロセッサ２０は、メインプロセッサ１０からの問い合わせに応じて、描画状況（描画中または描画終了）を返す（ステップｃ１）。
【００３０】
１／６０秒以内に描画処理が終了している場合にはステップＳ５の判定において肯定判断が行われ、次に、メインプロセッサ１０は、表示フレームバッファの切り替えをビデオコントローラ２２に指示する（ステップＳ６）。ビデオコントローラ２２は、この切り替え指示に応じて、表示用に用いられるフレームバッファを切り替える（ステップｄ１）。例えば、切り替えを行う前まで、一方のフレームバッファ３２が表示用として使用され、他方のフレームバッファ３４が描画用に使用されていた場合には、描画処理が終了したフレームバッファ３４を次に表示用として使用するためにこの切り替えが行われる。表示用のフレームバッファの切り替えが指示されると、ビデオコントローラ２２は、切り替え後の新たな表示用のフレームバッファ３４から画面の奇数ライン（あるいは偶数ライン）に対応する描画データを読み出して映像信号に変換してディスプレイ装置２４に表示する（ステップｄ２、ｅ１）。
【００３１】
表示フレームバッファの切り替え指示が終了すると、次に、メインプロセッサ１０は、描画フレームバッファの切り替えを描画プロセッサ２０に指示する（ステップＳ７）。描画プロセッサ２０は、この切り替え指示に応じて、描画用に用いられているフレームバッファを切り替える（ステップｃ２）。上述したように、切り替えを行う前まで、一方のフレームバッファ３２が表示用として使用され、他方のフレームバッファ３４が描画用に使用されていた場合には、これらの使用目的が入れ替えられ、それまで表示用として用いられていたフレームバッファ３２が描画用に切り替えられる。
【００３２】
次に、メインプロセッサ１０は、ＲＡＭ６２内のパケットメモリ領域に保存されているパケットを読み出して描画プロセッサ２０に転送する（ステップＳ８、ｂ２）。描画プロセッサ２０は、転送されたパケット（描画命令）に対応した描画処理を実行して描画データを作成し、描画用に切り替えられたフレームバッファ３２にこの作成した描画データを書き込む（ステップｃ３）。このようにして、１／６０秒以内でゲーム処理と描画処理が行われた後、ステップＳ１に戻って次の周期に対応するゲーム処理と描画処理が繰り返される。
【００３３】
また、１／６０秒以内に描画処理が終了せずにステップＳ５の判定において否定判断が行われた場合には、上述した表示フレームバッファの切り替え指示（ステップＳ６）、描画フレームバッファの切り替え指示（ステップＳ７）、パケットの転送（ステップＳ８）を行わずにステップＳ１に戻り、次の周期に対応するゲーム処理と描画処理が繰り返される。
【００３４】
図３は、描画処理が１／６０秒以内に終了した場合の描画動作の概要を示す図である。図３において、「メイン処理」に対応して設けられた各矩形が１／６０秒以内で行われるゲーム処理のタイミングを示している。また、「描画処理」に対応して設けられた各矩形が１／６０秒以内で行われる描画処理のタイミングを示しており、各矩形内のハッチングによって各周期内で描画処理に要した時間が表されている。例えば、矩形内でハッチング部分が全体の６０％を占めている場合には、この周期に対応する描画処理に要する時間が（１／６０）×（６０／１００）秒であるこをと意味する。
【００３５】
図３に示すように、各周期に対応する描画処理が１／６０秒以内に収まっている場合には、フレームバッファ３２とフレームバッファ３４が交互に使用されて連続するフレーム用の描画データが読み出され、ディスプレイ装置２４に表示される。しかも、本実施形態では、インターレス走査によって各フレームに対応するゲーム画面が表示されるため、例えば一方のフレームバッファ３２からは奇数ラインに対応する描画データが読み出され、他方のフレームバッファ３４からは偶数ラインに対応する描画データが読み出される。
【００３６】
図４は、描画処理が１／６０秒以内に終了しない場合の描画動作の概要を示す図である。図４において、最下段に括弧を付けて示された数字は１／６０秒間隔の各周期を特定する番号であり、その他の各矩形やハッチングの意味等については図３に示したものと同じである。
【００３７】
図４に示す例では、周期（５）に対応する描画処理が１／６０秒以内に収まっていない。この場合には、メインプロセッサ１０による表示フレームバッファの切り替え指示（ステップＳ６）や描画フレームバッファの切り替え指示（ステップＳ７）が行われない。このため、表示用のフレームバッファの切り替えは行われず、ビデオコントローラ２２は、同じフレームバッファ３４から２枚のフレームに対応する描画データを読み出し、奇数ラインに対応したフレームのゲーム画面を周期（５）において表示し、偶数ラインに対応したフレームのゲーム画面を周期（６）において表示する。また、描画用のフレームバッファの切り替えも行われないため、２つの周期（５）、（６）を使って描画された描画データが一方のフレームバッファ３２に格納される。なお、周期（５）において生成されたパケットの転送も行われないため、次の周期（６）において生成されたパケットがＲＡＭ６２内のパケットメモリ領域に上書きされる。このように、描画処理が１／６０秒以内で終了しない場合には、表示用および描画用のフレームバッファが切り替えられないため、同じフレームバッファを用いて２枚のフレームが作成され、ゲーム画面の表示が行われる。
【００３８】
このように、描画プロセッサ２０による描画処理の負担が大きくなって通常の間隔（例えば１／６０秒）での各フレームの描画処理が間に合わなくなったときに、メインプロセッサ１０で行われるゲーム処理を遅らせることなく各フレームに対応する描画データの内容更新のタイミングのみを遅らせることができる。特に、処理対象となるフレームバッファ３２、３４の切り替えを停止するだけであるため、描画処理や表示処理のアルゴリズムの変更が不要であり、処理の簡略化が可能となる。
【００３９】
また、描画処理の負担の大小判定は、複数のフレームのそれぞれ毎に行われているため、フレーム単位で描画処理の負担増に対処することが可能になり、実際に描画処理の負担が増加したフレームのみについて処理対象のフレームバッファ３２、３４の更新を停止させればよいため、必要以上に画質が低下することを防止することができる。しかも、表示される各フレームの解像度は一定であるため、処理負担増に対応するフレームの出現タイミングが連続しない場合（描画処理の負担が大きいフレームが一つおきに現れるような場合）であっても不自然な表示になることもない。
【００４０】
また、表示対象となるフレームの切り替わりタイミングに同期して生成される同期信号（Ｖsync）が出力された時点で、次に表示対象となるフレームに対応した描画処理が終了したか否かを調べることにより描画処理の負担の大小を判定しているため、描画処理の負担の大小判定を少ない処理負担で行うことが可能になる。
【００４１】
また、インターレス走査によってフレームに含まれる奇数ラインの描画データに対応した奇数フレームのゲーム画面とフレームに含まれる偶数ラインの描画データに対応した偶数フレームのゲーム画面とを交互に表示しており、描画処理の負担が大きくなったときに、同一のフレームバッファから連続する奇数フレームと偶数フレームのそれぞれに対応する描画データが読み出されてゲーム画面の表示が行われるが、このようにインターレス走査を行う場合であっても解像度を維持することが可能になり、画質の低下を防止することができる。
【００４２】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。上述した実施形態では、２つのフレームバッファ３２、３４を交互に使用して表示処理と描画処理を行うようにしたが、３つ以上のフレームバッファを順番に使用して表示処理と描画処理を行うようにしてもよい。
【００４３】
また、上述した実施形態では、描画処理が１／６０秒以内に終了しない場合に表示用および描画用のフレームバッファの切り替えを停止してフレームバッファの切り替え間隔を一時的に１／３０秒に変更したが、それでも描画処理が終わらない場合には、さらにフレームバッファの切り替え停止状態を維持するようにしてもよい。
【００４４】
また、上述した実施形態では、インターレス走査を行って各フレームのゲーム画面表示を行うようにしたが、各フレーム毎に全ラインの描画データを用いるプログレッシブ方式でゲーム画面を表示する場合にも本発明を適用することができる。
【００４５】
また、上述した実施形態では、Ｖsync信号が出力されたときに描画処理が終了していない場合には描画処理の負担が大きいものとして判定しているが、他の判定方法を用いてもよい。例えば、描画処理に要する時間を計測し、この所定時間（例えば１／６０秒）以上のときに描画処理の負担が大きいものと判断するようにしてもよい。
【図面の簡単な説明】
【００４６】
【図１】一実施形態のゲーム装置の構成を示す図である。
【図２】ゲーム画面表示に関連する動作手順の概要を示す図である。
【図３】描画処理が１／６０秒以内に終了した場合の描画動作の概要を示す図である。
【図４】描画処理が１／６０秒以内に終了しない場合の描画動作の概要を示す図である。
【符号の説明】
【００４７】
１０  メインプロセッサ
１２  コプロセッサ
１４  ジオメトリプロセッサ
１６  データ伸長プロセッサ
２０  描画プロセッサ
２２  ビデオコントローラ
２４  ディスプレイ装置
３０  ＶＲＡＭ
３２、３４  フレームバッファ
３６  テクスチャ記憶部
４０  サウンドプロセッサ
４２  スピーカ
５０  シリアルインタフェース
５２  ゲームコントローラ
５４  メモリカード
６０  ＲＯＭ
６２  ＲＡＭ
７０  ＤＭＡコントローラ
８０  ＣＤドライブ
８２  ＣＤ
９０  通信インタフェース
【図１】
2005095352.tif 000003
【図２】
2005095352.tif 000004
【図３】
2005095352.tif 000005
【図４】
2005095352.tif 000006