ドラゴンクエストクローンを作ろう (746レス)
1-

437
(1): 2006/07/15(土)09:08 ID:gt1duSp0(1) AAS
んなもん使わねーよ
438: 2006/07/15(土)09:26 ID:J160mIqM(4/10) AAS
>>437
実際はFlipやPresentの中で自動的に垂直同期を待ってからフリップ
されるのでWaitForVerticalBlankやGetScanLineを使う機会は無い
かもしれませんが、要はDIBに垂直同期を待ってからスクリーンに
画像を転送すき仕組みがあるかどうかです。
無い場合はテアリングが発生してしまうのでスクロール処理がある
2Dのゲームには向いていないということになります。
439
(1): 2006/07/15(土)09:27 ID:9Xtt4+04(1) AAS
ウィンドウで動くアプリで垂直同期は全く関係ないとおもったけど?

てーかフルスクリーンで動くDirectXだからこそ関係ある話。
440
(1): 2006/07/15(土)10:24 ID:J160mIqM(5/10) AAS
>>439
デスクトップが希望のリフレッシュレートになっていないと
見苦しいことになりますが、一応ウインドウで動くアプリでも
垂直同期は関係あります。
試しに同期を取るアプリと取らないアプリをうpしましたので
お時間があれば試してみて下さい。
(画面のリフレッシュレートが60Hzだと違いが特に分かります)

外部リンク[zip]:gamdev.org

リフレッシュレートがゲームのFPSと合っていない場合は垂直同期
を取っても取らなくても見苦しくなりますが、最近はリフレッシュ
レートの設定項目数が少ない液晶モニタが普及しているので
ウインドウで動作させる場合も割と意味があると思います。
441: 2006/07/15(土)10:31 ID:J160mIqM(6/10) AAS
>>425
論点を >>431 で少しずらしてしまいましたが、テアリングを気に
しないのであれば >>430 の指摘通り >>427 の条件からDirectXは外れます。
誤ったレスをしてしまって申し訳ありません。
442
(1): 2006/07/15(土)12:10 ID:81t16XAC(3/4) AAS
>>440
上げてくれた同期取りをしない奴に、
自分で作った垂直同期とりの関数かなんかをいれると

上げてくれた同期取りをしている方のような動作に出来ます。

って俺はそうしてるんだが・・・。
443: 2006/07/15(土)12:29 ID:J160mIqM(7/10) AAS
>>442
>自分で作った垂直同期とりの関数かなんかをいれると

それはDirectXを使わない方法ですか?
もしDirectXを使わないで垂直同期をとっているのでしたら
是非その方法を教えていただけないでしょうか。
私もDIBで済むのならDIBにしたいので・・・
444
(1): 2006/07/15(土)16:41 ID:WwdAlzc2(1) AAS
内部の描画はDIBでやって
表示だけdirectdrawにすりゃええやん。
445
(1): 2006/07/15(土)17:06 ID:J160mIqM(8/10) AAS
>>444
>>425-428
この話題は

(質問)DQ1みたいなのDXライブラリ使わなくても作れるの?

(私)DXライブラリ関係なくDirectXが使えてその他条件が揃う言語ならどれでも作れる

(指摘)速度はDIBで十分、DirectX無くても大丈夫

という流れから始まったものなので、DirectDrawを使うと
なるとDirectXが必要となり、意味がありません。
446
(1): 2006/07/15(土)17:34 ID:MDeESeX3(1) AAS
>>445
所詮WINAPIはゲームには向かないって事。
いくら処理が早くても、ゲームを作るための物ではないですよ。

それを分かってるから、えらい人たちがDirectXとか作ったんでしょうし。

そうじゃなかったらDirectXなんてない。
問題は処理速度ではないって事ではないんでしょうか?
447: 2006/07/15(土)17:45 ID:J160mIqM(9/10) AAS
>>446
はい、速度についてはDQ1程度ならDIBでも問題ないという結論が出たので、
今はDIBで垂直同期信号(VSYNC)を待った画面出力が可能かどうかという話に
なっています。(違うかもしれませんが今の私の関心事はそれです)

私が知る限りではDirectX以外で垂直同期信号を待ったり、帰線消去期間中か
どうかを調べたりする方法は無かったと思うのですが、442の方が432,435
辺りでDirectXが無くても垂直同期を検知する手段がある、というような発言を
されているので、それについての詳細を私が求めて今ご返答を待っている状態です。
448
(1): 2006/07/15(土)20:55 ID:81t16XAC(4/4) AAS
垂直同期を検知できるんでなくて、
同期取りをしているかのような動作が出来ると言うことですな。

完全になくなるかどうかは俺にも分かりませんが、
上のサンプルのように毎回がたつきは出なくなります。
449
(2): 2006/07/15(土)21:18 ID:J160mIqM(10/10) AAS
>>448
がたつきがあるのは私の組んだプログラムのタイマー精度が原因です。orz
がたつきも非常に問題ですが、テアリング=がたつきではありません。

タイマーの精度を上げて、がたつかないようにしましたので、申し訳ありませんが
お時間のあるときにもう一度試してみて下さい。今度は Non_VSync.exe ではっきり
テアリング(前のフレームと今のフレームの画像が混ざってしまう現象)が
確認できると思います。(タイミングが合い、運良く確認できない場合もあります
ので、確認できない場合は2・3回再実行してみてください)

外部リンク[zip]:gamdev.org
450: 2006/07/16(日)00:49 ID:ovtqapnP(1/2) AAS
俺はノートPCで液晶だからVSYNCとか言われてもわからねぇ
451: 2006/07/16(日)00:56 ID:DFiXRGJs(1/3) AAS
液晶でもVSYNCはありますしテアリングも発生します。
452: 2006/07/16(日)01:00 ID:DFiXRGJs(2/3) AAS
正確にはCRTと同じ信号を処理している関係上の擬似的なもの
だと思いますが、少なくともソフト側から見れば液晶とCRTの
区別はありません。(し、CRTと同じ様にテアリングも発生します)
453
(1): 2006/07/16(日)01:04 ID:ovtqapnP(2/2) AAS
試してみたいんだけど、さっきアップしてくれたやつ
何も起こらず終了しちゃうんだよね。
Zバッファの作成に失敗しましたとかいうログが出てる。
3Dものなのだろうか?
454
(3): 2006/07/16(日)01:22 ID:DFiXRGJs(3/3) AAS
>>453
ソフトは2DですがDXライブラリがZバッファを作成しようとするようです。
Zバッファを作らない物をうpしました。

外部リンク[zip]:gamdev.org

場合によってはNon_VSync.exeでも最初全くテアリングが発生しないことが
ありますが、30秒〜1分ほど放っておくとその内テアリングが発生し始めます。
(画像が横にずれるような現象です)
455
(1): 2006/07/16(日)16:09 ID:eLVapp7P(1/3) AAS
>>449>>454

442らへんの人です。

そういうことだったんですな。
ならば仰るとおりテアリングがじわじわ発生します。

てっきりドラクエを作るんだとおもい、DIBすすめてみたんですが、
この程度でもテアリングが気になるようならば、dx使うと良いでしょう。

なんか変な流れになってしまったようで申し訳御座いません。

俺もDIBでテアリング観察ソフツ作ってみました。

外部リンク[zip]:gamdev.org
456: 2006/07/16(日)21:32 ID:HonGYrh5(1) AAS
うぜえ
457: [age] 2006/07/16(日)22:18 ID:GjLYai51(1) AAS
なんだと
458: 2006/07/16(日)22:46 ID:eLVapp7P(2/3) AAS
まあ、これを機にTDQみたいなドラクエベースのRPG作ってみるか。
459: 2006/07/16(日)22:54 ID:soNF5USm(1) AAS
>>455
曖昧なまま終わるのは嫌だったのでついしつこく反論し続けてしまいました。
テアリングが気になるかどうかの個人差は大きいと思います。
どんなにテアリングが酷くても言われるまで気付かない人も居ると思いますが、
私はこの程度でも気になる人間です。気になる方がおかしいとか、気にならない
方がおかしいとか、そんな優劣は無いので本来なら制作の勉強をしている内に
気付いて自然とそこに拘るかどうかが決まっていくものだと思うのですが、
一応 >>425 ではDQ1クローンを引き合いに出されたので拘ってみました。
何時無視されても良かったのに最後までお付き合い下さり有難うございます。
460
(1): 2006/07/16(日)23:47 ID:eLVapp7P(3/3) AAS
放置しとけば良いのを455で書き込んだのを少々気にしつつ
あなたのドラクエクローンを期待。

俺はあなたの性格が好きです。(関係無さ過ぎ)
461
(1): 2006/07/17(月)02:19 ID:5SPod6dZ(1) AAS
>>454
話し戻すようで悪いんだけど
VsyncとNot_Vsync両方とも発生します。
そもそもDirectDrawってウィンドウモードだと
Vsync待ち出来なかったような…。
462: 2006/07/17(月)02:34 ID:aNoha5y3(1/2) AAS
>>461
>>454 はソフト描画なので重いです。なのでメモリ→VRAMへの転送が間に合わないと
Vsync、Not_Vsyncどちらでも発生します。
>>449 は454より軽いので、お時間があればこちらでも試してみて下さい。

>そもそもDirectDrawってウィンドウモードだとVsync待ち出来なかったような…。
私の手元にあるDirectXのヘルプファイルと経験上からはそのような事実は
出てこないのですが・・・
どちらでそのことを知られたのでしょうか?
463: 2006/07/17(月)02:39 ID:aNoha5y3(2/2) AAS
>>460
どうも。でも、クローンは遊べないし(絵汚い音無い)ソースもDQ2しか作れない
ようなガチガチな決め打ちコード満載なので、正直私以外の方には全然利益が
無い物かもしれません。
464: 2006/07/20(木)02:28 ID:pOYClDBL(1) AAS
ウホッ
465: 2006/07/22(土)15:54 ID:9Kz76aUZ(1) AAS
OpenGLだ
466: 2006/07/22(土)22:00 ID:jsPnGBvD(1) AAS
休み時間に職場のパソコンでドラクエをやっている人がいたのですが、
これってどこかのサイトでダウンロードしているのでしょうか?
どうやったら自分の家のパソコンでドラクエができるのでしょうか、
方法を知っていたら教えて下さい。
1-
あと 280 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.026s