DXライブラリ 総合スレッド その17
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2013/11/07(木) 12:40:45.76ID:qXzfRGmE「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
【公式】
http://homepage2.nifty.com/natupaji/DxLib/
【関連スレ】
C/C++ゲーム製作総合スレッド Part4
http://toro.2ch.net/test/read.cgi/gamedev/1376262450/
ゲームプログラムなら俺に聞け29(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1381578085/
●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1370015791/
0375名前は開発中のものです。
2013/12/12(木) 15:09:02.21ID:19880CjL0376名前は開発中のものです。
2013/12/12(木) 15:14:16.02ID:7S87fbU10377名前は開発中のものです。
2013/12/12(木) 15:42:43.94ID:qxafXCV70378名前は開発中のものです。
2013/12/12(木) 15:43:17.48ID:8KqFEAbV>>375
あるいは画像を毎フレーム表示することで
メモリに積み重なっていくように思ってるか、そんなところか。
0379名前は開発中のものです。
2013/12/12(木) 15:44:14.18ID:nVXQxLWWアップロードしてみ
0380名前は開発中のものです。
2013/12/12(木) 16:49:58.47ID:no4EqIs0ソース?実行ファイル?
0381名前は開発中のものです。
2013/12/12(木) 16:56:50.80ID:tq9PW97E両方、ソースを見せたくなければ、実行ファイルだけでも良いが
とにかく、具体的でなければ、皆は助言のコメントできない
0382名前は開発中のものです。
2013/12/12(木) 17:09:38.49ID:no4EqIs0http://www1.axfc.net/u/3113582.zip?key=dxlib
実行ファイルだけ
http://www1.axfc.net/u/3113591.zip?key=dxlib
今FF14プレイするようなデスクトップPCだからそんなに重いと感じなかったけど、
corei3のノートパソコンでやったらFPSが下がるわ下がるわで・・・
プロジェクトのファイル構成は
main.cppにエントリポイントがあり、そこでAdminクラスを継承したシーンクラスが、それぞれ画面を管理してます
問題になる部分はPlayAdminクラスで、PlayAdmin::Play()がゲーム本体のメインループを担当しています
最初は設計しっかりやったのですが、シングルトンとか使ってる上に
最近ちょっと急いで機能実装したのでスパゲッティになってると思います
0383名前は開発中のものです。
2013/12/12(木) 17:28:57.52ID:3Q4Y6Xv5Dxlibの文字描画ってコスト高いの?
1回描画とかだと何もないけど20越えた当たりからすごく重くなる
0384名前は開発中のものです。
2013/12/12(木) 18:38:28.92ID:LHOSBTMFですから、drawscreen的な背景表示関数をループ外で書く方法は
ありませんか?と問うてるのです。お願いします。
0385名前は開発中のものです。
2013/12/12(木) 18:40:35.77ID:LHOSBTMFですから、drawscreen的な背景表示関数をループ外で書く方法は
ありませんか?と問うてるのです。お願いします。
0386名前は開発中のものです。
2013/12/12(木) 18:42:49.04ID:qmVZLHGYつまり莫大なメモリを積んでいるから背景を全部一括でメモリに持ってみたいという話ではないのか
0387名前は開発中のものです。
2013/12/12(木) 18:47:31.71ID:/PrCIZjb0388名前は開発中のものです。
2013/12/12(木) 18:49:55.88ID:19880CjLフォント重いからねえ
レンダリングは外で済ましとくほうがいいよ
0389名前は開発中のものです。
2013/12/12(木) 18:50:08.22ID:LHOSBTMF何故ダメなのか聞いてるなら、その理由を言ってほしい
0390名前は開発中のものです。
2013/12/12(木) 18:54:25.74ID:19880CjL背景をバッファに転送してフリップってやってる?
0391名前は開発中のものです。
2013/12/12(木) 19:02:26.09ID:i9yHPU+Fそのあたりを自覚して質問時は丁寧な文章を書くことを心がければいいのに
解決のために最善の努力を行うべき立場の人間が
「半端ない」なんてぼかし言葉使うようじゃ社会じゃ誰も相手にしてくれないよ
0392名前は開発中のものです。
2013/12/12(木) 19:13:45.21ID:jPdshx4Aプロファイルかけてやろうと思ったがないから辞めた
0393名前は開発中のものです。
2013/12/12(木) 19:18:00.53ID:LHOSBTMF背景の画像をループごとにメモリに読み込んでいたら
膨大な量になるじゃん?ってことだよ
後俺高3だからタメ口でいいよな?趣味で作ってるわけだし
0394名前は開発中のものです。
2013/12/12(木) 19:23:18.30ID:OpLvR7oYループにはいる前に読み込むんだぜ
0395名前は開発中のものです。
2013/12/12(木) 19:27:54.19ID:dAEln+roソースコードをアップロードしろ。
あなたの専門用語が未熟だから、情報不足で回答することが出来ない。
0396名前は開発中のものです。
2013/12/12(木) 19:39:34.26ID:geC8VsuH背景云々の人とアップしたのは別人か
俄然読む気が上がったが画像類ってバラけてても気にならんのかね
0397名前は開発中のものです。
2013/12/12(木) 19:40:57.02ID:LHOSBTMFそのやり方を教えろ
>>395
だからループ内の最後にdrawscreen(test.jpg)って言ってるだろ
0398名前は開発中のものです。
2013/12/12(木) 19:48:00.66ID:7S87fbU1何故駄目なのかってのは、つまりコンピュータで動くアプリケーション、特にウィンドウ表示されるようなGUIのあるOSでのそれは、
どうやって見た目を更新して表示してるかとか、せめてその辺の基礎知識が無いと話にならないんだよ。
そしてその辺理解してるなら、そんなとんちんかんな問いが出るはず無いので、
みんな困ってるって事。
簡単に言えば、メインループの外で描画とかデタラメもいいとこって話。
で、さらになんでそんな重いのかってのは、そもそも考え方からおかしな作りしてるんだろう、って事。
0399名前は開発中のものです。
2013/12/12(木) 19:50:34.11ID:7S87fbU1やり方も何も、普通は画像ファイルをメモリにロードして、それをDIBとかで持っておいて、ループの中で必要に応じてDrawなりBitbltするだけだよ。
0400名前は開発中のものです。
2013/12/12(木) 19:50:57.16ID:LHOSBTMF背景は見た目更新する必要ないでしょう?
一緒なんだから
デタラメとかじゃなくて俺に分かるように説明しろ
そっちは慣れてるから知ってるかもしれないがこっちはまだ2年目だから
0401名前は開発中のものです。
2013/12/12(木) 19:51:54.65ID:dAEln+ro0402名前は開発中のものです。
2013/12/12(木) 19:53:00.27ID:LHOSBTMFコードで頼むわ
正し10行以内
300×300の真っ白の画像を常に表示するプログラム書いてくれ
0403名前は開発中のものです。
2013/12/12(木) 19:58:27.78ID:7S87fbU1なんで2年目のお前が命令口調で教えろとか言うんだバカタレ。
2chのレス程度の狭い文字数で、なんで見ず知らずの赤の他人のお前にこっちが苦労して丁寧に隅々まで話してやらなきゃいけないんだよ。
基礎すら自学自習も出来ないいい加減な怠け者にゃ無理だよ。向いてないからとっとと辞めろ。
…って言われないように、ここでも見て勉強して理解しろ。
http://wisdom.sakura.ne.jp/system/winapi/win32/index.html
キリが無いから。
0404名前は開発中のものです。
2013/12/12(木) 19:59:47.55ID:dAEln+ro1.キー入力の基本
キー入力の基本的なプログラムです。
キャラクターのグラフィックをキー入力で上下左右に
移動できるというものです。
このコードが、画像を読み込んで表示するコード
0405名前は開発中のものです。
2013/12/12(木) 19:59:48.61ID:LHOSBTMF言葉使い気を付けたほうがいいよ
そのURLは参考にするが…
でもwin32apiじゃん、俺はDXライブラリに興味があるのであって
他ライブラリは興味ないんだよ
0406名前は開発中のものです。
2013/12/12(木) 20:01:38.04ID:LHOSBTMFこのDrawGraphってのだよ
これ外に書けないの?
ループの中で毎回ドローしてていいの?
ドローってさ一回だけでしょ
0407名前は開発中のものです。
2013/12/12(木) 20:04:53.18ID:7S87fbU1言葉遣いに気を付けろってのはお前が言われなきゃいけない台詞だ馬鹿者。
そしてwin32はただのライブラリじゃなくて全ての大本だから、ぐだぐだ言わすにやれ。
せめて全部読んで意味を理解しろ。そこが話の本筋だ。
windows上で動いてるものは、DXライブラリだろうとなんだろうと、もっと言えばDirectXですらこいつが基幹として関わるんだよ。
普通のライブラリじゃないの。
0408名前は開発中のものです。
2013/12/12(木) 20:05:17.49ID:MI8wbavX0409名前は開発中のものです。
2013/12/12(木) 20:07:23.28ID:7S87fbU1少なくとも初期化が出来ないと意味を成さない。
ループの外で描画しても消える。
0410名前は開発中のものです。
2013/12/12(木) 20:10:56.11ID:LHOSBTMF何で消す必要あるの?消してまたドローするって
二度手間じゃない?というかループの回数が1万回なら
1万手間じゃないの?
0411名前は開発中のものです。
2013/12/12(木) 20:13:38.63ID:7S87fbU1だーかーらーそこのレベルで何で何で言うくらいなら、>>403 の先のリンク見ろっての。
普通は自分で考えて探して理解してくもんなのに、わざわざ貼ってもらったんだからとっとと見ろ。
特に描画関係の所を。
0412名前は開発中のものです。
2013/12/12(木) 20:16:59.84ID:dAEln+ro0413名前は開発中のものです。
2013/12/12(木) 20:17:04.39ID:7S87fbU10414名前は開発中のものです。
2013/12/12(木) 20:20:04.73ID:dAEln+ro画面の一部を書き直すよりも、画面全部を消して全部を書き直した方が高速なので、リフレッシュする。
0415名前は開発中のものです。
2013/12/12(木) 20:21:53.94ID:qmVZLHGY0416名前は開発中のものです。
2013/12/12(木) 20:24:02.17ID:LHOSBTMFどうしてるわけ?本当にループとか謎なんだけど
0417名前は開発中のものです。
2013/12/12(木) 20:27:25.40ID:lR7ihhA+0418名前は開発中のものです。
2013/12/12(木) 20:29:22.83ID:qmVZLHGYお前さんがそうやって無駄な文字を書きたくる毎に
サーバーさんもPCさんもブラウザさんも数百万回の仕事してるよ
0419名前は開発中のものです。
2013/12/12(木) 20:33:39.35ID:LHOSBTMF画面の0.01%書き直すのと全部書き直すのじゃ1万倍時間の差があるじゃん
書き直さないなら無限倍時間が早くなるでしょう?
0420名前は開発中のものです。
2013/12/12(木) 20:43:41.57ID:RlWBUAnj書き直さない処理って背景以外何があるの
背景ですら消す関数なんて呼ぶの面倒なのに
>>382
プレイしたけど体感ぬるぬるでもCPU微妙に使ってるね 原因は普通に重いだけなんじゃね
ただ勢いつけると画面外にマウス飛び出るのは何とかしてほしい
デスクトップに余計な操作してしまった
0421名前は開発中のものです。
2013/12/12(木) 20:45:01.63ID:+c5IX73N二度手間だけど大丈夫。
モニタのリフレッシュレートが60の場合、秒間60回しか画像を書き換えない。
画像の100枚やそこら表示したところで1/60秒もかからないから、一回の書き換え時間内で完了できる作業なら2度手間でも200度手間でも時間的には一緒。
そして、今のPCの処理速度はものすごい速いらしく、コンテナにたくさん要素を入れて1フレームで何度も検索するとかしなければそう簡単にはフレーム落ちしない。
細かいこと気にしてないで、とっとと先に進んだ方がいい。
どうしてもそのやり方がいやなら、DXライブラリから離れることになるんじゃないかな。
私はほかのやり方見たことない。
0422名前は開発中のものです。
2013/12/12(木) 20:45:27.82ID:LHOSBTMF0423名前は開発中のものです。
2013/12/12(木) 20:49:00.65ID:JY9igZBd実行ファイルを試してみました。
3D対応グラボーで、40〜60fps,稀に30fpsになる。
極端に遅いわけではないけど、3D未対応のノートパソコンでは辛いかもしれません。
0424名前は開発中のものです。
2013/12/12(木) 20:49:22.35ID:LHOSBTMF動作遅くなりまくりますか?
横100万画素
縦80万画素
どうなる?
0425名前は開発中のものです。
2013/12/12(木) 21:03:01.30ID:E6McHG3DガチPCの1時間放置ALT7桁でもFPS59.8以上安定してる
0426名前は開発中のものです。
2013/12/12(木) 21:03:33.97ID:cj/iHaaF0427名前は開発中のものです。
2013/12/12(木) 21:05:08.34ID:jPdshx4A毎度毎度、お前らやさしいな。
0428名前は開発中のものです。
2013/12/12(木) 22:05:03.39ID:8KqFEAbV3Gバイト近くある画像とか、現在のコンピュータ環境では厳しいそうだな
>>427
成長するとああなるのかもしれんが、流石に別人じゃろw
0429名前は開発中のものです。
2013/12/12(木) 22:34:57.31ID:ggJV+65h次にその人物を違うポーズに変更しようとしますよね?
でももう背景に上書きしちゃってるので、背景から描き直さなくてはいけませんよね?
コンピューターの描画はこれの繰り返しです。
ファミコンとかのゲーム専用機には「スプライト」という、アニメでいうセル画がみたいなのがあって
描画負荷を軽くする工夫がされてましたが、今どきのPCの性能ならそんなのなくても充分なのです。
(重ねあわせる画像をスプライトと呼ぶのはその名残)
0430名前は開発中のものです。
2013/12/12(木) 22:37:44.67ID:ggJV+65h毎回画像データを読み込んでたらとんでもない負荷になりますよね?
だから予め画像データをメモリ上に読み込んでおいて、
「描く」だけを何度も繰り返すのです。
0431名前は開発中のものです。
2013/12/12(木) 22:50:21.06ID:OWkqxLZc0432名前は開発中のものです。
2013/12/13(金) 00:12:21.14ID:6ySiQFYU0433名前は開発中のものです。
2013/12/13(金) 01:05:27.08ID:xT5S28jkシングルスレッドでcpu1コアでやってるのですが、
結局の所、3dゲームとしては妥当な負荷量なのでしょうか?
あとソースコードはvs2010です、すいません。
レビューしてくれるといってくれたひとが数人だったのでダウンロード制限5回までにしてました
亀になりますが、詳しくレビューしてくれる方がいらっしゃるならまた上げます
0434名前は開発中のものです。
2013/12/13(金) 09:14:50.31ID:xKAhw+iZそもそもOSはそうやって必要な部分だけ消して上書きしたりしてるんだよ。
http://msdn.microsoft.com/ja-jp/library/cc410421.aspx
>>403 のリンク先にも登場する基本。
そしてそれはそれとして、アプリ側の都合でそれじゃ問題ある場合に、自分のクライアント領域をダブルバッファリングで上書き繰り返しするんだよ。
0435名前は開発中のものです。
2013/12/13(金) 09:25:50.16ID:35O7WwTq0436名前は開発中のものです。
2013/12/13(金) 10:43:24.72ID:xT5S28jkhttp://www1.axfc.net/u/3113582.zip?key=dxlib
実行ファイルだけ
http://www1.axfc.net/u/3113591.zip?key=dxlib
今FF14プレイするようなデスクトップPCだからそんなに重いと感じなかったけど、
corei3のノートパソコンでやったらFPSが下がるわ下がるわで・・・
プロジェクトのファイル構成は
main.cppにエントリポイントがあり、そこでAdminクラスを継承したシーンクラスが、それぞれ画面を管理してます
問題になる部分はPlayAdminクラスで、PlayAdmin::Play()がゲーム本体のメインループを担当しています
最初は設計しっかりやったのですが、シングルトンとか使ってる上に
最近ちょっと急いで機能実装したのでスパゲッティになってると思います
0437名前は開発中のものです。
2013/12/13(金) 10:44:57.60ID:xT5S28jk0438名前は開発中のものです。
2013/12/13(金) 11:16:36.72ID:YLoJHcec0439名前は開発中のものです。
2013/12/13(金) 11:20:34.64ID:E0ngYd2p0440名前は開発中のものです。
2013/12/13(金) 15:41:14.11ID:+hkdtW8O0441名前は開発中のものです。
2013/12/13(金) 15:50:38.09ID:brnqlIDgハイスペPCだからか負荷全く感じないし
無駄に描画とか計算とかしてるかライブラリの仕様かどっちか
Dxlibの3Dのコストがどんなもんなのかも知らんし
0442名前は開発中のものです。
2013/12/13(金) 17:10:13.51ID:1/aq5Qrb起動して自機を見ただけだけど、
オンボード(グラボなしのノートPC)で余裕で動いたぞ
敵の大群とか弾があったらどうなるかしらん。
重くなったら解像度と奥行きを抑えればどうにかなるだろ。
0443名前は開発中のものです。
2013/12/13(金) 17:14:24.97ID:1/aq5Qrb0444名前は開発中のものです。
2013/12/13(金) 18:32:09.08ID:2p8CNYEs描画する要素が多くなるから
ってことなら、描画してるのは天球とか機体だけだからそんなに負荷変わらないような
0445名前は開発中のものです。
2013/12/13(金) 23:24:33.39ID:QRPVBqXN0446名前は開発中のものです。
2013/12/14(土) 00:37:13.03ID:++viSzPIアプリの内容は知らないけど、シューティングだと思うので書いた。
水平線の遥か彼方に飛んでいったミサイルとかは描画しない、
あるいはそうならないように弾丸は5秒で消えるとかアプリの仕様を工夫するのは
基本でしょ。
もちろん全て今後の追加内容次第の話だけどね。
0447名前は開発中のものです。
2013/12/15(日) 12:19:47.40ID:9ljCa3Kz0448名前は開発中のものです。
2013/12/15(日) 13:45:09.93ID:Hz+1xI4L0449名前は開発中のものです。
2013/12/15(日) 14:05:34.02ID:1GmHMFtI0450名前は開発中のものです。
2013/12/15(日) 16:02:10.70ID:9ljCa3Kz>レビューしてくれるといってくれたひとが数人だったのでダウンロード制限5回までにしてました
同じ奴が5回落としてたら違うだろうけどw
0451名前は開発中のものです。
2013/12/16(月) 18:33:42.92ID:K1sB0mkGcorei3 380/4GBじゃきつい?
0452名前は開発中のものです。
2013/12/16(月) 20:59:35.21ID:bve3ecQvシステムメモリ : 4GB
余裕だったぞ
0453名前は開発中のものです。
2013/12/17(火) 08:27:14.77ID:l+XOoEU80454名前は開発中のものです。
2013/12/21(土) 23:08:36.29ID:Yi4v4ieN圧縮不要なくらい色数が少ない画像ならBMPを使う方が断然良いってことでしょうか?
ちなみに16色以下の4ビットBMPで保存した場合で比較してみたところ
画像によってはPNGよりもファイルサイズが小さくなることもありました
0455名前は開発中のものです。
2013/12/21(土) 23:12:07.18ID:Z2trQXsX0456名前は開発中のものです。
2013/12/21(土) 23:22:11.86ID:JXrxEU1J0457名前は開発中のものです。
2013/12/21(土) 23:38:55.19ID:Yi4v4ieNキチッと色を調整して16色以下に抑えれば
bmpでもpngの時とさほどファイルサイズは変わらないようです
ということは配布する時の「ファイルサイズを小さくできる」といったpngのメリットは消えて
ゲーム実行時の「展開処理を必要とする分だけ処理が遅くなる」というデメリットだけになるのでは?ってことです
実のところどうなんでしょうか?
0458名前は開発中のものです。
2013/12/21(土) 23:52:38.60ID:JXrxEU1Jそんなに容量きりつめなくてはいけないほど大量の画像使ってるの?
いやぁ俺の場合音楽データばっか大きくて、画像データなんてそれに比べれば微々たるものだからさ……。
0459名前は開発中のものです。
2013/12/22(日) 00:36:46.08ID:VxmegpWF.jpgもありますが、画質劣化するので使いません。透明もありません。
DirectXでは、.DDSが一番良い。 画質劣化、透明、速度に関して
0460名前は開発中のものです。
2013/12/22(日) 11:48:10.15ID:aPRmSWB9・ファイルフォーマットってのはHDDやなんかのストレージに収めておくときのファイル形式で、
展開が云々ってのは、それをロードする時の話。
・ロードする処理と、描画する処理はプログラム的に全く別物。
この辺の入門レベルの切り分けを踏まえた上で考え直して。
0461名前は開発中のものです。
2013/12/22(日) 11:51:24.34ID:aPRmSWB9基本pngでいい。bmpでも構わない時だけbmpでも、いい。
20数年前の16bitマシンでも使ってるなら悩んだ方がいいが。
0462名前は開発中のものです。
2013/12/22(日) 22:11:32.46ID:CXw2CLht0463名前は開発中のものです。
2013/12/22(日) 22:16:20.61ID:h1ulpp9F2ビットに減らして4色にしたとかいうならVRAMの節約にもなるだろうけど……
0464名前は開発中のものです。
2013/12/22(日) 22:21:00.64ID:bhg3zs8jシェーダー内で使うならパレット形式でも使えるだろうけど処理が無駄すぎる
配布サイズなら7zでbmpのが圧縮される可能性あるけど
展開後のサイズのが気になるからpngのほうが良いかと
0465名前は開発中のものです。
2013/12/23(月) 02:10:02.27ID:UXb3wWt0それはpngやbmpみたいなファイル形式の話じゃなくて、こっち↓の話。
http://msdn.microsoft.com/ja-jp/library/ee415202(v=vs.85).aspx
ごっちゃにしちゃいかんよ
0466名前は開発中のものです。
2013/12/24(火) 17:47:14.48ID:Akz3xHfB0467名前は開発中のものです。
2013/12/25(水) 10:48:52.64ID:CUbWJvC80468名前は開発中のものです。
2013/12/25(水) 10:54:53.86ID:itMCNQc1これでFOVをセットできます。視野角です。
参考までに、35mmカメラ換算として
14mm 114度 魚眼
28mm 75度 広角
50mm 47度 標準レンズ
300mm 8度 望遠
0469名前は開発中のものです。
2013/12/25(水) 11:18:20.73ID:Z3xFHWMlペイントソフトで出来るような変化をさせる関数GraphFilterがあるから
レンズ越しの変形っぽくする関数があっても不思議じゃないなーと思って
0470名前は開発中のものです。
2013/12/26(木) 00:22:20.27ID:xyR7W7tqDXライブラリでゲーム作るときこれらのファイルは不要ですか?
かっこつけたいから作ってみたいっていう単純な理由ですけど
あえて作る必要ないですか?exeファイルとjpgファイルだけじゃ
簡素だなーって思われるのが嫌なんですよ。
0471名前は開発中のものです。
2013/12/26(木) 00:31:48.63ID:xyR7W7tq文字を出力し、hellowolrdと打ち間違えたら「2文字間違えました!」って
指摘するゲームです。このゲームでconfファイルを作りたいです。
技術者のみなさん知恵を貸してください。
0472名前は開発中のものです。
2013/12/26(木) 00:32:21.87ID:PC8hDA8aだから変更されていい内容なら使えばいい
0473名前は開発中のものです。
2013/12/26(木) 00:33:09.14ID:PC8hDA8a技術もないのに小手先でカッコつけようとすんな
0474名前は開発中のものです。
2013/12/26(木) 00:42:30.01ID:xyR7W7tqフォルダにconfという拡張子があれば俺はそれで構わない、何も望まない
0475名前は開発中のものです。
2013/12/26(木) 00:43:38.47ID:PC8hDA8a■ このスレッドは過去ログ倉庫に格納されています