ページ 11

DxLibの隠し関数でCPU使用率100%になる

Posted: 2013年4月24日(水) 17:55
by little
久しぶりに質問します。
DXライブラリを使用して、作業中背景で動く何かを作ろうと考えています。(スクリーンセーバー的な)
そこで画面サイズを取得して、隠し関数を使用したところCPU使用率がほぼ100%になり困っています。
► スポイラーを表示
試してみたことは、FPSを30まで落としてみましたがCPU使用率はほぼ100%でした... orz

質問は
・環境依存でしょうか?
・CPU使用率を下げる方法はありますか?
・そもそもどこかおかしいでしょうか?

自分の環境は
・VC++2010
・DXLib Ver 3.10c
OS:Microsoft Windows 7 Home Premium 64-bit SP1
CPU:Intel Core i7
メモリ:8.00 GB になります。

よろしくお願いします(_)

Re: DxLibの隠し関数でCPU使用率100%になる

Posted: 2013年4月24日(水) 20:09
by Rom
わかりませんがCPUは100%にはなりませんでした 15%ぐらいです
Core i5-2320

SetUseBackBufferTransColorFlag( TRUE )
↑これをFALSEにかえたらCPU使用率はさがったよ


スクリーンセイバー的なのなら別の方法(DXライブラリを使わない方法)を使った方がいいんじゃないですかね

Re: DxLibの隠し関数でCPU使用率100%になる

Posted: 2013年4月24日(水) 20:40
by little
Rom さんが書きました:わかりませんがCPUは100%にはなりませんでした 15%ぐらいです
Core i5-2320

SetUseBackBufferTransColorFlag( TRUE )
↑これをFALSEにかえたらCPU使用率はさがったよ


スクリーンセイバー的なのなら別の方法(DXライブラリを使わない方法)を使った方がいいんじゃないですかね
う~ん、環境依存ですかね。。
こっちだとCore1がフル回転してます。
エミュレータ以来の挙動なんで、大丈夫か心配で。
► スポイラーを表示
SetUseBackBufferTransColorFlag( TRUE );は、使います。
スクリーンセーバー的であってスクリーンセーバーでは無いんで。。
ムービースクリーンセーバーDXが便利すぎなのでw

Re: DxLibの隠し関数でCPU使用率100%になる

Posted: 2013年4月24日(水) 21:07
by softya(ソフト屋)
ウインドウの透過の速度はGPUに依存すると思います。
なので内蔵GPUだとかなり不利です。

Re: DxLibの隠し関数でCPU使用率100%になる

Posted: 2013年4月24日(水) 21:46
by little
softya(ソフト屋) さんが書きました:ウインドウの透過の速度はGPUに依存すると思います。
なので内蔵GPUだとかなり不利です。
なるほど。

GPUは
Intel HD Graphics 4000
NVIDIA GeForce GTX 675MX

確かにNVIDIA GeForce GTX 675MXだとスムーズでIntel HD Graphics 4000だとコマ送りでした。
その時気がついたのが、exeファイル起動だと1Coreにそこまで極端な負荷がかからなかったです。。

解決な気がします。お騒がせしました。

Re: DxLibの隠し関数でCPU使用率100%になる

Posted: 2013年4月24日(水) 23:32
by かえで

Re: DxLibの隠し関数でCPU使用率100%になる

Posted: 2013年4月25日(木) 00:26
by softya(ソフト屋)
かえで さんが書きました:こういうこと?
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=1616
それっぽいですね。

Re: DxLibの隠し関数でCPU使用率100%になる

Posted: 2013年4月25日(木) 02:07
by little
デスクトップマスコットですか。。
それもいいですね~。

今作ろうとしているのは、自分の中では流行っている「人工生命」バージョンです。
もし既に作業しながら、人工生命が並行して動くものがあれば欲しいところです(´・ω・`)