印刷データを解析して得られる中間データに基づいて描画処理を実行するための描画実行部とハードウェアレンダラーを備える画像形成装置であって、該描画実行部は、前記中間データを構成する各描画コマンドの描画を実行するレンダラーを切替制御するレンダラー切替制御部と、ソフトウェアレンダラーと、前記ハードウェアレンダラーを制御するハードウェアレンダラー制御部とを含み、前記レンダラー切替制御部は、未処理の前記中間データにおいて、前記ハードウェアレンダラーが処理できない描画コマンドであるHW描画不可コマンドの有無を検出する手段と、検出した前記HW描画不可コマンドまでに存在する全ての描画コマンドを前記ソフトウェアレンダラーで描画するのに要する第1の時間を予測する手段と、検出した前記HW描画不可コマンドの手前に存在するその余の描画コマンドを前記ハードウェアレンダラーで描画した後に、検出した前記HW描画不可コマンドを前記ソフトウェアレンダラーで描画するのに要する時間であって、レンダラー切り替えに伴うオーバーヘッドを含む時間である第2の時間を予測する手段と、前記第1の時間が前記第2の時間より大きい場合に、前記HW描画不可コマンドまでに存在する描画コマンドのうち、前記HW描画不可コマンドを前記ソフトウェアレンダラーに描画させ、前記その余の描画コマンドを前記ハードウェアレンダラー制御部を制御して前記ハードウェアレンダラーに描画させる手段と、前記第1の時間が前記第2の時間より大きくない場合に、前記HW描画不可コマンドまでに存在する全ての描画コマンドを前記ソフトウェアレンダラーに描画させる手段とを含む画像形成装置。前記レンダラー切替制御部は、未処理の前記中間データにHW描画不可コマンドが検出されない場合、該中間データに含まれる全ての描画コマンドを前記ハードウェアレンダラー制御部を制御して前記ハードウェアレンダラーに描画させる手段をさらに含む、請求項1に記載の画像形成装置。コンピュータに、印刷データを解析して得られる中間データに基づいて描画処理を実行させる方法であって、未処理の前記中間データにおいて、ハードウェアレンダラーが処理できない描画コマンドであるHW描画不可コマンドの有無を検出するステップと、検出した前記HW描画不可コマンドに至るまでに存在する全ての描画コマンドをソフトウェアレンダラーで描画するのに要する第1の時間を予測するステップと、検出した前記HW描画不可コマンドの手前に存在するその余の描画コマンドを前記ハードウェアレンダラーで描画した後に、検出した前記HW描画不可コマンドを前記ソフトウェアレンダラーで描画するのに要する時間であって、レンダラー切り替えに伴うオーバーヘッドを含む時間である第2の時間を予測するステップと、前記第1の時間が前記第2の時間より大きい場合に、前記HW描画不可コマンドまでに存在する描画コマンドのうち、前記HW描画不可コマンドを前記ソフトウェアレンダラーに描画させ、前記その余の描画コマンドを前記ハードウェアレンダラーに描画させるステップと、前記第1の時間が前記第2の時間より大きくない場合に、前記HW描画不可コマンドまでに存在する全ての描画コマンドを前記ソフトウェアレンダラーに描画させるステップとを実行させる方法。さらに、未処理の前記中間データに前記HW描画不可コマンドが検出されない場合、該中間データに含まれる全ての描画コマンドを前記ハードウェアレンダラーに描画させるステップを含む、請求項3に記載の方法。コンピュータに請求項3または4に記載の方法の各ステップを実行させるためのコンピュータ実行可能なプログラム。本発明は、上記従来技術における課題に鑑みてなされたものであり、本発明は、描画時間を自動最適化する新規な画像形成装置、方法及びプログラムを提供することを目的とする。本発明者は、描画時間を自動最適化する新規な画像形成装置、方法及びプログラムにつき鋭意検討した結果、以下の構成に想到し、本発明に至ったのである。すなわち、本発明によれば、印刷データを解析して得られる中間データに基づいて描画処理を実行するための描画実行部とハードウェアレンダラーを備える画像形成装置であって、該描画実行部は、前記中間データを構成する各描画コマンドの描画を実行するレンダラーを切替制御するレンダラー切替制御部と、ソフトウェアレンダラーと、前記ハードウェアレンダラーを制御するハードウェアレンダラー制御部とを含み、前記レンダラー切替制御部は、未処理の前記中間データにおいて、前記ハードウェアレンダラーが処理できない描画コマンドであるHW描画不可コマンドの有無を検出する手段と、検出した前記HW描画不可コマンドまでに存在する全ての描画コマンドを前記ソフトウェアレンダラーで描画するのに要する第1の時間を予測する手段と、検出した前記HW描画不可コマンドの手前に存在するその余の描画コマンドを前記ハードウェアレンダラーで描画した後に、検出した前記HW描画不可コマンドを前記ソフトウェアレンダラーで描画するのに要する時間であって、レンダラー切り替えに伴うオーバーヘッドを含む時間である第2の時間を予測する手段と、前記第1の時間が前記第2の時間より大きい場合に、前記HW描画不可コマンドまでに存在する描画コマンドのうち、前記HW描画不可コマンドを前記ソフトウェアレンダラーに描画させ、前記その余の描画コマンドを前記ハードウェアレンダラー制御部を制御して前記ハードウェアレンダラーに描画させる手段と、前記第1の時間が前記第2の時間より大きくない場合に、前記HW描画不可コマンドまでに存在する全ての描画コマンドを前記ソフトウェアレンダラーに描画させる手段とを含む画像形成装置が提供される。以下、本発明を、実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。なお、以下に参照する各図においては、共通する要素について同じ符号を用い、適宜、その説明を省略するものとする。図1は、本発明の実施形態である画像形成装置100のハードウェア構成図を示す。画像形成装置100は、装置全体を制御するためのコントローラ10と、コントローラ10が生成した印刷用画像データに基づいて用紙に画像を印刷するためのプリンタエンジン20と、表示部および操作部を備え、ユーザーインターフェースとして機能するパネル装置22と、ハードウェアレンダラー26を含んで構成されている。ハードウェアレンダラー26は、例えば、ASICとして構成することができ、描画コマンドの種類矩形、文字、直線などを限定して、描画処理レンダリングを実行するハードウェアアクセラレータである。コントローラ10は、ホストPC24から受信した印刷データPDLデータに基づいて実行される各種の描画処理を経て出力用画像データを生成し、当該出力用画像データをプリンタエンジン20に出力する。コントローラ10は、ソフトウェアプログラムの命令を実行するためのCPU12と、コントローラ10上で動作するプログラムを格納するためのROM13と、コントローラソフトが作成するページメモリやソフトウェアが動作するために必要なワークメモリを提供するRAM14と、印刷条件設定などを保存するための不揮発性メモリとして例示されるNVRAM15と、ネットワーク上に接続されたホストPC24とデータのやり取りを行うためのネットワークI/F16と、プリンタエンジン20に対して印刷指示等を行うためのエンジンI/F17と、パネル装置22との入出力を行うためのパネルI/F18と、ハードウェアレンダラー26に対して描画指示等を行うためのハードウェアI/F19とを含んで構成されており、各要素は、内部バス28を介して相互に接続されている。図2は、本実施形態の画像形成装置100のソフトウェア構成図を示す。画像形成装置100のコントローラ10は、図1に示したCPU12がROM13に格納されるコントローラソフトを実行することによって、コントローラ10全体を制御するためのプリンタ制御システム部30と、ホストPC24から受信したPDLデータに基づいて出力用画像データを生成するためのPDL部40とを含んで構成されている。図3は、PDL部40の機能ブロック図を示す。PDL部40は、PostScript登録商標、PCL登録商標、RPCS登録商標などの各種ページ記述言語の構文解析を行うPDLパーサ部41と、PDLパーサ部41の解析結果として得られる描画条件に従って出力用画像データを生成する描画実行部42とを含んで構成される。描画実行部42は、描画モジュールI/F部43と、中間データ保存部44と、レンダラー切替制御部45と、ソフトウェアレンダラー46と、ハードウェアレンダラー制御部47とを含んで構成される。PDLパーサ部41は、PDLデータを構文解析し、描画条件としてテキスト、イメージ、ベクターグラフィックスなどの描画コマンドと色や透過設定などの描画設定情報を得ると、これらの描画条件を描画モジュールI/F部43を介して中間データ保存部44に渡す。中間データ保存部44は、PDLパーサ部41から受領した描画条件描画コマンドおよび描画設定情報を中間データとして中間データメモリ48に保存し、中間データの保存が完了した時点で、その旨をレンダラー切替制御部45に通知する。レンダラー切替制御部45は、中間データ保存部44から中間データ保存完了通知を受領したことに応答して、描画時間を最適化最小化すべく、各描画コマンドの描画処理を実行するレンダラーソフトウェアレンダラー46またはハードウェアレンダラー26を適応的に決定する。レンダラー切替制御部45は、所定の描画コマンドのレンダラーをソフトウェアレンダラー46に決定した場合には、その旨をソフトウェアレンダラー46に通知し、ソフトウェアレンダラー46に描画処理を実行させる。一方、所定の描画コマンドのレンダラーをハードウェアレンダラー26に決定した場合には、その旨をハードウェアレンダラー制御部47に通知し、ハードウェアレンダラー制御部47を制御して、ハードウェアレンダラー26に描画処理を実行させる。ソフトウェアレンダラー46は、レンダラー切替制御部45から通知を受けると、中間データメモリ48に保存される中間データを参照しながらバンドメモリ49へのレンダリングを実行する。一方、ハードウェアレンダラー制御部47は、レンダラー切替制御部45から通知を受けると、ハードウェアレンダラー26を制御して中間データメモリ48に保存される中間データを参照させ、バンドメモリ49へのレンダリングを実行させる。以上、PDL部40を構成する各機能部について説明してきたが、次に、レンダラー切替制御部45が実行する処理について、図4~図10に基づいて説明する。図4は、レンダラー切替制御部45が実行する処理のフローチャートを示し、図5~10は、レンダラー切替制御部45が実行する処理の内容を説明するための概念図を示す。なお、図5~10は、ハードウェアレンダラー26の描画性能がソフトウェアレンダラー46のそれの2倍である場合を想定している。また、以下の説明においては、ハードウェアが描画できる描画コマンドをHW描画可能コマンドとして参照し、図5~10において可と示し、ハードウェアが描画できない描画コマンドをHW描画不可コマンドとして参照し、図5~10において不可と示す。レンダラー切替制御部45は、中間データ保存部44から中間データ保存完了通知を受領したことに応答して、以下の処理を開始する。まず、ステップ101において、中間データメモリ48に保存された中間データを参照し、その先頭から終端に向かってHW描画不可コマンドの有無を検出する。ここでいうHW描画不可コマンドとしては、ベクターグラフィックの描画コマンドを例示することができる。例えば、3つのHW描画可能コマンドと3つのHW描画不可コマンドが図5aに示すように混在してなる中間データの場合には、ステップ101において、最初のHW描画不可コマンドとしてコマンド003が検出されステップ102、Yes、ステップ103に進む。ステップ103においては、検出したHW描画不可コマンドコマンド003までを描画するのに要する第1の時間を予測する。ここで、第1の時間とは、検出したHW描画不可コマンドコマンド003に至るまでに存在する全ての描画コマンドコマンド001、コマンド002、コマンド003をソフトウェアレンダラー46で描画するのに要する時間をいう。各描画コマンドをソフトウェアレンダラー46で描画するのに要する時間以下、ソフト描画時間というは、描画コマンドの種類およびその描画範囲に基づいて既知の手法によって予測することができる。続いて、ステップ104においては、検出したHW描画不可コマンドコマンド003までを描画するのに要する第2の時間を予測する。ここで、第2の時間とは、検出したHW描画不可コマンドコマンド003の手前に存在するHW描画可能コマンドコマンド001、コマンド002をハードウェアレンダラー26で描画した後に、検出したHW描画不可コマンドコマンド003をソフトウェアレンダラー46で描画するのに要する時間であって、レンダラー切り替えに伴うオーバーヘッドを含む時間をいう。各描画コマンドをハードウェアレンダラー26で描画するのに要する時間以下、ハードウェア描画時間というは、描画コマンドの種類およびその描画範囲に基づいて既知の手法によって予測することができる。なお、本実施形態は、上述したステップ103および104の順序を限定するものではなく、両ステップは並列的に実行されても良い。検出したHW描画不可コマンドコマンド003までを描画するのに要する第1の時間および第2の時間は、図5bに示すようになる。すなわち、第1の時間は、コマンド001~003のそれぞれのソフトウェア描画時間の合計時間となり、第2の時間は、コマンド001およびコマンド002のそれぞれのハードウェア描画時間と、コマンド003のソフトウェア描画時間と、オーバーヘッド図5においてOHと示すの合計時間となる。ここで、オーバーヘッドとは、レンダラーの切り替えに伴うバンドメモリ49のオープンクローズのやり直しやハードウェアレンダラー26の初期化処理等に要する時間に該当する。続くステップ105においては、第1の時間が第2の時間より大きいか否かが判断される。図5bに示す例の場合、第1の時間は第2の時間より大きいのでステップ105、Yes、ステップ106に進む。ステップ106においては、ハードウェアレンダラー制御部47を制御してコマンド003の手前に存在するコマンド001およびコマンド002をハードウェアレンダラー26に描画させるとともに、ソフトウェアレンダラー46を制御してコマンド003を描画させる。その後、図5cに示すように、中間データのコマンド001~003を描画処理済みとしてマークする。続いて、ステップ109において、全ての描画コマンドの描画処理が完了したか否かが判断される。この場合、未だ、コマンド004~006が描画されていないのでステップ109、No、処理は、ステップ101に戻る。再び、ステップ101において、未処理の中間データの先頭コマンド004から終端にかけてHW描画不可コマンドの有無を検出する処理が実行されると、今度は、HW描画不可コマンドとしてコマンド006が検出されステップ102、Yes、ステップ103に進む。ステップ103においては、検出したHW描画不可コマンドコマンド006までを描画するのに要する第1の時間を予測し、続く、ステップ104においては、検出したHW描画不可コマンドコマンド006までを描画するのに要する第2の時間を予測する。続くステップ105においては、第1の時間が第2の時間より大きいか否かが判断される。この場合、図5dに示すように、第1の時間が第2の時間より大きいのでステップ105、Yes、ステップ106に進み、ハードウェアレンダラー制御部47を制御してコマンド006の手前に存在するコマンド004およびコマンド005をハードウェアレンダラー26に描画させるとともに、ソフトウェアレンダラー46を制御してコマンド006を描画させる。その後、図5eに示すように、コマンド004~006を描画処理済みとしてマークする。続くステップ109において、全ての描画コマンドの描画処理が完了したか否かが判断される。図5eに示す状態においては、全ての描画コマンドコマンド001~006が描画されているのでステップ109、Yes、レンダラー切替制御部45は、処理を終了する。図6は、図5aに示した中間データの描画時間について、本実施形態による描画時間と従来技術による描画時間を並べて示す。なお、ここでいう従来技術とは、HW描画不可コマンドに対してはソフトウェアレンダラーを、HW描画可能コマンドに対してはハードウェアレンダラーを、それぞれ無条件に割り当てる技術をいうものとする。図6に示すように、図5aに示した中間データの場合は、本実施形態による描画時間と従来技術による描画時間の間に差は生じない。続いて、図7aに示すように、3つのHW描画不可コマンドが前半に連続して存在し、その後に3つのHW描画可能コマンドが連続して存在する中間データを例にとってレンダラー切替制御部45の処理を説明する。このケースの場合、ステップ101において、HW描画不可コマンドとして最初にコマンド001が検出されステップ102、Yes、ステップ103に進む。ステップ103においては、検出したHW描画不可コマンドコマンド001までを描画するのに要する第1の時間を予測され、ステップ104においては、検出したHW描画不可コマンドコマンド003までを描画するのに要する第2の時間が予測される。しかしながら、この場合、コマンド001の手前にはHW描画可能コマンドが存在しないので、図7bに示すように、第1の時間=第2の時間となる。その結果、ステップ105においては、第1の時間が第2の時間より大きくないと判断されステップ105、No、ステップ107に進む。ステップ107においては、ソフトウェアレンダラー46を制御して、検出したHW描画不可コマンドコマンド001までの全ての描画コマンドこの場合、コマンド001のみを描画させる。続いて、ステップ109において、全ての描画コマンドの描画処理が完了したか否かが判断されステップ109、No、処理は、ステップ101に戻る。ステップ101においては、2番目のHW描画不可コマンドとしてコマンド002が検出される。この場合も、コマンド002の手前にはHW描画可能コマンドが存在しないので、図7bに示すように、第1の時間=第2の時間となる。したがって、コマンド001について上述したステップ102~109の一連の処理が繰り返され、再び、ステップ101に戻る。次のステップ101においては、3番目のHW描画不可コマンドとしてコマンド003が検出される。この場合も、コマンド003の手前にはHW描画可能コマンドが存在しないので、図7bに示すように、第1の時間=第2の時間となる。したがって、コマンド001について上述したステップ102~109の一連の処理が繰り返され、再び、ステップ101に戻る。この間、図7cに示すように、コマンド001~003が描画処理済みとしてマークされる。ステップ101においては、残る描画コマンドコマンド004~006は、全てHW描画可能コマンドであるため、HW描画不可コマンドは、中間データの終端に至っても検出されないステップ102、No。その結果、処理は、ステップ108に進み、ハードウェアレンダラー制御部47を制御して未処理の描画コマンドこの場合は、コマンド004~006をハードウェアレンダラー26に描画させるとともに、図7dに示すように、コマンド004~006を描画処理済みとしてマークする。続くステップ109において、全ての描画コマンドの描画処理が完了したか否かが判断される。この場合、全ての描画コマンドコマンド001~006が描画されているのでステップ109、Yes、レンダラー切替制御部45は、処理を終了する。図8は、図7aに示した中間データの描画時間について、本実施形態による描画時間と従来技術による描画時間を並べて示す。図8に示すように、図7aに示した中間データの場合も、本実施形態による描画時間と従来技術による描画時間の間に差は生じない。続いて、図9aに示すように、HW描画可能コマンドとHW描画不可コマンドが交互に存在する中間データを例にとってレンダラー切替制御部45の処理を説明する。このケースの場合、ステップ101において、HW描画不可コマンドとして最初にコマンド002が検出されステップ102、Yes、ステップ103に進む。ステップ103においては、検出したHW描画不可コマンドコマンド002までを描画するのに要する第1の時間を予測され、ステップ104においては、検出したHW描画不可コマンドコマンド002までを描画するのに要する第2の時間が予測される。この場合、図9bに示すように、第1の時間が第2の時間より大きくなる。その結果、ステップ105においては、第1の時間が第2の時間より大きいと判断されステップ105、Yes、ステップ106に進み、ハードウェアレンダラー制御部47を制御してコマンド002の手前に存在するコマンド001をハードウェアレンダラー26に描画させるとともに、ソフトウェアレンダラー46を制御してコマンド002を描画させるとともに、コマンド001およびコマンド002を描画処理済みとしてマークする。続いて、ステップ109において、全ての描画コマンドの描画処理が完了したか否かが判断されステップ109、No、処理は、ステップ101に戻る。ステップ101においては、2番目のHW描画不可コマンドとしてコマンド004が検出されステップ102、Yes、ステップ103に進む。ステップ103においては、検出したHW描画不可コマンドコマンド004までを描画するのに要する第1の時間を予測され、ステップ104においては、検出したHW描画不可コマンドコマンド004までを描画するのに要する第2の時間が予測される。この場合、図9cに示すように、第1の時間は、第2の時間より小さくなる。なぜなら、この場合の第2の時間には、ソフトウェアからハードウェアへ切り替えるためのオーバーヘッドとハードウェアからソフトウェアへ切り替えるためのオーバーヘッドという2つのオーバーヘッドが加算されるからである。その結果、ステップ105においては、第1の時間が第2の時間より大きくないと判断されステップ105、No、ステップ107に進む。ステップ107においては、ソフトウェアレンダラー46を制御して、検出したHW描画不可コマンドコマンド004までの全ての描画コマンドこの場合、コマンド003およびコマンド004を描画させるとともに、コマンド003およびコマンド004を描画処理済みとしてマークする。続いて、ステップ109において、全ての描画コマンドの描画処理が完了したか否かが判断されステップ109、No、処理は、再び、ステップ101に戻る。ステップ101においては、3番目のHW描画不可コマンドとしてコマンド006が検出されステップ102、Yesステップ103に進む。ステップ103においては、検出したHW描画不可コマンドコマンド006までを描画するのに要する第1の時間を予測され、ステップ104においては、検出したHW描画不可コマンドコマンド004までを描画するのに要する第2の時間が予測される。この場合も図9dに示すように、コマンド003について説明したのと同じ理由から、第1の時間は第2の時間より小さくなる。その結果、ステップ105においては、第1の時間が第2の時間より大きくないと判断されステップ105、No、ステップ107に進む。ステップ107においては、ソフトウェアレンダラー46を制御して、検出したHW描画不可コマンドコマンド006までの全ての描画コマンドすなわち、コマンド005およびコマンド006を描画させるとともに、コマンド005およびコマンド006を描画処理済みとしてマークする。続くステップ109において、全ての描画コマンドの描画処理が完了したか否かが判断される。この時点では、図9eに示すように、コマンド001~006が描画処理済みとしてマークされているのでステップ109、Yes、レンダラー切替制御部45は、処理を終了する。図10は、図9aに示した中間データの描画時間について、本実施形態による描画時間と従来技術による描画時間を並べて示す。図10に示すように、図9aに示した中間データの場合は、本実施形態によって描画時間が最適化されることが理解されるであろう。以上、説明したように、本発明によれば、描画時間が自動最適化され、高性能印刷装置の描画処理におけるスループットの低下が好適に防止される。上述した実施形態の各機能は、C、C、C、Java登録商標などのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、本実施形態のプログラムは、ハードディスク装置、CD-ROM、MO、DVD、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。以上、本発明について実施形態をもって説明してきたが、本発明は上述した実施形態に限定されるものではなく、例えば、HW描画不可コマンドの割合HW描画不可コマンド数/全コマンド数について所定の閾値を定義した上で、HW描画不可コマンドの割合が閾値を超える場合は、中間データの全ての描画コマンドをソフトウェアレンダラーに描画させ、HW描画不可コマンドの割合が閾値を超えない場合には、HW描画不可コマンドに対してはソフトウェアレンダラーを、HW描画可能コマンドに対してはハードウェアレンダラーを、それぞれ割り当てるようにレンダラー切替制御部を構成することもできる。その他、当業者が推考しうる実施態様の範囲内において、本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。