プライベートフォントを利用可能とする
rev562にて、基本的な実装を加えた。
ただしまだスキンとの連動機能がなく、アプリ内で固定的にフォントを指定している。
→rev.601
お疲れ様です。
フォントが綺麗で凄く気に入ってます。
参考までに:現段階での数値です。
' Title : 3100(512) Configration(System) : 100→1972→337(85→512→222) Configration(Drums) : 166→1975→385(128→512→255) Configration(Guitar) : 171→1989→391(142→512→255) Configration(Bass) : 171→1993→392(142→512→256) ' 選曲画面 : 1700(512) ' 選曲画面 : 1480(495) ' プリ動画再生中 Quick Config : 109→109→329(93→93→205) Quick Config : 104→104→275(90→90→197) ' プリ動画再生中 ' 演奏画面 : 1500-2500(500) ' 演奏画面 : 1000(450) ' 情報表示中 単位:fps ・数値は左からrev599→rev600→rev601です。 ・括弧()内の数値はフォーカス外での値 / '''垂直同期OFF''' ・XP HE sp3 / Q6600@2.4GHz / GeForce GTX560Ti(パフォーマンス最優先設定)
Quick Configで大きく改善されたのですが、通常Configでは逆に低下してしまいました。
今の手持ちのPCではrev600/601双方十分快適なので、他の方の情報が必要ではないかと思います。
性能をご確認いただき、ありがとうございます。(最初に書いておきますが、rev602はFPS見えの性能向上はありません。)
rev601でCONFIG画面のFPSが低下した理由ですが、
CONFIG画面において、rev599では、 左メニュ-、右側設定項目(VSyncWaitなど)、右側設定パラメータ(ONなど)をすべてリアルタイムにレンダリングして表示していました。 フレーム描画のたびにフォントのレンダリングをしているので、遅いです。
rev600では、 左メニュー、右側設定項目(VSyncWaitなど)、右側設定パラメータ(ONなど)をすべて、 事前にテクスチャをレンダリング完了させたうえで、描画だけを行っていました(*)。 画面遷移直後や、左のメニューを切り替えるタイミングでレンダリングを行うため、画面遷移やメニュー切り替えが遅いです。
(*) 正確には、数値パラメータの設定中(右側設定パラメータのオレンジのフォントのところ)だけはリアルタイムレンダリングですが、FPS測定の時にはその表示はないはずです。
これに対して、rev601では、
としていて、事前のレンダリングを減らして、代わりに画面遷移や左メニューの応答性を上げているのですが、一方でFPSは落ちてしまっているようですね。 (リアルタイムレンダリングのままにしているQuickConfigで比較する限り、フォントキャッシュでは3倍程度しか性能効果がないみたいですね。10倍くらいの性能改善を期待していたのですが、やっぱしメモリコピーが入るとだめか・・・。)
後日、右の設定パラメータも、右の設定項目みたいな対応を入れるようにします。
従来、文字列描画は、システムフォントまたはスキンのビットマップフォントを用いて描画していた。
HD化を機に、プライベートフォントでの描画をサポートし、ビットマップフォントの利用を廃止する。
# 以前\viviさんからいただいていた要望をチケット化した。