なぜVBは扱いが低いのか (200レス)
なぜVBは扱いが低いのか http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: 名前は開発中のものです。 [] 2010/09/14(火) 02:49:56 ID:czSliofv よく考えてみよう http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/1
120: 名前は開発中のものです。 [sage] 2011/10/26(水) 09:12:49.92 ID:0wozqNev >>119 今は何をお使いなのかと思ったら、 Wolf RPG Editor DX ライブラリ という方でした。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/120
121: 名前は開発中のものです。 [sage] 2011/10/30(日) 16:11:24.37 ID:mR1bDoIt ちょっと凝ったことやろうとするとAPIのインポートがずらずら並ぶ C#あたりも一緒だが http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/121
122: 名前は開発中のものです。 [sage] 2011/10/31(月) 15:09:09.55 ID:dz81qw9O C/C++はメモリー管理がめんどくせぇ http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/122
123: 名前は開発中のものです。 [] 2011/10/31(月) 20:35:23.69 ID:MjLCgU69 自分はむしろ ガベージコレクタ がめんどくせぇ だから昔のVBが好き。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/123
124: 名前は開発中のものです。 [] 2011/11/13(日) 09:47:31.07 ID:56YK8MVv はっぴぃしゅーたーの作者様 >>19 >>39 再UP可能でしたら、ぜひお願いします。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/124
125: 名前は開発中のものです。 [] 2011/11/15(火) 21:16:20.63 ID:8VEP4EAY ども はっぴぃしゅーたーの作者です。 VBでゲーム作りたい人、自分以外は絶滅したかと思ったよ。 たぶん、VB6は使っていないだろうから、>>39の方をUPしました。 しばらく放置してたから自分で知らん内にコードを書き換えてしまったかも しれませんので上手くいかなかったらごめんなさい。 ttp://homepage1.nifty.com/shifu2/DL/STG_Sample.zip 私、個人の活動状況は、VB2010でマルチスレッド用のエンジンを作成し、マルチコア環境では そこそこの性能が出ることがわかった後、シミュレーションゲームの作成にかかったのですが、 思いのほか、自分の絵が下手であることを悟り、これをお蔵入りにしました。 (音楽は全部完成しているので、いつか製作を再開したいと思っている。) その後、、今度はアセンブラで別のエンジンを開発。これはVBから呼び出し可能なDLLで、 現在は、ツールをVB6に戻して、お試し用に、上記とは別の簡単なシミュレーションゲームを製作中です。 さすがにVBでアセンブラの開発はできないので、ここはVC++の力を借りてます。 SSE2が機能するエンジンを使えばVBでも、今まで以上のパフォーマンスが出せる…ハズ ちなみに、VC6ではSSE2までの開発しかできない。VC2010ならそれ以上の拡張命令も使えるが、 Windows2000のユーザーを見捨てる事になるので、今回はSSE2までにしました。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/125
126: 124 [] 2011/11/17(木) 06:03:04.81 ID:cDMQkA4K >>125 ありがとうございます。いただきました。 使っているのはまさかのVB6.0です。(笑) ゲームを作り続けていたわけではなく、数年ぶりの出戻りです。 自己流で作っていたのでグラフィックの移動等で挫折していました。 再度VBで挑戦するか、VC#をいちから勉強しなおすかという状況です。 自分としては慣れ親しんだVBで作りたいのが本音なので、「ここまで出来る」という目標にさせていただきたいです。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/126
127: 名前は開発中のものです。 [sage] 2011/11/17(木) 09:07:33.11 ID:9rUQQGpG VB6 VBA これだけで5年はやってきたがそろそろ他の言語をやろうと思う なるべく汎用性のあるのがいい 何が良いでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/127
128: 名前は開発中のものです。 [] 2011/11/17(木) 14:26:23.23 ID:O8xvwYN+ 技術面でのスキルアップを目指すなら、VC++2010。 難し過ぎるようなら、Java。 将来、VC++へのステップアップが必要なら、VC#2010。 ちょっとカッコつけたいなら、Ruby。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/128
129: 名前は開発中のものです。 [sage] 2011/11/17(木) 22:18:24.68 ID:N1aBX/cw VC++2010ってC++のこと? そこら辺よくわからないんだよな http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/129
130: 名前は開発中のものです。 [sage] 2011/11/17(木) 22:21:22.78 ID:3dgfYvUL C++にMicrosoftのライブラリやエディタで重武装したのがVC++。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/130
131: 名前は開発中のものです。 [sage] 2011/11/18(金) 14:59:32.49 ID:zuUI93Rz よしVC++やってみます http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/131
132: 名前は開発中のものです。 [] 2011/11/18(金) 16:41:51.36 ID:ZDgA2khg >>131 VC++は難しいからね。気合入れてかかった方がいいよ。 経験者はムズいのわかってるから、くじけても責めないよ。がんばって!! http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/132
133: 名前は開発中のものです。 [sage] 2011/11/21(月) 03:00:47.72 ID:4deP4Lis VC++が面倒なら、Delphiがオススメ。同等のことが出来て 速度も実数計算を多用しなければほとんど同等 そもそも今の性能なら、3Dの剛体100個の物理計算とかをやらない限りはボトルネックにならないし 言語仕様がC++よりすっきりしててオススメ でも、まともにDelphiが書けるレベルならC++もC#もRubyもぐぐりながら書ける http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/133
134: 名前は開発中のものです。 [] 2012/05/11(金) 22:11:17.62 ID:kieoG+OA CompJapan事件 http://ja.wikipedia.org/wiki/CompJapan http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/134
135: 名前は開発中のものです。 [] 2012/05/11(金) 22:13:04.63 ID:kieoG+OA 高卒なのにIDが慶応!しかもOA! http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/135
136: 名前は開発中のものです。 [sage] 2013/01/14(月) 11:26:17.44 ID:/QHVluNg そういやVisual J# って言語はどうなったの? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/136
137: 名前は開発中のものです。 [] 2013/01/25(金) 23:08:54.93 ID:qyysk8iw J#は無かった事にされてるな あと、VBは.netになってから色々と機能が拡張されて 重ささえ気にしなければC#と同等の事が出来るようになった http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/137
138: 名前は開発中のものです。 [sage] 2013/01/25(金) 23:27:51.17 ID:qyysk8iw っつ〜か、仕事でVB6を使ったんだがVB2010のほうが簡単だった タダで使えるから未だにVB6を使ってるなら乗り換えたほうが賢明かと http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/138
139: 名前は開発中のものです。 [] 2013/01/29(火) 13:09:02.23 ID:fF0fMRN2 >>138 VB2010はvatptr関数とかないのよ。 APIがポインタを要求してきたときに、VB6のありがたみが嫌というほどわかる。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/139
140: 名前は開発中のものです。 [] 2013/01/29(火) 13:20:39.02 ID:fF0fMRN2 おっとスペル間違えた。 VarPtr関数です。VB2010だとガベージコレクタがらみで、ややこしい処理 になるのよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/140
141: 名前は開発中のものです。 [] 2013/01/29(火) 13:53:27.75 ID:fF0fMRN2 ちなみに文字列のポインタをAPIに渡そうと思うとVB2010の場合こんなふうになったまった。 Dim Str As String = "AAAA" Dim L As Integer Dim C() As Char Dim B() As Byte Dim G As GCHandle Dim Ptr As IntPtr C = Str.ToCharArray() B = System.Text.Encoding.GetEncoding("Shift_JIS").GetBytes(C) L = UBound(B) + 1 'サイズを指定する必要がある場合に使う G = GCHandle.Alloc(B, GCHandleType.Pinned) Ptr = G.AddrOfPinnedObject().ToInt32() http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/141
142: 名前は開発中のものです。 [] 2013/01/29(火) 14:05:52.11 ID:fF0fMRN2 ポインタ使い終わったら G.Free でガベージコレクタを開放します。 面倒だわVB2010。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/142
143: 名前は開発中のものです。 [sage] 2013/01/29(火) 21:31:41.37 ID:z3bnl1cO C#とVBの速度は基本的に同じ。(C#でポインタ使ってる部位を除く) 初心者にVBのどの辺が優しいのだのかが疑問だ。 VB Dim i As Integer = 0; C#, Java, C++ int i = 0; http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/143
144: 名前は開発中のものです。 [sage] 2013/01/30(水) 07:43:13.65 ID:TcumX8ss VBは後ろに;を付けなくて良い点とインテリセンスが強力な点が初心者向けなんだよ。 まあ、複数行に渡る命令を書く場合や、メモリー使ったりする場合には面倒だが。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/144
145: 名前は開発中のものです。 [sage] 2013/01/30(水) 07:55:35.07 ID:TcumX8ss まあ、VBでメモリー使う場合は配列使うけどな 動的メモリーはVBでは使わん あと、VBはExcelとかと連係する場合に楽だな http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/145
146: 名前は開発中のものです。 [] 2013/01/30(水) 13:13:47.38 ID:ES7+KnHm 思うんだが、VBやVC#のガベージコレクタって、そんなにパフォーマンスに 影響するもんなの? メインメモリを効率良く再配置してくれるといっても、コード組む側からしたら、 ポインタを使うとき、データを勝手に移動されないように、いちいちロックしないと いけないので、面倒極まりないんですけど。 もしかしたら、メモリの開放忘れてメモリリークさせるバグが多かったので、 それを防止する為につけたのかもしれないけど…。 Vistaのせいかな?あのころ、メモリ不足でパフォーマンスが落ちるPCが多かったからな。 でも .net って Vista より先じゃなかったっけ? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/146
147: 名前は開発中のものです。 [sage] 2013/01/30(水) 15:29:37.03 ID:cZuhgiqX 何言ってんだこいつ。日本語が不自由な上に統合失調症の傾向がある。 ロックするとか意味不明だし、プログラム向いてないから病院いっとけ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/147
148: 名前は開発中のものです。 [] 2013/01/30(水) 21:44:46.30 ID:ES7+KnHm >>147 >>141の下から2行目が、ガベージコレクタをロックしているコードなんだけど、 意味不明なのかい? 君にヒトを素人扱いできる程に技量があるとは、とても思えんが…。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/148
149: 名前は開発中のものです。 [] 2013/01/30(水) 22:19:16.82 ID:ES7+KnHm ロックについては、このページを見ておくといいだろ http://dobon.net/vb/dotnet/vb6/objptr.html ヒトを病人扱いする前に用語のひとつもググってみれば? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/149
150: 名前は開発中のものです。 [sage] 2013/01/30(水) 23:34:20.46 ID:cZuhgiqX C#とかVBでわざわざポインタを使うのはdllとの繋ぎ目くらいだろ。 (JavaのJNIも同様) 繋ぎ目を隔離したラッパークラスを通さずに直接ネイティブを呼べば面倒なのは当たり前。 いたるところでガベージコレクションをロックするかのようなことを書いて、 GCが邪魔だと呟いているのは実に意味不明だ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/150
151: 名前は開発中のものです。 [] 2013/01/31(木) 08:48:10.87 ID:wVU/jdLo cZuhgiqX どうやらロックの意味は理解できたようだな。ひとつ勉強になっただろ。 では逆に問う。君はGCの利点として何か実感できるものがあるのか? GCのある言語とそうでない言語で同じ動作をするプログラムを組んだとして、 あきらかにGCの優位性を感じる場面に遭遇できるのはどのようなケースだ? ちなみに自分はVB5からのユーザーだが、APIは当たり前のように使っている。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/151
152: 名前は開発中のものです。 [sage] 2013/01/31(木) 12:02:16.21 ID:NyoQQhH7 直接ネイティブを呼びまくること自体が低脳のすることだといってるのに ロックの意味もわかってないからあちこちでロックしまくってるわけだろ。 普通の人はそんなことしないので、ロックするといわれてもわかりません。 DLL、SQLとかVBの外にあるものは隔離して VBのみで完結しているように設計を作るのは基本。 >APIは当たり前のように使っている。 Win32のことか?DirectXラッパぐらい作ってから言えよw >GCの利点として何か実感できるもの スマートポインタ(参照カウンタ)を使うようなケース。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/152
153: 名前は開発中のものです。 [] 2013/01/31(木) 12:36:26.25 ID:wVU/jdLo DirectXライブラリならDX7ベースのものを作った。ところで、その口ぶりなら当然 自分もそのぐらいは作ったんだろうな。CPUで演算したデータをバック・スクリーン サーフェスに転送する場合、ロックもかけず、APIも使わず、どーやーって 転送しているんだ?おしえてくれよ。 スマートポインタ使うと、アプリの速度が上がるとでも言いたいのか? 俺が聞いたのはコーディングの話じゃない。実行上の有利性だ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/153
154: 名前は開発中のものです。 [sage] 2013/01/31(木) 15:29:50.68 ID:NyoQQhH7 >いちいちロックしないと いけないので、面倒極まりないんですけど。 >俺が聞いたのはコーディングの話じゃない。アプリの速度だ。 生産性の話をしていたのに、突然実行速度の話に変わったな。 GCは主に生産性の向上を目的として導入されているのに、おかしな話だ。 まあGCが得意なパターンにマッチすれば速くもなる。 C++でRAIIだと重いdelete()が集中しがちだが、 GCだと実際に解放するのを後回しにして、 負荷が軽い頃合に並列GCが少しずつ解放してくれたりする。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/154
155: 名前は開発中のものです。 [sage] 2013/01/31(木) 15:34:54.20 ID:NyoQQhH7 >DirectXライブラリならDX7ベースのものを作った。 ならライブラリを使っている限り、アプリケーション層ではAPI(dll)を呼ぶ必要はなく、 従ってロックなどしないはずだ。そうでなければライブラリに存在意義がない。 ライブラリを作ったような妄想に浸っていただけだったというオチだな。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/155
156: 名前は開発中のものです。 [] 2013/01/31(木) 16:10:41.97 ID:wVU/jdLo 馬鹿だなあ、ライブラリ自体をVBで作ったんだ。 バックサーフェスのLockメソッドを実行して、引数の構造体からポインタを 取得し、APIの movememory を使って転送する。 ちなみにDX9のフレームバッファに直接書き込む場合は、メソッドがあるので APIは使わないようだが、ロックはしなければならない。 おまえさんのライブラリではどーやってんのかなあ?答えてないぞ。 なにしろ>>152で「DirectXラッパぐらい」って言ってんだから、「ぐらい」なんだろ。 簡単にできそうじゃねーか?当然作ってあるんだろ 強がっても本当はDirectXライブラリなんて作った事ないんだろ。まあ昨日までロックを 知らなかったんだから無理も無い。 そのくせ態度だけはでかいんだよな。ヒトを低脳よばわりとかして… GCが効果を出すのはごく限られた状況だけ、ほとんどは余計なプロセスが動くだけで STGなんかを作る人からは嫌われている。 GCがメモリをいじくりまわしても、無造作にメモリ使いまくるコード組んでりゃいつかは 足りなくなってスワップするし、ようはスワップがちょっと遅れて来るぐらいの効果しか期待できない。 とりあえず自分で「ぐらい」と言った「DXライブラリ」作ってみそ。そしたら少しは認めてやるわ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/156
157: 名前は開発中のものです。 [sage] 2013/01/31(木) 17:50:35.50 ID:NyoQQhH7 俺はお前の先生じゃないからな。 初心者に1から10まで教えたりはしない。 あと話がコロコロかわるわ、分散するわ、人の書いたことが理解できないわ、 そんなお前と話をしても漠然と広がるばかりで一向に収束しない。 理由は単純、ID:wVU/jdLoがなりふり構わず言い返したいだけだからだ。 何がしたいの?そんなにくやしかった? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/157
158: 名前は開発中のものです。 [] 2013/01/31(木) 18:37:22.22 ID:wVU/jdLo 「DXライブラリなら作ってある!!」と言い返せないんだな。 そして「ロックを使わずにピクセルデータをバックサーフェスに転送できる!!」とも言えないんだな くやしいのう。くやしいのう。 >俺はお前の先生じゃないからな。 >初心者に1から10まで教えたりはしない。 じゃあひとつだけでいいよ。 ロックを使わずにピクセルデータをCPUからバックサーフェスに転送できる方法 とやらを教えてくれ。 コードを表示してこっちで試して正しく動作したらオマエの勝ちでいい。 できなければオマエの負け。 オレはロック使わないと絶対にできないと思ってる初心者だから、先生よろしくたのむよ …しかしコイツ本当に一度でもDirectXのコード組んだことあんのかよ? APIも使ったことないんじゃねーの? どっちが初心者だよまったく…バカじゃねーの? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/158
159: 名前は開発中のものです。 [sage] 2013/01/31(木) 19:51:45.92 ID:NyoQQhH7 何言ってんだこいつ。日本語が不自由な上に統合失調症の傾向がある。 ロックするとか意味不明だし、プログラム向いてないから病院いっとけ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/159
160: 名前は開発中のものです。 [] 2013/01/31(木) 19:55:05.86 ID:PSRqcy7K VB使いって・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/160
161: 名前は開発中のものです。 [sage] 2013/01/31(木) 20:05:52.91 ID:NyoQQhH7 >ライブラリ自体をVBで作ったんだ。 こんな事書いてる辞典でお前がライブラリなんか作れないことは自明のこと。 一個一個ロックしてコールバック呼ぶ間抜けな姿が目に浮かぶわw DirectXで頂点バッファとかVRAM転送に関するロックと マネージコード(VB, C#, Java)のGCに関するロックは全く違う話だってのもわからないだろ? 初心者が強がったところでまたひとつ恥をかいてるよ。バカじゃねーの? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/161
162: 名前は開発中のものです。 [sage] 2013/01/31(木) 20:14:38.35 ID:NyoQQhH7 >オマエの勝ちでいい。 そうだな。俺の完全勝利ってこと。 普通にロックなんて誰もしないものw おかしな知ったかぶりでGCを批判するぐらいなら 全部C++で書けばいんじゃないの? ロックせずにコールバック呼べるよ〜?w http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/162
163: 名前は開発中のものです。 [sage] 2013/01/31(木) 20:24:02.19 ID:NyoQQhH7 そう、ID:wVU/jdLoは完全に負けたんだよ。 俺のC#ライブラリを使う限り、誰もGCロックなんてしないし、 SlimDXやMDX、XNAなど普通のライブラリやフレームワークはみ〜んなそう。 ついで抽象度を高めればDirectXのロックもライブラリ層で消せますな。 低脳ライブラリではコールバックの名前が変わっただけで隠蔽性も何もなく、 ロックしてまわるそうです。一体何のためのライブラリなのか謎ですな(苦笑) http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/163
164: 名前は開発中のものです。 [] 2013/01/31(木) 20:31:31.28 ID:wVU/jdLo オマエ…DirectX7を知らないのか…絶句…アホ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/164
165: 名前は開発中のものです。 [sage] 2013/01/31(木) 20:35:28.34 ID:NyoQQhH7 ネイティブコードに関する規模の大きいライブラリを作るなら、 dll(C)側とコネクタとなるマネージコード側の両方を書くのは必須。 これ知識というより普通は気付く。 低脳にも理解できたかな? ひとつ勉強になっただろ。 先生にありがとうございましたって、しっかり頭下げとけよw http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/165
166: 名前は開発中のものです。 [sage] 2013/01/31(木) 20:38:03.52 ID:NyoQQhH7 こっちはDX9のDirect3Dを前提に話をしているが、 DirectDrawでも話の芯は全く同じだ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/166
167: 名前は開発中のものです。 [] 2013/01/31(木) 20:42:24.50 ID:wVU/jdLo じゃあオフスクリーンサーフェスにピクセル配列を転送するコード を書いてみろ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/167
168: 名前は開発中のものです。 [] 2013/01/31(木) 20:45:12.55 ID:wVU/jdLo >>156でも書いたが、取得できるのはポインタだぞ。その後どうするつもりだ? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/168
169: 名前は開発中のものです。 [sage] 2013/01/31(木) 20:57:12.63 ID:NyoQQhH7 ハハハ、まだそんなこといってるのか。 DirectXなんて時間かかって面倒くさいだけで、 可能・不可能を論じれば誰でもできる簡単なことだからな。 完全勝利 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/169
170: 名前は開発中のものです。 [] 2013/01/31(木) 21:05:54.09 ID:wVU/jdLo アホすぎる…もういいよオマエは。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/170
171: 名前は開発中のものです。 [sage] 2013/01/31(木) 21:35:46.32 ID:NyoQQhH7 >オフスクリーンサーフェスにピクセル配列を転送するコード 言い回しが古すぎるね。 Direct3D9ではIDirectSurfaceを直接操作せず、IDirect3DTexture経由で事足りる。 以下、テクスチャを1ドット毎白く塗りつぶす例。 D3DLOCKED_RECT lockRect; pTexture->LockRect(0, &lockRect, NULL, D3DLOCK_DISCARD); for(int y=0; y<h; y++) { for(int x=0; x<w; x++){ DWORD color = 0x00ffffff; BYTE* p = (BYTE*)lockRect.pBits + lockRect.Pitch*y + 4*x memcpy(p, &color, sizeof(DWORD)); } } pTexture->UnlockRect(0); http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/171
172: 名前は開発中のものです。 [sage] 2013/01/31(木) 21:38:38.53 ID:NyoQQhH7 ライブラリを作るなら、例えば次のようにラップされ、 ライブラリユーザーは"ロックなど不可視"なはずだ。 virtual void FillTexture(int rgbColor) = 0; http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/172
173: 名前は開発中のものです。 [sage] 2013/01/31(木) 21:42:04.76 ID:NyoQQhH7 あっちゃ〜、こりゃまた完全勝利してもうたわぁ〜。 低脳にも理解できたかな? ひとつ勉強になっただろ。 先生にありがとうございましたって、しっかり頭下げとけよw http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/173
174: 名前は開発中のものです。 [sage] 2013/01/31(木) 21:56:06.17 ID:NyoQQhH7 ID:wVU/jdLoが顔真っ赤にして唇を噛み締め、悔し涙を流すのも無理はない。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/174
175: 名前は開発中のものです。 [] 2013/01/31(木) 22:00:58.85 ID:wVU/jdLo ではこちらはデータ転送部分だけだが、オレの書いたコードをあげよう void __stdcall s2sp15MoveMemory32SSE2( long ptrSrcZeroDTSC, long ptrDstZeroDTSC, long SrcWidth, long LinePlusByte,long StartTop, long WorkHeight ) // 同サイズでの32ビットカラーデータ転送。サイズは送り側 SrcWidth を、8の倍数にすること。 { __asm { mov ebx,LinePlusByte mov esi,ptrSrcZeroDTSC mov edi,ptrDstZeroDTSC mov eax,SrcWidth movd mm0,eax shl eax,2 // 32ビットなので4倍 mov ecx,StartTop mul ecx add esi,eax // ソース開始アドレス movd eax,mm0 shl eax,2 // 32ビットなので4倍 add eax,ebx // LinePlusByte mul ecx add edi,eax // デスティネーション開始アドレス movd eax,mm0 shr eax,2 // 4点ずつ処理する movd mm6,eax mov eax,WorkHeight add eax,ecx movd mm5,eax // エンドライン mov eax,ebx or eax,edi test eax,0xf jnz LL201 // アライメントNG http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/175
176: 名前は開発中のものです。 [] 2013/01/31(木) 22:01:39.38 ID:wVU/jdLo LL101: // アライメントOK movd eax,mm5 cmp eax, ecx je LL99 movd mm7,ecx movd ecx,mm6 LL102: dec ecx js LL120 movdqa xmm0,[esi] movntdq [edi],xmm0 add esi,16 add edi,16 jmp LL102 LL120: add edi,ebx // ダイレクトXでのライン加算 movd ecx,mm7 inc ecx jmp LL101 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/176
177: 名前は開発中のものです。 [] 2013/01/31(木) 22:02:19.43 ID:wVU/jdLo LL201: // アライメントNG movd eax,mm5 cmp eax, ecx je LL99 movd mm7,ecx movd ecx,mm6 LL202: dec ecx js LL220 movdqa xmm0,[esi] movdqu [edi],xmm0 add esi,16 add edi,16 jmp LL202 LL220: add edi,ebx // ダイレクトXでのライン加算 movd ecx,mm7 inc ecx jmp LL201 LL99: emms } return; } http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/177
178: 名前は開発中のものです。 [] 2013/01/31(木) 22:05:22.35 ID:wVU/jdLo movntdqは、ライト時にCPUキャッシュへの書き込みをキャンセルする命令だ。 書き込みを高速化できる。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/178
179: 名前は開発中のものです。 [] 2013/01/31(木) 22:07:42.35 ID:wVU/jdLo まあVBじゃないが、そっちもC#のコードだしな。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/179
180: 名前は開発中のものです。 [sage] 2013/01/31(木) 22:30:32.61 ID:NyoQQhH7 誰も聞いてないし、何の目的があってそんな糞を貼ったんだ? ところ構わず糞を垂れるのは痴呆なのだろう。病院逝っとけ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/180
181: 名前は開発中のものです。 [sage] 2013/01/31(木) 22:36:28.35 ID:QubZj7j9 スレタイの答えを具現化したようなやりとりだな。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/181
182: 名前は開発中のものです。 [sage] 2013/01/31(木) 22:42:47.61 ID:NyoQQhH7 >書き込みを高速化できる。(ドヤ やはり病人のようだな。相手し切れん。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/182
183: 名前は開発中のものです。 [sage] 2013/01/31(木) 22:50:09.71 ID:k0j/GaYd 貼っとくか アスペの特徴 ?勝ち負けに異常にこだわる (常に生と死や○か×かの極端な二択) ?性的なことで相手を罵倒するのが好き (性への異常な執着) ?相手を知的障害者や奇形児と罵倒する (生理的に苦痛などの一般的な感情の欠落) ?揚げ足 (自分では分析・考察ができないため周囲の言葉を借り「それはお前」とオウム返し) ?個人情報や姿・容姿への一方的な思い込み (「相手は○○であるから△△である」という決め付け) ?自分は常に被害者である (周囲が自分の意見を分かってくれないのは周囲が悪いという自己中心的な考え) ?粘着質 (少しでも気に入らない相手には徹底的な誹謗中傷を行う) ?感情的になると幼稚な言葉や短文での罵倒 (うんち、お漏らし、死ね、臭い等の言葉の連投) http://logsoku.com/thread/hayabusa.2ch.net/livejupiter/1280374335/ http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/183
184: 名前は開発中のものです。 [sage] 2013/01/31(木) 23:11:45.67 ID:de6zIt5h 使いたい言語使えよ http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/184
185: 名前は開発中のものです。 [sage] 2013/01/31(木) 23:37:58.05 ID:wc/pmLvR wVU/jdLoが問題にしてるのは、VB側で確保したヒープを、DLLなりに渡す方法じゃないのか? >>171のコメントってずれてないか? >>161のコメントって脱線してないか? >>157で言ってる話をころころ変えてるのって、どっちの方だ?! http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/185
186: 名前は開発中のものです。 [sage] 2013/02/01(金) 01:04:06.57 ID:5kKv/peJ >wVU/jdLoが問題にしてるのは、VB側で確保したヒープを、DLLなりに渡す方法じゃないのか? そうだよ。俺はDLLにヒープを渡す際に行うGCのロックについて回答した。 しかし回答に対してwVU/jdLo(>>153)が突然、 DirectXでサーフェスのVRAMをロックする仕方を教えてくれと言い出した。 以後、彼はGCとDirectX、2つの話を同じ話とした誤った前提をもとに得意面で執拗に追及しはじめる。 またwVU/jdLo(>>153)はGCのロックが面倒だという当初の題目(>>146)を覆し、 「俺が聞いたのはコーディングの話じゃない。実行上の有利性だ。(実行速度) 」 などと捏造する。 その後も謎の要求を繰り返す。 「オフスクリーンサーフェスにピクセル配列を転送するコードを書いてみろ。」 「コードを書いたらオマエの勝ちでいい。 できなければオマエの負け。」 しかたがないので、wVU/jdLoが繰り返し要求していたコードを書いた(>>171)。 何か意味や目的があるのかしらないが満足したらしく、 ID:wVU/jdLoは意味もなく >>175->>178 を張ったということだ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/186
187: 名前は開発中のものです。 [sage] 2013/02/01(金) 01:08:42.51 ID:5kKv/peJ 読解力のないお馬鹿さん友達なのはよくわかった。 だが俺のせいにされても困るな。頭のおかしい人が1人で暴れてて、 こっちは二転三転する話に付き合ってやっただけだから。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/187
188: 名前は開発中のものです。 [sage] 2013/02/01(金) 20:46:24.53 ID:WGADr03p 頭の中の藁人形に勝利宣言するのって気持ちいいのか?www http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/188
189: 名前は開発中のものです。 [sage] 2013/02/02(土) 01:35:13.67 ID:I6aYuYDa 久方ぶりに来てみたら、なにやら人が沢山いるな。VBそっちのけでw まあ、.netのガベコレに苦労してる人が多いのは分かった。 メモリー管理は初心者には相変わらずの鬼門だな。 でもさ、.netではAPIのかわりになるような命令がいっぱいあるから、 API呼び出す必要はほとんど無いような・・・ >>146 >Vistaのせいかな?あのころ、メモリ不足でパフォーマンスが落ちるPCが多かったからな。 >でも .net って Vista より先じゃなかったっけ? メモリーの断片化はもっと昔から問題になってたわけだが? とにかく動的メモリーを使いまくると正体不明でアプリが落ちるわ、 落ちた後でもOSが不安定になるわで動的メモリー管理は敷居が高かった。 まあ、断片化しないようにメモリーを使えば問題ないわけだが。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/189
190: 名前は開発中のものです。 [sage] 2013/02/02(土) 02:00:41.65 ID:I6aYuYDa そうそう昔は、動的メモリーを多用してるアプリケーションを平行して 何個も動かしていた場合にも、メモリーの断片化が発生していたな。 メモリーの虫食い現象と呼んだ方が分かりやすいかな?まあ詳しい話は フラグメンテーションでぐぐれ。こればっかしは、ガベコレを使わない限り、 メモリーを増やした所でアプリが落ちるのを延期するぐらいの意味しか無い。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/190
191: 名前は開発中のものです。 [sage] 2013/02/02(土) 02:22:28.17 ID:I6aYuYDa あと、初心者だとメモリー管理に関してはスワップファイルが 何とかしてくれると勘違いしているようだが、スワップファイルを ページングで何とかなる容量は32bitだと2Gバイトまでなんだよな。 64bitOSの場合だとHDDの許す限り何とかしてくれるんだろうけど。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/191
192: 名前は開発中のものです。 [sage] 2013/02/02(土) 03:03:59.67 ID:I6aYuYDa 64bitでも128Gまでだった・・・ http://technet.microsoft.com/ja-jp/windows/mark_03.aspx http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/192
193: 名前は開発中のものです。 [sage] 2013/02/02(土) 14:07:00.59 ID:w8UuMgVB 動的メモリの確保と解放は難しいのではなくミスを招く。 数をこなしてる上級者でも忘れたり、ちょっとしたポカをする。 だから上級者でもガベージコレクションはかなりありがたい。 .netやjvmのメモリコンパクションはあまり期待できない。 あとメモリリークではなく断片化でアプリ落ちるか? >>191は仮想メモリのアドレスサイズの話だろうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/193
194: 名前は開発中のものです。 [sage] 2013/02/02(土) 14:22:21.99 ID:PtZOYkce 断片化が最終段階に達すると、空領域があるのにもかかわらず、突然メモリーの取得や再取得に失敗するようになるんだよ。 あとはメモリー破壊へとまっしぐら。もしくは例外終了かな? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/194
195: 名前は開発中のものです。 [sage] 2013/02/02(土) 19:19:09.69 ID:I6aYuYDa >.netやjvmのメモリコンパクションはあまり期待できない。 これは初めて知った。んー、VBはメインで使う言語じゃないから気にしないでおくか。 >>>191は仮想メモリのアドレスサイズの話だろうか。 そうだよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/195
196: 名前は開発中のものです。 [] 2017/02/03(金) 02:11:51.37 ID:WWGfnxzw age http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/196
197: 名前は開発中のものです。 [] 2017/12/31(日) 20:44:42.67 ID:/rN76OKL 簡単にお金が稼げる方法興味ある人だけ見てください。 グーグル検索⇒『来島のモノノリウエ』 UD63T2V610 http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/197
198: 名前は開発中のものです。 [sage] 2018/10/06(土) 00:55:21.15 ID:TBUE3ojn VB今からやるの止めた方がいいですか? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/198
199: 名前は開発中のものです。 [sage] 2023/01/22(日) 09:41:31.48 ID:w5i/1OO5 ただ今制限って何? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/199
200: 名前は開発中のものです。 [sage] 2023/08/28(月) 21:44:48.14 ID:Agfk3gnt それって本当にできるの? http://mevius.5ch.net/test/read.cgi/gamedev/1284400196/200
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.010s