Chiharu の日記

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

2010-06-01から1ヶ月間の記事一覧

クラナド 〜藤林姉妹

乙女もすなるクラナドというものを、性別不詳の Chiharu もやってみんとす。 とりあえず、古河渚をクリア後、藤林姉妹を攻略中。 ということで、藤林姉妹を描いてみました。 …描いてみました。…えが、いて、みま…。 似てないね。仕方がないね。私この人の絵…

プログラミングお遊戯 〜std::minmax_element を使用したソート

C++

επιστημηさんの『わすれもので(ちょびっと)高速化』に挑戦! 掲載のサンプルをビルドして Core i7 で実行すると... 359 (min_selection) 421 (minmax_selection) んー。ご本人の環境では高速化が確認されたようですが、私の環境だと minmax_element が速くな…

Parallel force - パラレル・フォース 〜SSE2 終わり

これ以上の高速化はあんまし思いつかないや、というところまで描画処理をまとめました。一例としてαブレンディングの最適化結果など。 1 画素ずつ処理する場合は、下記の非 SIMD 処理で... inline const PixPacked32 operator()(const PixPacked32 iDst, con…

Parallel force - パラレル・フォース 〜SSE2 苦戦

まさかの凡ミス。SSE2 用の組み込み関数の意味をとり間違えていました。テストしてたらα値付きイメージのフェードで色化け。調べてみると、驚愕の事実。_mm_mul_epu32 がまさか 32bit x 32bit = 64bit だったなんて!普通に乗算結果の下位 32bit を期待して…

Parallel force - パラレル・フォース 〜ちょっと高速化。その 4 (SSE2)

ふとコードを見返したら、イメージの転送元フォーマットが BGR 時、読み込みと BGR / BGRX 変換にて、SSE2 が使えることに気づきました。対応したサンプルをアップしました。 pforce_1.exe … 単一スレッド処理。(15fps) pforce.exe … 複数スレッド処理。(62f…

Parallel force - パラレル・フォース 〜ちょっと高速化。その 3 (SSE2)

結局、SIMD 対応しました。描画処理全般で SSE2 を使ってみました。先週から、いろいろ書き換えて効果が出てきたので、サンプルを公開します。実行ファイルの内訳は下記のとおりです。Intel Core 2 / i3 / i5 / i7 シリーズを使用している場合は、特に SSE2 …

Parallel force - パラレル・フォース 〜ちょっと高速化。その 2

新しい PC はあれから安定して動作しているようです。SE-90PCI のアナログ出力は音がいいですね。デジタル出力のような音の硬さ (多分硬いほうが正確な波形なんでしょう) がなく、柔らかな音の広がりを感じます。その割りに解像感が落ちるわけでもなく。好み…

EPSON DIRECT Endeavor MR4000 〜SE-90PCI で相性問題

新しい PC ですが、しばらく使用していたらシャットダウンが正常にできないようになってしまいました。原因を調べると、SE-90PCI でフリーズ問題があるとか。ためしにドライバを抜いてみると再現しなくなりました。んー。いろいろ調べて、ローカル コンピュ…

Parallel force - パラレル・フォース 〜ちょっと高速化

Intel Core i7 の PC を購入しました。相方の要望で、省スペースかつ静かなマシンということで、EPSON DIRECT の Endeavor MR4000 をセレクトしました。CPU は i7-870、メモリは 8GB。グラボは静かな GT220。BD ドライブをつけました。音源が貧弱だったので…