1 名前:(;´д⊂ヽ [02/04/29 16:14 ID:Gsu.P7Dk] PCならではの可変フレームレートで、かつ安定したキー入力とか演算の微分処理とか 実装したいんですが、具体的に、どういう風な構造にすればいいのか全然わかりません助けて キー入力とかタイミングに厳しい処理を別スレッドで回すとして 描画担当スレッドはどーすればいいんでしょう? (描画途中で別スレッドにより内部変数が書き換えられるケースが出てきますよね?)
39 名前:37 [02/05/02 01:16 ID:nbxhpyDs] >>38 自分のやり方の場合、そうなります<60回/sec超えない 前フレームの処理にかかった時間を元に今フレームでの移動速度を補正 させつつ全力でぶん回す、というやり方もやったことはあるけど、個人的に あまりエレガントだとは思えなかったので・・・。
40 名前:名前は開発中のものです。 mailto:sage [02/05/02 02:06 ID:???] あれ、>>37 のやりかたで60回以上描きかえることがあるの? 描画コマンドが60回までしか発生しないから、描きかえも60回まででは?
41 名前:名前は開発中のものです。 mailto:sage [02/05/02 02:19 ID:???] ソースコードと実装のエレガントさをとるか、やってることのクールさをとるか。
42 名前:37 [02/05/02 02:33 ID:ZkWoqS7A] >>40 あー、言葉足らずですみませんでした。 もちろん1フレーム描いたら、描画コマンドキューが更新(表裏切り替え) されるまでは描画もしません(_o_)
43 名前:名前は開発中のものです。 mailto:sage [02/05/02 02:48 ID:???] やっぱ>>7 にもどって 内部120回ループとかが行けてる?
44 名前:名前は開発中のものです。 [02/05/02 03:26 ID:iMh3R/Ps] >>43 120回なんか回したって意味ないんだから 60回上限にして、その分アイドルに回した方が 全然いいと思うがナ。
45 名前:名前は開発中のものです。 mailto:sage [02/05/02 12:13 ID:???] >>44 ウィンドウモードのことを考慮してるんじゃない? フルスクリーン60Hz限定のゲームならいいんだけどね 更新60Hzでディスプレイ75Hzだと相当がたつく
46 名前:名前は開発中のものです。 mailto:sage [02/05/03 00:35 ID:???] >更新60Hzでディスプレイ75Hzだと相当がたつく これって2Dモノはよくわかるけど、3Dだとわかる? それ以前にWindows特有の処理落ちみたいのがあるし、FPSとか場面毎のポリゴン数によって 処理落ちしたりして、何が原因だかよくわからないんだよねー ダブルバッファをスマートに書くのはテンプレート使えばいいんじゃない? 描画と完全に分けるならトリプルバッファが必要だと思うけど。 でも、そんな面倒な構造にする必要あるかね?
47 名前:名前は開発中のものです。 [02/05/03 01:42 ID:6JPEwFK2] >>44 PCでやる以上、それは割り切るしかないと思う。 タイマで計って廻した所で、完全にVSyncと同期させるのは無理だし〜
48 名前:名前は開発中のものです。 mailto:sage [02/05/03 03:03 ID:???] あのーここってリフレッシュレート論争と大差ないんですけど・・・・
49 名前:名前は開発中のものです。 mailto:sage [02/05/03 03:17 ID:???] >>46 60fps固定で処理してると、3Dでもガタつくよ。 モーションが飛ぶんじゃなくて、速度が不安定になるというか、ブレる感じ。 内部処理を固定するなら、描画処理は1フレーム分遅延させるのがベスト。 描画処理の方が速く回る場合は、補間させて滑らかな動き。
50 名前:名前は開発中のものです。 mailto:sage [02/05/03 11:13 ID:???] 新リフレッシュレート論争スレの予感。 過去スレより piza.2ch.net/tech/kako/972/972165437.html >命題:「『1フレーム後に、変数v がa増加する』をどのように実装するか?」 > >◆A宗:「v += a * dt」 >v-syncに同期。リフレッシュレートは任意。 > >◆B宗1派:「v += a」 >タイマーに同期。一定間隔で値を更新する。 > >◆B宗2派:「v += a」 >v-syncに同期。何らかの方法でリフレッシュレートを固定する。 私は一時A宗に傾きかけたが、結局B宗に戻りつつあるような気がする。
51 名前:名前は開発中のものです。 mailto:sage [02/05/03 12:03 ID:???] ゲームクリエイターズバイブルに描画と内部処理の分け方の話があったね。
52 名前:名前は開発中のものです。 mailto:sage [02/05/03 13:17 ID:???] >>50 そのスレ読んでないけど、内部処理と描画処理を分けるこのスレの趣旨とは 微妙に違うぞ。 このスレは内部処理はB宗で描画だけA宗にするって話。 それがいいか悪いかはともかく、どうやって実装するのかというスレ。
53 名前:名前は開発中のものです。 mailto:sage [02/05/03 13:20 ID:???] 実のところ話していることは同じだという罠
54 名前:名前は開発中のものです。 mailto:sage [02/05/03 18:25 ID:???] 内部処理では座標などの値を過去フレームと次回フレームの2つを持っておく。 描画スレッドでは描画開始時間と内部処理の過去フレームの時間から補完? float t = (render_time - old_time -) * (60 / 1000); D3DXVec3Lerp(&currnt[i], &prev[i], &next[i], t); てのを全部に対してやるだけだったらそれなりにエレガントかも。
55 名前:名前は開発中のものです。 mailto:sage [02/05/03 19:15 ID:???] >>54 それだと、キーフレームアニメーションなんかやると アニメーションの終端を突破したりしないか? IF文で終端で止めにすればいいという問題でもない (アニメーションAが終わったらアニメーションBにスイッチする場合とか)
56 名前:名前は開発中のものです。 mailto:sage [02/05/04 12:02 ID:???] >>55 たいした問題じゃない。
57 名前:名前は開発中のものです。 mailto:sage [02/05/04 16:15 ID:???] >>54 はスレッドを分けなくてもできるね。 排他制御しないぶん楽。
58 名前:名前は開発中のものです。 mailto:sage [02/05/04 19:49 ID:???] 毎ループ数値積分してるやつはどうなるの?
59 名前:名前は開発中のものです。 [02/05/04 20:29 ID:DoQwTAVw] 内部処理回数が決まってないと リプレイの実装が面倒でないか? 車ゲーのリプレイは適当でいいけど まぁ、最低60回は回すように組んでおくとして、数値微分なんかの 凾狽ェ小さすぎて問題になることなんてあるだろうか?
60 名前:名前は開発中のものです。 mailto:sage [02/05/04 20:53 ID:???] ない。
61 名前:名前は開発中のものです。 mailto:sage [02/05/04 23:03 ID:???] 丸め誤差にさえ気をつけていれば大丈夫
62 名前:名前は開発中のものです。 [02/05/05 00:10 ID:PKpkIeKE] FPS制御用にワーカースレッドを使ったクラスを作ったが 普通の関数バージョンに比べて遅くなった。 つーかフレームのコールにPostMessage使ってるし当然か。 なんだか設計思想が間違ってたようで激しく鬱。
63 名前:名前は開発中のものです。 mailto:age [02/05/05 00:42 ID:???] >>62 PostMessageはまずいでしょ…ガタガタになっちゃう。 ま、誰しも一度は通る失敗だけどね。
64 名前:名前は開発中のものです。 [02/05/05 01:07 ID:PKpkIeKE] >>63 でもさ、それ以外思い浮かばんのよね。 それ以外だと、メッセージループに if( pFPS30->BeCalled() ){ RenderMain(); } を埋め込む以外なくなる。
65 名前:名前は開発中のものです。 [02/05/05 02:14 ID:QlZCUdc2] グローバル変数だ!
66 名前:名前は開発中のものです。 mailto:sage [02/05/05 02:29 ID:???] volatile bool g_BeCalled より PostMessage(arg->hWnd, WM_PAINT, 0, 0)を 選ぶ62たんはWindowsプログラマの鏡!
67 名前:62 [02/05/05 03:42 ID:yqpWzWOE] 俺のプログラムだと、 FPS用のスレッドでパフォーマンスタイマーの ビジーループをぐるぐる回して処理している為 たとえ内部処理、描画処理を1FPSに設定しても CPU占有率が100%になってしまう。 何かスマートな実装方法は無いかえ?
68 名前:名前は開発中のものです。 mailto:sage [02/05/05 03:59 ID:???] HALT
69 名前:名前は開発中のものです。 [02/05/05 04:06 ID:yqpWzWOE] >>68 Sleep系とパフォーマンスタイマーの併用ってこと? パフォーマンスタイマーから大まかなSleep時間を 求めて眠らすとか? それとも精度には不安があるがSleep系のみで管理とか? ビジーループを使わず、タイマーを使う良い方法が あったら教えて欲しい。
70 名前:名前は開発中のものです。 [02/05/05 04:29 ID:XpophaTo] 精度に不安って他にプログラム走らせてない場合も不安定なんだろうか。
71 名前:69 [02/05/05 05:40 ID:CUy74S1o] >パフォーマンスタイマーから大まかなSleep時間を >求めて眠らすとか? MsgWaitForMultipleObjectsを使ってこの案を実践したら 60FPSでCPU使用率100%だったのが0%まで落とす事に成功しました。 なんだか上手くいき過ぎて怖い。^^ でも試して上手くいった時は快感!だったりする。 >>70 60FPSの場合、精度は16msec程度必要。 まあSleep系は悪くても誤差10msecらしいから 一応大丈夫といえばそうらしい。
72 名前:名前は開発中のものです。 mailto:age [02/05/05 10:34 ID:???] >>70 Windowsで、他にプログラムを走らせない状況を作るのは不可能。
73 名前:名前は開発中のものです。 mailto:age [02/05/05 11:42 ID:???] ゲームで使うタイマーって、タイマーだけ別スレッドにするの?
74 名前:名前は開発中のものです。 mailto:sage [02/05/05 11:50 ID:???] 俺はいちいちスレッド分けずに書いてるのだが…(FPS可変) やっぱり描画とその他って分けるべき?
75 名前:名前は開発中のものです。 mailto:sage [02/05/05 13:39 ID:???] このスレは分けて書くためのスレなので、そういう質問は不適切。 ちなみに描画と内部処理を同期させてるゲームの場合、壁にぶつかる瞬間にわざと 負荷をかけてフレームレートを落とすと壁をすり抜けたりする。 かつて、リアルタイムで解像度が切り換えられるゲームがあったけど、解像度切り 換えで1秒くらい時間が飛ぶから、それで壁を突き抜けたりミサイルをすり抜けた りなんてことができたよ。
76 名前:名前は開発中のものです。 mailto:sage [02/05/05 14:02 ID:???] >>75 えー、それはつくりがヘボイだけでは。
77 名前:名前は開発中のものです。 mailto:sage [02/05/05 14:05 ID:???] >>75 冲 が 3.25なら、 1, 1, 1, 0.25でループ回す
78 名前:名前は開発中のものです。 mailto:sage [02/05/05 14:06 ID:???] でも弾が壁抜けるのはやり方がヘボイ。 前回と今回の座標でレイとばせ。
79 名前:69 [02/05/05 16:00 ID:Qufy7xrs] >>73-74 いや別ける必要はないと思う。 俺の場合、ビジーループのCPU負荷を下げたいと 模作した結果、こんな形になってしまったが メリットは無かった。 >>71 のMsgWaitForMultipleObjectsを メインメッセージプロシャージャーに組み込む方法をとるか FPS制御クラスにSleep系を組み込むようにする設計にすれば スレッドを作らなくても同じことが出来るはず。
80 名前:69 [02/05/05 16:02 ID:Qufy7xrs] あ、でもプライマリスレッドをスリープさせちまうのはヤバいか? >>79 は撤回。やっぱスレッドは必要かも。
81 名前:69 [02/05/05 16:08 ID:Qufy7xrs] ああそれに俺の場合そもそもアプローチの方向が違うなぁ。 >>1 その他の方向性は、CPUパワーに余裕がある場合FPSを増やす可変方式なのに対し 俺の場合、安定したFPSでCPUパワーに余裕がある場合眠らせるって形だからなぁ。 やねおうら氏のスーパープログラマーへの道にも、Sleepを用いたFPS制御を話題に挙げていた回があったが あれは、プライマリとは別にゲーム用メインスレッドを作っているから可能な方法だな。
82 名前:名前は開発中のものです。 mailto:sage [02/05/05 17:10 ID:???] FF11は30fps固定でくると思う人いる?
83 名前:名前は開発中のものです。 mailto:age [02/05/05 22:52 ID:???] >>82 ネットゲームは通信速度が一定じゃないからfps固定はできないんじゃ?
84 名前:名前は開発中のものです。 mailto:sage [02/05/06 01:34 ID:???] >>83 「固定」の意味もイマイチ不明だけど、「通信速度が一定じゃないから」ってのも違う気がする
85 名前:名前は開発中のものです。 mailto:sage [02/05/06 01:42 ID:???] 通信速度が一定しない所為でフレームレートが固定「できない」 なんていうヘタレな実装をしている市販3Dゲーが思いつかないが。
86 名前:85 mailto:sage [02/05/06 01:44 ID:???] 85は>>83 へのレスね。というか、かぶりまくりだった。スマソ。
87 名前:名前は開発中のものです。 mailto:sage [02/05/06 03:06 ID:???] >>82 通信速度は関係ないと思うが、 ゲームの性質上FPS固定ってのはありえんと思う。 画面上に人がイパーイでたりするからね。
88 名前:名前は開発中のものです。 mailto:sage [02/05/06 07:01 ID:???] FPS固定でもラグったら飛ばさないといけないよな。 結局やることはFPS非固定と対して代わらないような。
89 名前:名前は開発中のものです。 mailto:sage [02/05/06 07:02 ID:???] というか非固定で作っておいて、 固定にするくらい出ないとだめか。
90 名前:名前は開発中のものです。 mailto:age [02/05/06 16:25 ID:???] >>85 DIABLOとかやったことないの? 魔法使いまくるとフレームレート落ちるよ。
91 名前:名前は開発中のものです。 mailto:sage [02/05/06 16:48 ID:???] >>90 DIABLOやったことないので質問するが、それは描画処理が増大して モタついてるということではないのか。 例えば、FPS系のメジャー所では通信速度はフレームレートに 影響しない。Lagの激しい奴はパケットロスということで 前フレームの移動パラメータを使って補間アニメーションする。
92 名前:91 mailto:sage [02/05/06 18:17 ID:???] あ、FPS系てところは First Person Shooting系 と読み替えてくれ。
93 名前:名前は開発中のものです。 mailto:sage [02/05/06 19:45 ID:???] 通信前提で作ればローカル(一人)プレイ版も簡単に作れると思うんだけど 普通に作っちゃうとローカルプレイ版が先にできちゃって 後から通信対応させるのにスゲエ苦労して一ヶ月泊り込んじゃったよ っていう人いますか
94 名前:名前は開発中のものです。 mailto:sage [02/05/06 21:46 ID:???] 83≒90? ネットゲーは毎フレームデータのやり取りしてると思ってるのかな? Doomならそうだったけど、今はそんなことしてるゲームは少ないよ。 元々アーケード用に作ったゲームを移植のついでにネットワーク対戦に 対応させるときはやったりするけど(某DC用のゲームとか)
95 名前:69 [02/05/06 23:05 ID:5hxqOZms] ぐああダメだぁ〜!! Direct3Dを使ったプログラムで、>>71 で作った スレッドを用いたFPSのクラスを使うと モーダルダイアログを呼んだ瞬間に(::DialogBoxIndirectParam) 固まってしまう。 モーダルダイアログは親ウインドウと同じスレッドです。 FPSのスレッドをサスペンドにすると固まる、 スレッドを終らせてからダイアログを呼ぶと固まらない、 デバック出力用APIを1行加えると固まらない、 FPSクラスのフレームの呼び出しがメッセージだと固まる、 FPSクラスのフレームの呼び出しをファンクションコールにすると固まらない、 D3Dで描画しないと固まらない、 これって何が原因だかわかります?
96 名前:名前は開発中のものです。 mailto:sage [02/05/06 23:18 ID:???] ダイアログ自前これ最強。 スキン対応も簡単だからいいだろ。
97 名前:名前は開発中のものです。 mailto:sage [02/05/06 23:20 ID:???] 今DirectX7で開発してる人は割合少ない肝
98 名前:名前は開発中のものです。 mailto:sage [02/05/07 02:41 ID:???] >>95 それは、Win32とかマルチスレッドプログラミングの参考書を 一冊手に入れて目を通したほうがいいような気もする。
99 名前:名前は開発中のものです。 mailto:sage [02/05/07 07:05 ID:???] >>95 んなの聞いたことない。 ぼんミスでバグってるだけだろ。
100 名前:名前は開発中のものです。 mailto:sage [02/05/07 10:10 ID:???] マルチスッドレはデバッグが面倒だよね。
101 名前:69 [02/05/07 11:13 ID:H21ddL0Q] マルチスレッドといえばそうなんですけど、 FPSのスレッドがしていることは、 一定時間Sleepして::PostMessageでユーザー定義メッセージを ウインドウに送っているだけです。 それ以外、変数を操作したりWindowsのシステムにアクセスしたりとかは 何もしていません。 Window、Direct3D、その他もろもろは同一スレッドなんで 実質シングルスレッドと殆ど変わりません。 キーを押された→WM_KEYDOWNメッセージハンドラで、 FPSスレッド停止しダイアログ呼び出し、こんな感じです。 このFPSスレッド停止をSuspendにするとダメ、DestroyにするとOKなんですよね。 まあダイアログをモードレスして作り直してどうなるか試してみます。
102 名前:名前は開発中のものです。 mailto:sage [02/05/07 21:10 ID:???] >>101 まぁ内心では気付いてるだろうと思うが、 そういうあいまいな文章による状況説明では他人に問題点を指摘してもらうのは難しい。 (orバグを作った本人の状況分析だけを頼りに問題点を見つけ出すのは難しい) ソース見せられるなら添削してもらうこともできるだろうが それが無理なら「頑張ってね」としか言えんよ、実際。 とりあえずDirectXとか余計なものから一つ一つ外してみたらどうか。
103 名前:69 [02/05/08 01:33 ID:LDZ.FZgI] >>102 その通りですね。 なんだかすいません。
104 名前:処理安定 mailto:sage [02/05/09 02:02 ID:???] Windowsがリアルタイムゲームに向かない理由、それは突如、原因不明な ブロッキングに悩むからだと思うんだけど、ちょっとだまされたと思って 以下の設定してみてください。 「マイコンピュータ」->「プロパティ」->「デバイスマネージャ」->「ディスクドライブ」の設定で オプションに DMA という項目があります。 Windowsの出荷状態では、ここはOFFなのですが、これをONにしてWindowsを 再起動してみてください。謎のブロッキングがかなり解消されますよ! 仮に解消されなくてもファイルアクセスなどがぐんと速くなるので損することは ないと思います。(ただ一部のハードではこのDMAは無効になってるかもです) 60FPS以上のゲームで「ガクン!」というのがなくなると思いますよ、お勧め。 じゃ、眠いので僕は寝ます。おやすみ〜
105 名前:名前は開発中のものです。 mailto:sage [02/05/09 04:21 ID:???] >>104 そんなこと自慢されてもなぁ。XPじゃ最初から有効にされてるし。 プロセスとスレッドの優先度を最大まで上げる方が効果あるよ。 絶対に苦情くるけど。
106 名前:名前は開発中のものです。 mailto:age [02/05/09 14:16 ID:???] >>105 104のどこが自慢っぽく見えるのか、俺には不思議。 性格ゆがんでない?
107 名前:名前は開発中のものです。 mailto:sage [02/05/09 15:54 ID:???] >>104 普通やん. 別に画期的なネタでもないわ.
108 名前:名前は開発中のものです。 mailto:sage [02/05/09 16:24 ID:???] >普通やん. MSの公示では、普通じゃないだろ >>FD,HD-DMA DMA無効になってるのが普通。 問題は、ドライバの設定を変えた時に再起動させること。 自分のマシンだけリブートすればいい問題ではないので。 有名なネタではあるが。
109 名前:名前は開発中のものです。 mailto:sage [02/05/09 18:44 ID:???] >>105 いちいちくだらねえことつっこむなよ。 >プロセスとスレッドの優先度を最大まで上げる方が効果あるよ。 これこそわかりきってることを自慢すんなよ。障学生が。
110 名前:名前は開発中のものです。 mailto:sage [02/05/09 19:14 ID:???] PC房ってやつですか
111 名前:名前は開発中のものです。 mailto:sage [02/05/09 19:51 ID:???] >>104 それって98/95あたりの話じゃ、、、
112 名前:名前は開発中のものです。 mailto:sage [02/05/09 20:44 ID:???] をーーーーーーー!見事安定した!マジかよ。 ガタ落ちゼロになった。 ちなみに俺の環境はWin98. 今までの苦労、水の泡。 なんでディフォルトでDMA-ONじゃないのだ?>>MS というか、配布するソフトでも是非、DMA-ONの状態にしたいのだが、 アプリケーションからそれを操作する方法ってないのか?
113 名前:名前は開発中のものです。 mailto:sage [02/05/09 20:51 ID:???] 昔はDMAをオンにすると不安定になるハードが結構あったからねえ、、、 マザボのチップセットと相まって、かなりヤバイことになってた。 だからデフォルトOFFなんだと思う。 Socket7の頃の話だけどね。
114 名前:名前は開発中のものです。 [02/05/09 21:24 ID:V/9kUMis] Win2000の場合はデバイスマネージャーの IDE ATA/ATAPIコントローラーの プライマリIDEチャネルとセカンダリIDEチャネルで設定出来る。
115 名前:名前は開発中のものです。 mailto:age [02/05/09 21:31 ID:???] >>112 DMAオフでガタつくゲームってのも、問題アリだと思うが。
116 名前:名前は開発中のものです。 mailto:sage [02/05/09 21:50 ID:???] >DMAオフでガタつくゲームってのも、問題アリだと思うが。 CPUが高速なHDのデータコピーを汗かきながらI/Oへ書き込むので 全てのアプリで停止するのだよ。特に最近のHDは高速だから、 DMAなしではやってられない。 0.3秒くらいCPUがHDの転送に専念することもしばしば。
117 名前:名前は開発中のものです。 mailto:age [02/05/09 22:01 ID:???] >>116 ゲーム中はHDへアクセスしないようにするべし。
118 名前:名前は開発中のものです。 mailto:sage [02/05/09 22:08 ID:???] 自アプリがやらなくても他アプリがやったり ライトバックキャッシュのフラッシュや ページアウトでアクセスが発生しちまいますな
119 名前:名前は開発中のものです。 mailto:sage [02/05/09 22:28 ID:???] >>118 そうゆう話じゃないと思われ。 他のゲームはガタつかないのに自分のゲームはガタつく!ってのが問題。
120 名前:名前は開発中のものです。 mailto:sage [02/05/10 04:19 ID:???] >>119 >他のゲームはガタつかないのに自分のゲームはガタつく そんなこと誰か書いたっけ?
121 名前:名前は開発中のものです。 mailto:sage [02/05/10 06:45 ID:???] 誰も書いてない
122 名前:名前は開発中のものです。 mailto:age [02/05/10 19:29 ID:???] 人に頼ってちゃダメだよ。 自分から行動を起こさなきゃ。
123 名前:名前は開発中のものです。 mailto:sage [02/05/11 04:24 ID:???] >ゲーム中はHDへアクセスしないようにするべし。 んー、学生さんかのぉ? Windowsやlinuxなどのような高度なOSでは、 例えば malloc() などのヒープもアプリケーション実行開始直後は 物理メモリに存在しないことしばしばなのじゃよ。 new を呼んだ瞬間、物理メモリが存在しなかったら、そこでHDアクセス。 スタックがオーバーしたら、HDアクセス。 他のアプリが使用していたメモリをHDへ書き戻す作業であることが ほとんどなのじゃがな。 ゲームなど連続描画がシビアな環境では Windows上だとガタガタに見えてしまうのも、そこが原因だったりするんじゃ。
124 名前:名前は開発中のものです。 mailto:sage [02/05/11 15:53 ID:???] >>123 >Windows上だとガタガタに見えてしまうのも 見えませんが?
125 名前:69 [02/05/11 17:18 ID:HivZaZZA] >>101 解決?しました。 FPSを表示するのにFPSの抽出を60FPSとかにすると 更新が激しくて見づらいので、2FPS等で抽出させる 別のFPS制御クラスを作っていたんだけど、 ダイアログを表示する際にこいつは関係ないと思って サスペンドしていなかった為に、デッドロックが起こっていたようです。 結果論であり、デッドロックの理由はわかりませんが。 ::CreateWaitableTimerという便利そうなAPIを発見したんで こりゃ使えると思ってFPS制御クラスに組み込んだら、 こいつしっかりCPU時間を消費しやがんの。 使えね〜、精度も低いしサ。 >>123 そういうことをやっているかどうかは知らんけど、 やっていたとしても、それは単に物理メモリが少ない場合の 回避処置でしか無いと思うんだけど。 そりゃメモリが足りなくてスワップしまくりな環境なら ゲームもカクつくよ。
126 名前:99 [02/05/11 17:22 ID:.Lvp8gPk] -------風俗の総合商社・MTTどこでも------- 〇デリバリーヘルス〇デートクラブ〇女性専用ホストクラブ〇 〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部 〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種! ●楽しく遊べます! 090-8002-8356番 -----------美男・美女会員など多数在籍中----------- www.mttdocomo.jp/ -----女性アルバイト随時募集・高収入(日払い)月100万円可能----- -----レズビアン・スタッフ●ホモスタッフ●女性専用ホストスタッフ同募----- www.mttdocomo.jp/
127 名前:名前は開発中のものです。 mailto:sage [02/05/12 08:31 ID:???] >やっていたとしても、それは単に物理メモリが少ない場合の >回避処置でしか無いと思うんだけど。 WinXPだとか、物理メモリあっても初アクセスまではアプリ用にメモリをcommit しないというのに、何を逝ってるのかな? 10秒後に初めてアクセスした変数がメモリにまだcommitされてないページだった らHDアクセス決定じゃん。
128 名前:名前は開発中のものです。 [02/05/12 19:48 ID:IYwn5BLg] >>127 コミットされていないページ=スワップアウトされてHDに退避させられているページ じゃないんじゃないの? 単に仮想メモリが物理メモリにマップされてないだけで。 MSDNでVirtualAllocのページ見てみ。 つーかイチイチメモリ確保の度にHDDアクセスする訳ないじゃん。 常識的にアホ仕様だろそれじゃ。
129 名前:名前は開発中のものです。 mailto:sage [02/05/12 20:43 ID:???] その話題はスレ違いっぽいので他でやってくれんか たとえば pc.2ch.net/test/read.cgi/tech/1017072275/
130 名前:名前は開発中のものです。 [02/05/14 21:35 ID:ru/D90z6]
131 名前:名前は開発中のものです。 [02/05/19 11:18 ID:ajzZw3lo] >>128 >コミットされていないページ=スワップアウトされてHDに退避させられているページ じゃないんじゃないの? ↓ コミットされていないページ=まだ存在していないページ >つーかイチイチメモリ確保の度にHDDアクセスする訳ないじゃん。 Windows はダーティなページを極力メモリに保持し続ける方針で設計されている為、 いざページをコミットしようとすると、すぐに使えるメモリが足りなくて、結果的にページアウトが発生してしまう。 当然未使用メモリがある場合は、 HD へのアクセスは無い。
132 名前:名前は開発中のものです。 mailto:sage [02/05/19 15:25 ID:???] だからスレ違いだっての。日本語わからないのか?
133 名前:名前は開発中のものです。 mailto:sage [02/05/20 01:16 ID:???] >>132 まぁ言いたいことは分かるが あまり騒ぐと自治厨氏ねとか不本意な罵りを浴びるぞ。
134 名前:名前は開発中のものです。 mailto:sage [02/06/01 20:55 ID:???] 別に俺はここでこの話題をしてもいいと思うが… 3、4レスのためだけに別スレに移動なんてしてたら、 話の一貫性がなくなってしまうだろう。
135 名前:名前は開発中のものです。 mailto:sage [02/06/02 11:58 ID:???] だって知識が乏しい連中ばっかなんだもん
136 名前:名前は開発中のものです。 mailto:sage [02/06/03 11:14 ID:???] では貴殿の知識を開陳せよ。 他人を蔑むだけのカキコって、技術レベルに関係なくなんかむかつく。
137 名前:名前は開発中のものです。 mailto:sage [02/07/22 05:33 ID:???] 可変フレームレートってどういういうものでしょう。 60FPS出るように作って、処理が遅れたら処理落ちすれば いいだけなのでは、、、? 3Dのゲームなら30FPSくらいが普通でしょうか。
138 名前:名前は開発中のものです。 mailto:sage [02/07/24 05:29 ID:???] >137 v' += v * dt みたいな感じかな…。 具体的な実現方法は何パターンかあると思います。 どっかのスレでそんな議論してたと思った。役に立たなくてスマソ
139 名前:オマンコー&rlo;ー゚ホンィテ&lro; mailto:sage [02/10/26 08:35 ID:???]