Chiharu の日記

絵描き C/C++ プログラマーの日記です。

2011-05-01から1ヶ月間の記事一覧

会社の人にサイトがバレた 〜べっ別にバレたからって恥ずかしいわけじゃないんだからねっ

先日の日記のおかげでバレたようです。 タイトルのとおりで、バレたからといってどういうこともないんですけれど。サイトもプログラムの話題とか、女の子の絵とか、18 禁ゲームが公開されているくらいで、別にどうということはないですよ? ―――齢 30 も過ぎ…

趣味でも組み込み? 〜PandaBoard を触ることに

勤務先の会社内で有志が集まって PandaBoard をいじりたおす運びとなりました。業務じゃないのでフランクな感じで。ちょうど NGP の半分くらいのスペックで面白そうだなぁと感じてます。 で、会社でボードを共用するだけでは物足りないなぁと思って、個人で…

オブジェクト指向 〜参考資料

C++

えーと。オブジェクト指向を学習するのに適した本って何かあるでしょうか。職場で客先から「オブジェクト指向を理解したいが参考書はないか?」と聞かれて答えに窮したのでブログに展開。 私の場合、プログラミング言語の勉強当初に C++ ばかりを追いかけて…

Parallel force - パラレル・フォース 〜CPU 占有率

先日の日記の続き。 改めて Core i7 で CPU 占有率を見ると、高負荷時にまんべんなくコアを使う…ということはなく、結構まばらに CPU リソースを消費しているなぁと感じます。フレーム同期のためにウェイトが入っているので 100% まで上昇しないのは理解でき…

Parallel force - パラレル・フォース 〜デモ更新

前回更新時から随分と期間が経ってしまいましたので、現時点でのコードをまとめてデモを更新しました。今回から x64 ビルド バイナリを追加しました。マルチコア エンジンなので効果がそれと分かるように、デモ画面に CPU 使用率を表示するバーを追加しまし…

setjmp/longjmp とデストラクタ 〜Visual C++ の場合

C++

先ほどの続き。 Egtra さんの指摘で、x86 でも /EH オプションが有効の場合には setjmp/longjmp でデストラクタが起動することが分かりました。 状況を確認してみましょう。まず、下記のクラスを用意して ctor/dtor の呼び出し状況がコンソールから分かるよ…

x86 から x64 へ 〜利点いろいろ

C++

x86 と比べて x64 になって良かったなぁと思う点など。 汎用レジスタ数が 8 個から 16 個に増えた 関数の引数がレジスタ渡しがデフォルトに(冒頭の数パラメータのみ レジスタのスタック退避が激減 SSE2 を確実に使用可能 浮動小数演算に x87 FPU でなく SSE…

描画処理のまとめ 〜アセンブラとの戦い

先ほどまで Parallel force - パラレル・フォースの描画処理をまとめてました。具体的にはコンパイラの出力するアセンブラ コードとにらめっこしてました。見直していると、画素あたりの処理が複雑なようで、下記の問題が発生していました。 画素あたりの処…

零の軌跡 〜続編について

零の軌跡のロゴって『零』の下の部分が『AO』とか『アO』とかに見えますね。って常々思ってました。まぁ、見えるだけで、空耳ならぬ空目かもしれませんけれど。そのせいか、続編が『碧の軌跡(アオノキセキ)』と聞いて何となく納得しました。 (補足) 上記…

Visual C++ 2010 Express 〜x64 ビルドできない?

C++

あれ? 久しぶりに Visual C++ 2010 Express で x64 ビルドしようとしたら、 >エラー: プロジェクトに "ConfigurationGeneral" 規則がありません。な、エラーが表示されてビルドできなくなっていました。おかしいなぁ、なんでだろ。x64 ビルドできていたころ…

C++0x の nullptr 〜GCC であれれ?

C++

先日の日記の続き。 さらに先日の日記のコードを Cygwin 環境で、 $ gcc test_memcpy.cpp -msse2 -std=c++0x -lstdc++ -O3こんな感じでコンパイルしたら、 test_memcpy.cpp: In function ‘void xmmcpy_da_sa(void*, const void*, size_t)’: test_memcpy.cpp:…

GW にお留守番 〜トイレ トレーニング

息子が 3 歳でこの春、幼稚園に入園したのですが、いまだにオムツが取れずに難儀しています。ひとえに親がトイレ トレーニングをサボった結果なのですが…。 で、現在トイレ トレーニング中で、相方がパートでカレンダーなんて何のそのな出勤して、娘と息子と…

零の軌跡 〜プレイ中

先日の日記に関連して。 遅ればせながら PSP 版の零の軌跡をプレイ中。まだ 1 章ですが、さすがファルコムと思わせるだけの作りこみで、安心してプレイしています。そんな記念にティオを描いてみました。 ティータ、レンに続く子供キャラ。序盤では S クラフ…

GW にハチ出現! 〜新居の玄関に巣作り

先ほど、家族総出で駅前の商店街で開催中のこいのぼりフェスティバルを見てきました。フェスティバルといっても何か祭りをやってるわけではなくて、いつもの商店街のアーケードに大量のこいのぼりがぶら下がっているというものです。昨年、息子が「ぼんぼり…

XMM レジスタによるメモリ アクセス 〜SSE2 (movdqa と movdqu) の特性

C++

先日の日記の続き。 興味深い計測結果が出ていました。 確かにNehalem系CPUは、以前のCPUと比べてMOVDQUの性能が改善されています。cache lineを跨がなければMOVDQAと同じ速度が出ています。 MOVDQUの特性について ふむ。movdqu は Core i シリーズで高速化…

Parallel force - パラレル・フォース 〜XMM レジスタによるメモリアクセス

Paralell force - パラレル・フォースのレンダラの画素アクセスは下記の方針で対応しています。 可能な限り XMM レジスタを使用する 可能な限り movdqa 命令でロードおよびストアする 前者はともかくとして、後者がなかなか曲者なのです。 movdqa の使用条件…