std::listを出来るだけ軽く

アバター
夢幻ノ月夜
記事: 143
登録日時: 10年前
住所: Stens;Gate世界線

std::listを出来るだけ軽く

投稿記事 by 夢幻ノ月夜 » 9年前

とりあえず抽象クラスのポインタをstd::listにぶち込んでタスクシステム風にしてみる

1000個でFPS28wwwww

コンパイラの設定を変えてみる

1000個でFPS58

ソート用の評価関数をinlineにしてみる

1600個でFPS53

これ以上軽く出来る方法無いのかな…(´・ω・`)

アバター
みけCAT
記事: 6734
登録日時: 14年前

Re: std::listを出来るだけ軽く

投稿記事 by みけCAT » 9年前

夢幻ノ月夜 さんが書きました:じゃあデバッグモード(処理落ち)前提で避ける弾幕をお遊びで用意してみましょうかね
公開しないお遊びならいいかもしれませんが、一般にPCの処理速度に依存するプログラム(例:ビジーループを用いたウェイト)を書くのは良くないでしょう。
真面目に処理落ち状態で避ける弾幕を作るなら、プログラムでゲームの進行速度を制御しましょう。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 14年前

Re: std::listを出来るだけ軽く

投稿記事 by Dixq (管理人) » 9年前

Debugモードでビルドした実行ファイル配布すると色々と個人情報漏れる可能性ありますよ

アバター
へにっくす
記事: 634
登録日時: 13年前

Re: std::listを出来るだけ軽く

投稿記事 by へにっくす » 9年前

夢幻ノ月夜 さんが書きました:じゃあデバッグモード(処理落ち)前提で避ける弾幕をお遊びで用意してみましょうかね
Debugモードの公開は控えた方がよいです。
それに必要なデバッグ用のDLLは普通のPCにはないし、そのDLLの再配布は禁止されてますし。
https://msdn.microsoft.com/ja-jp/library/8kche8ah.aspx
最後に編集したユーザー へにっくす on 2016年4月15日(金) 04:57 [ 編集 1 回目 ]

アバター
tk-xleader
記事: 158
登録日時: 14年前

Re: std::listを出来るだけ軽く

投稿記事 by tk-xleader » 9年前

 今回の場合、ソートされたコンテナにデータを挿入するのですから、std::vectorかstd::dequeに変更するのであれば、挿入のたびに線形探索するのではなくて、std::upper_boundにファンクタを渡して二分探索させた方が早くなるかもしれないですよ。

 

アバター
みけCAT
記事: 6734
登録日時: 14年前

Re: std::listを出来るだけ軽く

投稿記事 by みけCAT » 9年前

へにっくす さんが書きました:
夢幻ノ月夜 さんが書きました:じゃあデバッグモード(処理落ち)前提で避ける弾幕をお遊びで用意してみましょうかね
Debugモードの公開は控えた方がよいです。
それに必要なデバッグ用のDLLは普通のPCにはないし、そのDLLの再配布は禁止されてますし。
https://msdn.microsoft.com/ja-jp/library/8kche8ah.aspx
DLLだけでなく、アプリケーション本体も再配布禁止のようですね。
アプリケーションのデバッグ バージョンと、各種の Visual C++ デバッグ DLL は、再配布できません。
(同URLより引用)