プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:三国志軍記開発
ネームプレート表示制御02
開発中のメイン画面
チラつき現象がなくなり、描画速度も向上して以前のレベルに近付きつつあるようだ。



◎バグ調査

ネームプレートが表示されたりされなかったりでチラチラする現象を調査します。

まず、表示時と非表示時の座標をそれぞれ確認し、あらためてセルの座標リストを取得すると…あれ?件数が違う??

視覚的に並べると、こんな感じでした。

傾きが1以上の場合細切れになる

どうやら、傾きの大きさが1以上の場合細切れになるケースがあったようです。

ちゃんと作り直さないといけませんね。



◎苦戦の要因

直線の座標は、一次方程式‘y = dx + a’で簡単に求めることができます。にもかかわらず苦戦する理由は、この式をそのまま利用しただけでは理想的な座標が取得できないからです。

y=dx+aで算出したセルのイメージ(PDF)

(1,?,4)、ではなく(0,?,4)が算出される原因を理解しないまま適当に作成して失敗しました(>_<)

これは要するにint型の整数除算の影響で、セルの左下同士を結ぶ直線(図の赤矢印)を算出している状態です。



◎改修

理想的な座標を取得する方法として、セルの中央を結ぶ直線をイメージしました。

セルの中央を結ぶ直線のイメージ(PDF)

上図をイメージして作成したのが下記プログラムです。

XNA用プログラム

ただ、イメージ図とプログラムが微妙に異なる気がするのですが、テストした限りでは、プログラムが正しいような??



◎実装

ネームプレート表示制御02

チラチラ現象は解消されて、動作が安定しました。ネームプレート描画速度は40ms → 8msになりました。



◎次回予告

これで本当に正しいのか不安なところもありますが、チラつきは解消されたので、次回はパフォーマンス向上を図ります。

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。