-[soccerwindow2] 固定プレイヤサイズ,カーソルの自動消去,厳密なソート (akiyama) 15:35:16

指定したプレイヤサイズで描画されるモードを作った.
昔のログフォーマットではプレイヤのサイズが記録されていないので,ビューワ側で強制的に変更できると多分便利.

マウス操作が止まって5秒経つと自動的にマウスカーソルが消えるようにした.
常に表示していたい場合もあるので,自動消去モードを切り替えるオプションを設定ダイアログ上に用意した.

Qt4バージョンのプレイヤタイプダイアログをソートする際に,セルの値が辞書順で比較されていたので,数値順に比較するように修正した.QSortFilterProxyModelなどというものを使わなければならないのが面倒.コンセプトは分かるんだが,使いづらい.

-[soccerwindow2] aqua/qt3-macで動作せず (akiyama) 16:34:35

Mac上での動作確認.
コンパイルは通って,ウインドウの表示まではいくものの,まったく動かない.
X11版なら問題なく動作するので,使うならこちらで.

-[librcsc] AudioMemory再設計 (akiyama) 20:43:08

コーチとコードを共有するために,少し汎用的なものに改造中.

-[soccerwindow2] Qt4: anti-aliasingモードオプション (akiyama) 23:49:40

ふと思いついて,アンチエイリアスの有効/無効を切り替えられる設定ボタンを作ってみて動かしたところ,アンチエイリアスを切った状態では,ビックリするくらいパフォーマンスが上がった.
Qt-4.1くらいの頃にパフォーマンスチェックをしたときはアンチエイリアス無しでもかなり重かった気がするから,だいぶ改善されたんだろうか?

6000サイクル分の物体の軌跡を表示させて比較すると,CPU使用率が数十倍違う.
アンチエイリアス有効だと80%くらい使うのに,無効だと5%以下.
これなら,パフォーマンスはQt3バージョンにかなり近い(それでもまだQt3の方が軽いのだが).
今までクソ重たかったのは,ほとんど全てこれのせいだったようだ.
それにしたって,いくら何でも違いすぎるだろう.
どれだけ効率の悪い計算をしてるんだ.

しかし,早くなるのは分かっても,アンチエイリアスがかかってないと描画が汚い.
そこで,アンチエイリアス無しでも見た目にそれほど影響が無いものを描画するときにだけ一時的にアンチエイリアスをオフにすることにした.
今のところ,フィールドのライン,物体の軌跡,デバッグ情報の描画では,オプションの状態に関係なく強制的にアンチエイリアスがオフになるようにしてみた.
これでもQt3に比べるとかなり重いが,だいぶマシにはなった.



トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
SourceForge.JP
Creative Commons License
RoboCup tools by Hidehisa Akiyama is licensed under a Creative Commons 表示-非営利 2.1 日本 License.