C/C++ゲーム製作総合スレッド Part4
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2013/08/12(月) NY:AN:NY.ANID:RPqvnGkC元スレ
DXライブラリ 総合スレッド その12
http://toro.2ch.net/test/read.cgi/gamedev/1330000532/
前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
0337名前は開発中のものです。
2013/10/07(月) 23:13:34.32ID:IYoY04Mi>>336
ありがとうございます!!
2個目を消す場合、
クラスにDelete()関数を追加して、
void myclass::Delete()
{
delete[] p;
p = NULL;
}
void main()
{
myclass obj;
obj.hoge();
obj.hoge();
obj.Delete();
}
でも、ダメですか?
0338名前は開発中のものです。
2013/10/07(月) 23:15:28.95ID:Rxv904Ei0339名前は開発中のものです。
2013/10/07(月) 23:23:11.69ID:IYoY04Mi実際にこれを使うわけではないので安心してください!
プログラムの勉強を始めたばかりで内部的にどうなってるか知りたかったんです。
答えてくださった方たちありがとうございました!
0340名前は開発中のものです。
2013/10/08(火) 09:02:29.21ID:4d44TfVz一回目のnewで確保した領域をメモリリークさせるコードを書きたいの?
よくわからんテストコードだな。
0341名前は開発中のものです。
2013/10/08(火) 09:46:37.11ID:ttaYSeAJmyclassのデストラクタで配列解放しない理由は?
0342名前は開発中のものです。
2013/10/08(火) 09:56:41.94ID:ttaYSeAJ普通と言うかよくやる考え方の順序で言うと、まず真っ先に一旦myclass側のデストラクタで、そのクラスの管理責任として、
自身がメンバとして持っている要素の解放処理書いとくってのをワンセットにしてそれを土台の考え方として、
その後、それじゃ困るようななんらか事情や実装都合、あるいは設計上の理由があった時、
実行時の動作パス踏まえて考えた上で、そこでやってるような開放専用関数追加するとかって順番で考えて。
0343名前は開発中のものです。
2013/10/08(火) 16:01:33.64ID:kP7Tf/iB(じゃなきゃIOCCCなんて生まれない)
気持ちはわからないでも
0344名前は開発中のものです。
2013/10/08(火) 22:12:57.72ID:1rDNRsOYシングルトン使いまくりという自由人がいたような記憶があるが
あーいうのもオブジェクト指向的には奇怪な部類に入るだろうか
0345名前は開発中のものです。
2013/10/08(火) 23:19:06.01ID:+doHVCffどうせたかだが数万行の糞コードだろ
多少設計が糞でも力技でねじ伏せられるレベルだろ
少なくとも設計が悪いせいで開発が頓挫するほどのことじゃない
細かいこと気にしてる前にどんどん手を動かせ
ゲームなんかmain関数一本のグローバル変数使いまくりでも何の問題もない
0346名前は開発中のものです。
2013/10/08(火) 23:25:16.39ID:DeWA7nCL個人レベルなら本当にこれだけど、チームでやってるときにそれやられると死ぬ
あと、キャラクタークラスとかは流石に分けないときつくないか
0347名前は開発中のものです。
2013/10/09(水) 10:24:14.87ID:0BIVR7NU0348名前は開発中のものです。
2013/10/09(水) 11:20:48.07ID:zMZY/uoD>個人レベルなら本当にこれだけど、チームでやってるときにそれやられると死ぬ
全くその通りだよな。
俺はグローバル変数使いまくりのベターCプログラミングでゲーム数本作ってるけど、”プログラミングできる”という箔が全く付かない。
だって一人で、しかも小規模なゲームしか作れないから、他に応用ができん。
0349名前は開発中のものです。
2013/10/09(水) 11:41:28.47ID:DCwXNpaaCチックだとしても機能ごとに構造体くらい使おう
0350名前は開発中のものです。
2013/10/09(水) 11:44:12.15ID:ONTF7nFn0351名前は開発中のものです。
2013/10/09(水) 11:48:30.84ID:688aoXIv0352名前は開発中のものです。
2013/10/09(水) 12:01:17.37ID:vmXjWz4J0353名前は開発中のものです。
2013/10/09(水) 12:24:14.08ID:Qp6WgDlkグローバル変数の使用はあまりおすすめしませんね
(おすすめしないだけで使ってはいけないルールはないが)
C言語ゲーム開発の章
http://c-games.main.jp/
ここでC言語及びC++のゲームプログラミング解説サイトを運営している者です
よかったら参考にしてみてください
0354名前は開発中のものです。
2013/10/09(水) 12:32:08.06ID:TDiILPQMSE再生する関数に、自キャラからSE発生した場所の距離を取得して音量変えればいいのかな
0355名前は開発中のものです。
2013/10/09(水) 12:36:24.84ID:IFQ9aDF8N88-BASIC(+ハンドアセンブル)あがりとしては、その心意気は買うけどさ
心情的には理解できなくもないけどさ
>ゲームなんかmain関数一本のグローバル変数使いまくりでも何の問題もない
ネタにマジレスすまんが、それは可能だけど、何の問題もないというのは
痩せ我慢しすぎだよな。構造化の恩恵くらいは素直に享受していいのよ・・・
かつてのN88-BASIC使いにとっては、構造体、関数、ローカル変数、とかは
垂涎ものの新要素で、TrueBasicの構造化プログラミングの世界は極楽だった
構造化プログラミング機能が齎す恩恵は、OOP機能のそれに比べれば癖がなく
万人に手放しでオススメできるかと
0356名前は開発中のものです。
2013/10/09(水) 12:45:33.56ID:i/IGCw7ukazukiェ…
0357名前は開発中のものです。
2013/10/09(水) 14:21:49.49ID:IFQ9aDF8X3DAudioは相対位置情報による簡易な3D音響やってくれるよ。
Windows以外ならOpenAL-Soft+ALUREあたりかな。同じような機能
そこらの有名どころの3Dゲームエンジンの類もみんなこういう機能を
サポートしてるから、昨今ではそっちの使い方の情報のほうが多いん
じゃないかな
0358名前は開発中のものです。
2013/10/09(水) 14:26:55.31ID:dWkCs9KThttp://ja.wikipedia.org/wiki/DirectSound
より引用
>誤解されやすいが、DirectSound 3Dの3D音源は、エコー、リバーブ等の環境音を模倣するエフェクトと、
>リスナーの位置と音源(モノラル)の位置関係を簡易に計算するライブラリが主体である。
>やっていることは、旧来、ステレオPCM音源のパンとボリュームを自前で調整することで、
>擬似的に音源の位置(音像)を表現していたが、これをライブラリとして吸収しただけである。
>したがって、実際の空気中を伝播する音の物理そのものを、シミュレートして計算しているわけではなく、
>遮蔽や反射などは考慮されていない。
らしいから、基本的な考え方はそれでOKっぽい
0359名前は開発中のものです。
2013/10/09(水) 19:23:49.39ID:zbVDi/wn>>358
横レスだけど
考えたことも無かったけどすげぇちょっとやってみたくなったわ
0360名前は開発中のものです。
2013/10/09(水) 19:44:59.71ID:JeIpUTuAC++は多重継承できるから多少は誤魔化しは効くけど
IDEによるバックアップ(委譲のメソッドを自動でコーディングしてくれるとか)か、
Rubyのmixin的な言語仕様がないとコード書くのもめんどいめんどい。
ただ既存のライブラリ使う分には、CのままよりもC++のオブジェクト指向で
ラップしてくれてる方が使いやすいよね、SDLは疲れた
0361名前は開発中のものです。
2013/10/09(水) 20:25:05.46ID:688aoXIv多重継承云々でちょっと引っ掛かった。
もしもそれが純粋仮想(ようするにインタフェース)を念頭に置いた話なら良いんだが、
そうでない場合、個人的には密結より粗結を中心に考えたいよなと思った。コンポジッションが設計の主体って言うか。
当たり前な話なので、もしも前者の意図だったらスルーよろしく、
0362名前は開発中のものです。
2013/10/09(水) 21:02:48.13ID:JeIpUTuAんにゃ、ご指摘の通り。差分プログラミング目的だから後者のつもりだったよ
全てのクラスにおいて、インターフェースとその実現クラスに分けてるなら、
多重継承よりも、インターフェースの多重実装と包含→委譲の方がスマートだと思うけど
IDEでサポートされてないとその委譲のコーディングすらめんどいって言いたかった
0363名前は開発中のものです。
2013/10/09(水) 21:19:46.43ID:688aoXIvあぁごめんそういう事か。設計観点じゃなくて、コーディング時の作業か。
インテリセンス(コードアシスト)で候補出てくれない件。そういう事なら確かに。
0364名前は開発中のものです。
2013/10/09(水) 21:22:40.26ID:688aoXIv風邪引いて熱でふらふらしてるわ俺いま
0365名前は開発中のものです。
2013/10/09(水) 21:38:37.22ID:JeIpUTuAいや、俺の方が未熟でごめんなさい
実装のコーディングがめんどくさくなるようであれば
設計の失敗みたいに思ってました
0366名前は開発中のものです。
2013/10/09(水) 23:06:39.48ID:zbVDi/wnsendtoって何バイトまで送信できるんですか
サーバー側で送信するときに114バイトは送信できて、115バイト以上は送信しないんです
でもクライアント側だと255バイトを送信できてるんです
ただ、送信してるかどうかの確認を受信できてるかどうかで見てるだけなんでもしかしたら受信側がおかしい可能性も否定できません
どうなんでしょうか?
0367名前は開発中のものです。
2013/10/10(木) 00:00:01.89ID:f3Vh5Ks+0368名前は開発中のものです。
2013/10/10(木) 16:47:47.10ID:qSZJbcGZ0369名前は開発中のものです。
2013/10/10(木) 22:09:25.49ID:JQlRWjR0それがもし本当に間違いなく起きてるなら、かなり環境(経路)依存の話なのかな
エラーハンドリングの結果を貼ってみては。こういうやり取りを参考にしてさ
http://stackoverflow.com/questions/11809727/sendto-returns-values-greater-than-mtu-on-sock-dgram-udp-socket
0370名前は開発中のものです。
2013/10/10(木) 22:11:15.13ID:XFDkBfXEサイズはstring型変数.size()で指定してます
すいませんが解決しました
送信の回数を減らすと普通にサイズがでかくてもできていたので大量に送信すると送信量を受信しきる前に内部的にバッファオーバーフローか何かで受信ができなかったのだと思います。
0371名前は開発中のものです。
2013/10/10(木) 22:12:09.28ID:XFDkBfXEありがとうございます
0372名前は開発中のものです。
2013/10/11(金) 00:39:57.34ID:+9JMgRHwありがとそんな便利そうなものが…
0373名前は開発中のものです。
2013/10/11(金) 12:22:49.72ID:q9N4a2GEmain() {
DWORD time;
for(int i=0; i<10000000; i++) {
timeBeginPeriod(1);
time = timeGetTime();
timeEndPeriod(1);
printf("%d\n" time);
}
}
このコードでは15ms位の精度になってしまいます、ただ、timeEndPriod(1)を使わない場合は1ms精度で取れます
この2つ(時間の取得を合わせたら3つ)はセットで使うべきだと思っていたのですが、そうではないのでしょうか
0374名前は開発中のものです。
2013/10/11(金) 12:35:27.83ID:q9N4a2GEint main() {
DWORD start, end;
timeBeginPeriod(1);
start = timeGetTime();
for(int i=0; i<1000000000; i++) {
end = timeGetTime();
if(start < end) {
printf("%d回目 %d\n", i, start);
start = end;
}
}
timeEndPeriod(1)
}
こうした場合最初に2回(397575回目 2800264、865774回目 2800279、877500回目 2800295)が15msの精度で変わるのですが、何故かわかりますか
0375名前は開発中のものです。
2013/10/11(金) 12:40:11.45ID:9U+dIMTQ0376名前は開発中のものです。
2013/10/11(金) 13:38:53.06ID:PqVYCTa6そのままのソースで試しにやってみたけど、ちゃんと1ms精度でカウントしてるみたいよ
53877回目 73604548
99144回目 73604549
139853回目 73604550
環境は、Windows7x64、VS10、release build、最適化無効(/Od)
0377名前は開発中のものです。
2013/10/13(日) 10:17:50.56ID:6LVEM9O1現在は講座サイトに従って、
・更新の後に描画を行う
・更新が16ミリ秒内に終わらなかったら、そのフレームの描画をスキップして、即座に次フレームへ
・描画が16ミリ秒内に終わったら、16ミリ秒経過するまでsleepした後に次フレームへ
というメインループを組んでます
で、自分はこのやり方のことをてっきり「固定フレームレート」だとばかり思ってたんだけど
垂直同期に合わせるのではなく、sleepを入れて時間で調整するなら、言葉で説明するとしたら
「可変フレームレート」と説明したほうが正しいのでしょうか?
更に言えば描画をスキップするんで「フレームスキップ方式の可変フレームレート」でしょうか
0378名前は開発中のものです。
2013/10/13(日) 14:07:49.91ID:gZmH5HfH固定ってのは、更新タイミングが固定って意味だろう
16msという間隔で固定されてるんだから固定フレームレート
可変フレームレートってのは
http://web.archive.org/web/20100722081346/http://spitfire.client.jp/program/fps.html
ここでいうところのA宗のことを指す
0379名前は開発中のものです。
2013/10/13(日) 14:43:29.22ID:6LVEM9O1なるほど・・・拝見したところ、どうも考え方の前提の次元からしてズレてるようでした
俺の前提は、描画はオマケであって、例えフレームスキップされまくって10FPSしか出てないような状況でも、
キー入力は60FPSで受け付けてゲーム内を正しく更新することを目的としています。
つまり、フレームスキップが連続で起きているときは、それが解消されて次に画面が描画されるまでは
現在見えている画面とゲーム内のデータが食い違っているということが平然と起こります
参考サイトですと、いかに画面上の見た目とゲーム内の情報を同期するか、という話のようですね
0380名前は開発中のものです。
2013/10/13(日) 15:57:59.53ID:YUP9zYJg0381名前は開発中のものです。
2013/10/13(日) 19:19:38.49ID:X8of/PMe0382名前は開発中のものです。
2013/10/13(日) 19:47:44.35ID:jZYJu2f5常に60FPSを目指すのが固定フレームレート(上限が定められている)
(コンピュータの能力が足りない場合、20FPSや30FPSなどFPSが小さくなる場合がある。60FPSより大きくはならない)
常に全力でFPSを増やそうとするのが可変フレームレート(上限が定められていない)
(コンピュータの能力が高ければ高いほどFPSは大きくなる。高性能だと150FPS、低性能だと7FPSなど)
ここでいう固定や可変は描画フレームレートの事。内部フレームレートは関係ない。
固定や可変っていうのは上限が定められているかどうかの意味。
0383名前は開発中のものです。
2013/10/13(日) 20:16:06.80ID:6LVEM9O1みんなありがとうございます
根本的な潜入観があったみたいです
マルチスレッドというものを全く意識していませんでした
0384名前は開発中のものです。
2013/10/13(日) 20:23:02.86ID:LrrmUogo0385名前は開発中のものです。
2013/10/13(日) 20:28:08.87ID:YUP9zYJgVSYNCに同期してるならね
0386名前は開発中のものです。
2013/10/13(日) 20:58:38.68ID:LrrmUogoリフレッシュレートが60だとして描画処理が1秒に180回回ってるとしたら
画面に表示されないグラフィックの描画処理が無駄に走ってることになる
描画は別スレッドにしてVSYNC同期で問題ない
0387名前は開発中のものです。
2013/10/13(日) 21:12:00.51ID:YUP9zYJg0388名前は開発中のものです。
2013/10/13(日) 21:41:53.14ID:vCxPl4Ox0389名前は開発中のものです。
2013/10/13(日) 22:17:46.54ID:ZaPY3z080390名前は開発中のものです。
2013/10/13(日) 22:23:38.42ID:CojupSXd0391名前は開発中のものです。
2013/10/13(日) 22:56:03.24ID:sU9FZP/8そこの前提ぼやっとしたまま聞きかじりの単語だけで話して無いか?
0392名前は開発中のものです。
2013/10/13(日) 23:10:39.75ID:LrrmUogo0393名前は開発中のものです。
2013/10/14(月) 00:46:43.39ID:oyCSEsA5>>386の条件だと、非同期だと画面VSYNC中だろうと反映されるので、1/3ずつ重なって描画しているが、
同期の場合はVSYNCを待つので最大1/60秒遅れる。
0394名前は開発中のものです。
2013/10/14(月) 02:18:15.78ID:FmafERBv0395名前は開発中のものです。
2013/10/14(月) 09:52:13.67ID:8QY3sUz10396名前は開発中のものです。
2013/10/14(月) 10:01:17.72ID:S89Kd2Q2csvでスクリプト言語っぽい事をしてもいい
0397名前は開発中のものです。
2013/10/14(月) 10:13:56.59ID:Dsm1aRHIテキストのリソースは基本的に外出しでないかい?
まぁ作りやすい方でどうぞ
0398名前は開発中のものです。
2013/10/14(月) 12:11:32.12ID:S89Kd2Q20399名前は開発中のものです。
2013/10/14(月) 13:28:32.89ID:HeDXOIcS機能が少ないのが難点だけど
0400名前は開発中のものです。
2013/10/14(月) 16:11:37.68ID:+kTCTzldピーチ姫を救出して"Thank you,Mario!"って言うくらいなら
ソースにべた書きでもいいし。
アクションRPGとかになると外部ファイルが普通になるかな?
0401名前は開発中のものです。
2013/10/14(月) 16:27:54.27ID:XeHXaNThソースに組み込むとしてもテキストが主のファイルに分離するだろ
他人が作業に介入するなら完全にソースと切り離した方が良い
0402名前は開発中のものです。
2013/10/14(月) 16:29:41.18ID:oyCSEsA5シナリオ担当から「ここ変更してー」っての毎回聞いてるとめんどくさくてかなわん。
そいつらが変更できる形式だと、そんなん自分でやっといてやーって言える。
0403名前は開発中のものです。
2013/10/14(月) 16:37:13.37ID:PCej0/9E0404名前は開発中のものです。
2013/10/14(月) 16:51:29.46ID:vMfc4V6eスクリプトチックな仕様は必須だと思うわ
制御文字は固定の仕様として決めておいて
置換文字はcsvで自由に登録できるようにしておくといいかもね
0405名前は開発中のものです。
2013/10/14(月) 17:00:43.81ID:plLnv93X1/60秒じゃないぞ、スレッド分けてるならトリプルバッファのはず
最大3フレーム+vista以降なら遅延バッファの影響で、さらに8フレーム
0406名前は開発中のものです。
2013/10/14(月) 17:09:18.22ID:8QY3sUz1所でどうやって実装すればいいか悩んでたんです。
スクリプトでやってみようと思ってluaを入れたけど、ビルドエラーがなかなか解決
できなかったから、別の方法でしてみようと思って。まだ文字コードでつまづいたからとか
そこまで行き着けていませんでした。一人で全部担当です。
0407名前は開発中のものです。
2013/10/14(月) 17:40:23.21ID:XSFqpZZf0408名前は開発中のものです。
2013/10/14(月) 17:45:24.43ID:3HOEa5kHうそつけ!
0409名前は開発中のものです。
2013/10/14(月) 17:59:13.13ID:dGeDTpNi8なんて中途半端な数どっからでてきたの
vista以降の遅延は3で設定で0にできるんじゃ?
0410名前は開発中のものです。
2013/10/14(月) 18:01:36.06ID:vMfc4V6eてかlua使いこなそうと思ったらエンジン以外は全部luaで作った方がいいってレベルになるだろうし
0411名前は開発中のものです。
2013/10/14(月) 18:28:53.56ID:3HOEa5kHソースも無いし誰も説明してくれない
それはディスプレイドライバの設定の問題ではないのか?
トリプルバッファリングでも表示されるまでの時間は最大16msだろ
それは間違いない
0412名前は開発中のものです。
2013/10/14(月) 19:08:11.61ID:S89Kd2Q2文字コード 読み込み テキスト C++でぐぐっとけば良いかと
0413名前は開発中のものです。
2013/10/14(月) 19:45:35.78ID:S89Kd2Q2#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int _tmain(int argc, _TCHAR* argv[])
{
if(argc != 2)return 0;
FILE * fp;
if( _tfopen_s( &fp, argv[1], _T("r") ) != 0 )
return 0;
char buf[32767];
_TCHAR buf2[32767];
if( fgets(buf,32767,fp) == NULL )
return false;
size_t size = strlen(buf);
if( size > 1 ){
if( buf[ size - 1 ] == '\n')
buf[ size - 1 ] = 0;
}
int len = MultiByteToWideChar( CP_THREAD_ACP,0,buf,32767,buf2,32767 );
MessageBox(NULL,buf2,_T(""),MB_OK);
fclose( fp );
return 0;
}
0414名前は開発中のものです。
2013/10/14(月) 19:51:31.44ID:oyCSEsA5トリプルバッファで1フレームキャッシュするから+1だが、最大3フレームじゃないだろ。
Aeroの3フレーム遅延とごっちゃになってないか?
>>411
ここが詳しい
ttp://www.ouma.jp/ootake/delay-win7vista-j.html
0415名前は開発中のものです。
2013/10/14(月) 20:13:23.82ID:S89Kd2Q2実行ファイルにテキストファイルをドラッグ&ドロップすれば動く
0416名前は開発中のものです。
2013/10/14(月) 20:22:24.31ID:jxwmi6Hiそのページに書いてあることって根拠のない迷信だよね
0417名前は開発中のものです。
2013/10/14(月) 20:23:31.08ID:3HOEa5kHいや…
3フレームまで遅延おkってMSが言ったのならソースが何処か知りたいが見つからないんだもの
0418名前は開発中のものです。
2013/10/14(月) 20:39:33.29ID:3HOEa5kHでもこれMSに責任ないでしょ
先読みレンダリングはサードパーティのツールで無効に出来るって書いてある所もある
0419名前は開発中のものです。
2013/10/14(月) 20:55:35.70ID:xCUMszQmリフレッシュレート以上の回数描画処理を走らせるメリットなんかあるのか
むしろティアリング発生するデメリットしかないじゃん
描画処理でなく内部の計算処理をリフレッシュレートを超えて走らすのはメリットあるかもしれんが
0420名前は開発中のものです。
2013/10/14(月) 20:56:39.75ID:oyCSEsA5迷信じゃないはず。
だいぶ昔なので詳細は忘れたが、同期フリップしても一瞬でもどってくるのでおかしいと思って調べたことがある。
そしたらバッファがいっぱいになるまで待ってくれないことが判明。
DRM切ったら正常になったけど、クレームが来たwww
ドライバで3を0にできるとか当時わからんかったので、その辺は詳しくない。
0421名前は開発中のものです。
2013/10/14(月) 22:45:49.83ID:3HOEa5kH●垂直同期を使った時
画面の書き換えが終わるまで待つので処理は最小でも16ms間隔になり遅延は最大16msになる
→待っている時間が無駄に思えるが遅延は少なくティアリングは発生しない
●垂直同期を使わなかった時
ドライバの設定した値を上限に先読みレンダーが行われるが
0にすれば遅延無し
→CPU、GPUをフルに使えるし、DWMなしかつ先読み0なら遅延無し(DWM有効時はそれでも最大16ms遅延?)無論DWMなしではティアリングする
0422名前は開発中のものです。
2013/10/14(月) 22:54:15.60ID:3HOEa5kH画面が書き換わるまで処理をブロックする通常の垂直同期はそんなに問題ないと思う
画面を書き換えている間に処理を行う方法もあるようだな
次のフレームの処理まで行ったら遅延するかもしれないが、これはプログラマーが決められるから問題ないだろう
0423名前は開発中のものです。
2013/10/14(月) 23:17:16.15ID:3HOEa5kHソフトウェア側で垂直同期を実装した時もドライバ側がもう画面書き換え終わったって嘘付いたら処理が16ms間隔じゃなくなるけどそんな事する?
0424名前は開発中のものです。
2013/10/14(月) 23:24:53.43ID:oyCSEsA5ttp://kultur2.blog.fc2.com/blog-entry-913.html
0425名前は開発中のものです。
2013/10/15(火) 00:06:21.68ID:xZaV/k5A垂直同期のサンプルコードちょうだいよ
0426名前は開発中のものです。
2013/10/15(火) 12:06:29.46ID:eNYxuu1N0427名前は開発中のものです。
2013/10/15(火) 12:24:18.14ID:hzCTJnfX例えば1秒間に60回処理を更新するゲームで120fps出しても、(処理によるけど)同じ画面が2回描画されるわけだろ?
0428名前は開発中のものです。
2013/10/15(火) 15:06:51.59ID:1QrNksxQ実験したって奴ですらどうやったの?って聞くといなくなる
自分でやらなくてもどっかの有名なサイトとかで実証してそうなもんだが
まあいいけど
DirectxX11.2のLow-latency APIも画面の更新の話じゃなくインプットの話だよね
0429名前は開発中のものです。
2013/10/15(火) 15:15:53.99ID:vyqpf8iGでいいと思うけどなw
0430名前は開発中のものです。
2013/10/15(火) 15:20:20.59ID:11TSa3Ygそんなずっと張り付いてられるかよw
昔のことなのでソース出せと言われてももうないし、やるなら新規に作らんといかんわ。
当時パフォーマンスカウンタとDwmGetCompositionTimingInfoなぞを使って組んだのしか覚えてない。
だいたい、こりゃだめだと思ってもうプログラム側でどうにかするのあきらめたし。
0431名前は開発中のものです。
2013/10/15(火) 15:28:04.76ID:vyqpf8iGhttp://www.4gamer.net/games/126/G012689/20130705055/
これか??
なんかよさげだけど8.1しか使えないじゃないのこれw
0432名前は開発中のものです。
2013/10/15(火) 15:32:57.08ID:11TSa3Ygやるなら内部処理は当然60以上じゃないと。
あと、最近は120Hzのリフレッシュレートを持ったディスプレイがあるからね。
欲しいがいかんせん金がないw
0433名前は開発中のものです。
2013/10/15(火) 16:46:38.17ID:1CMGJaICというかこれがベストな解でこれ以外ありえないと思うんだけど
0434名前は開発中のものです。
2013/10/15(火) 17:01:51.50ID:9FpDK6sK0435名前は開発中のものです。
2013/10/15(火) 18:18:29.63ID:r2Ud4Hn1http://shikihuiku.wordpress.com/2012/06/12/DirectXにおける描画フレームの遅延について
設定で最少1フレームまでは出来るみたいだけどあるのは間違えないのかな
0436名前は開発中のものです。
2013/10/15(火) 19:29:40.24ID:r2Ud4Hn1>>431のMSのサンプルが今までの状態だと46ms遅れてるらしいから
IDXGIDevice1::SetMaximumFrameLatencyの設定は同じ?って事かな
でそのLow-latency presentation APIなるものを使う事によってこれを16msまで
縮めることができますよって事かな???
■ このスレッドは過去ログ倉庫に格納されています