なぜVBは扱いが低いのか (200レス)
上下前次1-新
1: 2010/09/14(火)02:49 ID:czSliofv(1) AAS
よく考えてみよう
120: 2011/10/26(水)09:12 ID:0wozqNev(1) AAS
>>119
今は何をお使いなのかと思ったら、
Wolf RPG Editor
DX ライブラリ
という方でした。
121: 2011/10/30(日)16:11 ID:mR1bDoIt(1) AAS
ちょっと凝ったことやろうとするとAPIのインポートがずらずら並ぶ
C#あたりも一緒だが
122: 2011/10/31(月)15:09 ID:dz81qw9O(1) AAS
C/C++はメモリー管理がめんどくせぇ
123: 2011/10/31(月)20:35 ID:MjLCgU69(1) AAS
自分はむしろ ガベージコレクタ がめんどくせぇ
だから昔のVBが好き。
124(1): 2011/11/13(日)09:47 ID:56YK8MVv(1) AAS
はっぴぃしゅーたーの作者様
>>19 >>39 再UP可能でしたら、ぜひお願いします。
125(1): 2011/11/15(火)21:16 ID:8VEP4EAY(1) AAS
ども はっぴぃしゅーたーの作者です。
VBでゲーム作りたい人、自分以外は絶滅したかと思ったよ。
たぶん、VB6は使っていないだろうから、>>39の方をUPしました。
しばらく放置してたから自分で知らん内にコードを書き換えてしまったかも
しれませんので上手くいかなかったらごめんなさい。
外部リンク[zip]:homepage1.nifty.com
私、個人の活動状況は、VB2010でマルチスレッド用のエンジンを作成し、マルチコア環境では
省9
126: 124 2011/11/17(木)06:03 ID:cDMQkA4K(1) AAS
>>125 ありがとうございます。いただきました。
使っているのはまさかのVB6.0です。(笑)
ゲームを作り続けていたわけではなく、数年ぶりの出戻りです。
自己流で作っていたのでグラフィックの移動等で挫折していました。
再度VBで挑戦するか、VC#をいちから勉強しなおすかという状況です。
自分としては慣れ親しんだVBで作りたいのが本音なので、「ここまで出来る」という目標にさせていただきたいです。
127: 2011/11/17(木)09:07 ID:9rUQQGpG(1) AAS
VB6 VBA これだけで5年はやってきたがそろそろ他の言語をやろうと思う
なるべく汎用性のあるのがいい
何が良いでしょうか?
128: 2011/11/17(木)14:26 ID:O8xvwYN+(1) AAS
技術面でのスキルアップを目指すなら、VC++2010。
難し過ぎるようなら、Java。
将来、VC++へのステップアップが必要なら、VC#2010。
ちょっとカッコつけたいなら、Ruby。
129: 2011/11/17(木)22:18 ID:N1aBX/cw(1) AAS
VC++2010ってC++のこと?
そこら辺よくわからないんだよな
130: 2011/11/17(木)22:21 ID:3dgfYvUL(1) AAS
C++にMicrosoftのライブラリやエディタで重武装したのがVC++。
131(1): 2011/11/18(金)14:59 ID:zuUI93Rz(1) AAS
よしVC++やってみます
132: 2011/11/18(金)16:41 ID:ZDgA2khg(1) AAS
>>131
VC++は難しいからね。気合入れてかかった方がいいよ。
経験者はムズいのわかってるから、くじけても責めないよ。がんばって!!
133: 2011/11/21(月)03:00 ID:4deP4Lis(1) AAS
VC++が面倒なら、Delphiがオススメ。同等のことが出来て
速度も実数計算を多用しなければほとんど同等
そもそも今の性能なら、3Dの剛体100個の物理計算とかをやらない限りはボトルネックにならないし
言語仕様がC++よりすっきりしててオススメ
でも、まともにDelphiが書けるレベルならC++もC#もRubyもぐぐりながら書ける
134: 2012/05/11(金)22:11 ID:kieoG+OA(1/2) AAS
CompJapan事件
外部リンク:ja.wikipedia.org
135: 2012/05/11(金)22:13 ID:kieoG+OA(2/2) AAS
高卒なのにIDが慶応!しかもOA!
136: 2013/01/14(月)11:26 ID:/QHVluNg(1) AAS
そういやVisual J# って言語はどうなったの?
137: 2013/01/25(金)23:08 ID:qyysk8iw(1/2) AAS
J#は無かった事にされてるな
あと、VBは.netになってから色々と機能が拡張されて
重ささえ気にしなければC#と同等の事が出来るようになった
138(1): 2013/01/25(金)23:27 ID:qyysk8iw(2/2) AAS
っつ〜か、仕事でVB6を使ったんだがVB2010のほうが簡単だった
タダで使えるから未だにVB6を使ってるなら乗り換えたほうが賢明かと
139: 2013/01/29(火)13:09 ID:fF0fMRN2(1/4) AAS
>>138
VB2010はvatptr関数とかないのよ。
APIがポインタを要求してきたときに、VB6のありがたみが嫌というほどわかる。
140: 2013/01/29(火)13:20 ID:fF0fMRN2(2/4) AAS
おっとスペル間違えた。
VarPtr関数です。VB2010だとガベージコレクタがらみで、ややこしい処理
になるのよ。
141(1): 2013/01/29(火)13:53 ID:fF0fMRN2(3/4) AAS
ちなみに文字列のポインタを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
省5
142: 2013/01/29(火)14:05 ID:fF0fMRN2(4/4) AAS
ポインタ使い終わったら G.Free でガベージコレクタを開放します。
面倒だわVB2010。
143: 2013/01/29(火)21:31 ID:z3bnl1cO(1) AAS
C#とVBの速度は基本的に同じ。(C#でポインタ使ってる部位を除く)
初心者にVBのどの辺が優しいのだのかが疑問だ。
VB
Dim i As Integer = 0;
C#, Java, C++
int i = 0;
144: 2013/01/30(水)07:43 ID:TcumX8ss(1/2) AAS
VBは後ろに;を付けなくて良い点とインテリセンスが強力な点が初心者向けなんだよ。
まあ、複数行に渡る命令を書く場合や、メモリー使ったりする場合には面倒だが。
145: 2013/01/30(水)07:55 ID:TcumX8ss(2/2) AAS
まあ、VBでメモリー使う場合は配列使うけどな
動的メモリーはVBでは使わん
あと、VBはExcelとかと連係する場合に楽だな
146(2): 2013/01/30(水)13:13 ID:ES7+KnHm(1/3) AAS
思うんだが、VBやVC#のガベージコレクタって、そんなにパフォーマンスに
影響するもんなの?
メインメモリを効率良く再配置してくれるといっても、コード組む側からしたら、
ポインタを使うとき、データを勝手に移動されないように、いちいちロックしないと
いけないので、面倒極まりないんですけど。
もしかしたら、メモリの開放忘れてメモリリークさせるバグが多かったので、
それを防止する為につけたのかもしれないけど…。
省2
147(1): 2013/01/30(水)15:29 ID:cZuhgiqX(1/2) AAS
何言ってんだこいつ。日本語が不自由な上に統合失調症の傾向がある。
ロックするとか意味不明だし、プログラム向いてないから病院いっとけ。
148: 2013/01/30(水)21:44 ID:ES7+KnHm(2/3) AAS
>>147
>>141の下から2行目が、ガベージコレクタをロックしているコードなんだけど、
意味不明なのかい?
君にヒトを素人扱いできる程に技量があるとは、とても思えんが…。
149: 2013/01/30(水)22:19 ID:ES7+KnHm(3/3) AAS
ロックについては、このページを見ておくといいだろ
外部リンク[html]:dobon.net
ヒトを病人扱いする前に用語のひとつもググってみれば?
150: 2013/01/30(水)23:34 ID:cZuhgiqX(2/2) AAS
C#とかVBでわざわざポインタを使うのはdllとの繋ぎ目くらいだろ。
(JavaのJNIも同様)
繋ぎ目を隔離したラッパークラスを通さずに直接ネイティブを呼べば面倒なのは当たり前。
いたるところでガベージコレクションをロックするかのようなことを書いて、
GCが邪魔だと呟いているのは実に意味不明だ。
151: 2013/01/31(木)08:48 ID:wVU/jdLo(1/13) AAS
cZuhgiqX
どうやらロックの意味は理解できたようだな。ひとつ勉強になっただろ。
では逆に問う。君はGCの利点として何か実感できるものがあるのか?
GCのある言語とそうでない言語で同じ動作をするプログラムを組んだとして、
あきらかにGCの優位性を感じる場面に遭遇できるのはどのようなケースだ?
ちなみに自分はVB5からのユーザーだが、APIは当たり前のように使っている。
152(1): 2013/01/31(木)12:02 ID:NyoQQhH7(1/17) AAS
直接ネイティブを呼びまくること自体が低脳のすることだといってるのに
ロックの意味もわかってないからあちこちでロックしまくってるわけだろ。
普通の人はそんなことしないので、ロックするといわれてもわかりません。
DLL、SQLとかVBの外にあるものは隔離して
VBのみで完結しているように設計を作るのは基本。
>APIは当たり前のように使っている。
Win32のことか?DirectXラッパぐらい作ってから言えよw
省2
153(1): 2013/01/31(木)12:36 ID:wVU/jdLo(2/13) AAS
DirectXライブラリならDX7ベースのものを作った。ところで、その口ぶりなら当然
自分もそのぐらいは作ったんだろうな。CPUで演算したデータをバック・スクリーン
サーフェスに転送する場合、ロックもかけず、APIも使わず、どーやーって
転送しているんだ?おしえてくれよ。
スマートポインタ使うと、アプリの速度が上がるとでも言いたいのか?
俺が聞いたのはコーディングの話じゃない。実行上の有利性だ。
154: 2013/01/31(木)15:29 ID:NyoQQhH7(2/17) AAS
>いちいちロックしないと いけないので、面倒極まりないんですけど。
>俺が聞いたのはコーディングの話じゃない。アプリの速度だ。
生産性の話をしていたのに、突然実行速度の話に変わったな。
GCは主に生産性の向上を目的として導入されているのに、おかしな話だ。
まあGCが得意なパターンにマッチすれば速くもなる。
C++でRAIIだと重いdelete()が集中しがちだが、
GCだと実際に解放するのを後回しにして、
省1
155: 2013/01/31(木)15:34 ID:NyoQQhH7(3/17) AAS
>DirectXライブラリならDX7ベースのものを作った。
ならライブラリを使っている限り、アプリケーション層ではAPI(dll)を呼ぶ必要はなく、
従ってロックなどしないはずだ。そうでなければライブラリに存在意義がない。
ライブラリを作ったような妄想に浸っていただけだったというオチだな。
156(1): 2013/01/31(木)16:10 ID:wVU/jdLo(3/13) AAS
馬鹿だなあ、ライブラリ自体をVBで作ったんだ。
バックサーフェスのLockメソッドを実行して、引数の構造体からポインタを
取得し、APIの movememory を使って転送する。
ちなみにDX9のフレームバッファに直接書き込む場合は、メソッドがあるので
APIは使わないようだが、ロックはしなければならない。
おまえさんのライブラリではどーやってんのかなあ?答えてないぞ。
なにしろ>>152で「DirectXラッパぐらい」って言ってんだから、「ぐらい」なんだろ。
省9
157(1): 2013/01/31(木)17:50 ID:NyoQQhH7(4/17) AAS
俺はお前の先生じゃないからな。
初心者に1から10まで教えたりはしない。
あと話がコロコロかわるわ、分散するわ、人の書いたことが理解できないわ、
そんなお前と話をしても漠然と広がるばかりで一向に収束しない。
理由は単純、ID:wVU/jdLoがなりふり構わず言い返したいだけだからだ。
何がしたいの?そんなにくやしかった?
158: 2013/01/31(木)18:37 ID:wVU/jdLo(4/13) AAS
「DXライブラリなら作ってある!!」と言い返せないんだな。
そして「ロックを使わずにピクセルデータをバックサーフェスに転送できる!!」とも言えないんだな
くやしいのう。くやしいのう。
>俺はお前の先生じゃないからな。
>初心者に1から10まで教えたりはしない。
じゃあひとつだけでいいよ。
ロックを使わずにピクセルデータをCPUからバックサーフェスに転送できる方法
省7
159: 2013/01/31(木)19:51 ID:NyoQQhH7(5/17) AAS
何言ってんだこいつ。日本語が不自由な上に統合失調症の傾向がある。
ロックするとか意味不明だし、プログラム向いてないから病院いっとけ。
160: 2013/01/31(木)19:55 ID:PSRqcy7K(1) AAS
VB使いって・・・
161(1): 2013/01/31(木)20:05 ID:NyoQQhH7(6/17) AAS
>ライブラリ自体をVBで作ったんだ。
こんな事書いてる辞典でお前がライブラリなんか作れないことは自明のこと。
一個一個ロックしてコールバック呼ぶ間抜けな姿が目に浮かぶわw
DirectXで頂点バッファとかVRAM転送に関するロックと
マネージコード(VB, C#, Java)のGCに関するロックは全く違う話だってのもわからないだろ?
初心者が強がったところでまたひとつ恥をかいてるよ。バカじゃねーの?
162: 2013/01/31(木)20:14 ID:NyoQQhH7(7/17) AAS
>オマエの勝ちでいい。
そうだな。俺の完全勝利ってこと。
普通にロックなんて誰もしないものw
おかしな知ったかぶりでGCを批判するぐらいなら
全部C++で書けばいんじゃないの?
ロックせずにコールバック呼べるよ〜?w
163: 2013/01/31(木)20:24 ID:NyoQQhH7(8/17) AAS
そう、ID:wVU/jdLoは完全に負けたんだよ。
俺のC#ライブラリを使う限り、誰もGCロックなんてしないし、
SlimDXやMDX、XNAなど普通のライブラリやフレームワークはみ〜んなそう。
ついで抽象度を高めればDirectXのロックもライブラリ層で消せますな。
低脳ライブラリではコールバックの名前が変わっただけで隠蔽性も何もなく、
ロックしてまわるそうです。一体何のためのライブラリなのか謎ですな(苦笑)
164: 2013/01/31(木)20:31 ID:wVU/jdLo(5/13) AAS
オマエ…DirectX7を知らないのか…絶句…アホ。
165: 2013/01/31(木)20:35 ID:NyoQQhH7(9/17) AAS
ネイティブコードに関する規模の大きいライブラリを作るなら、
dll(C)側とコネクタとなるマネージコード側の両方を書くのは必須。
これ知識というより普通は気付く。
低脳にも理解できたかな? ひとつ勉強になっただろ。
先生にありがとうございましたって、しっかり頭下げとけよw
166: 2013/01/31(木)20:38 ID:NyoQQhH7(10/17) AAS
こっちはDX9のDirect3Dを前提に話をしているが、
DirectDrawでも話の芯は全く同じだ。
167: 2013/01/31(木)20:42 ID:wVU/jdLo(6/13) AAS
じゃあオフスクリーンサーフェスにピクセル配列を転送するコード
を書いてみろ。
168: 2013/01/31(木)20:45 ID:wVU/jdLo(7/13) AAS
>>156でも書いたが、取得できるのはポインタだぞ。その後どうするつもりだ?
169: 2013/01/31(木)20:57 ID:NyoQQhH7(11/17) AAS
ハハハ、まだそんなこといってるのか。
DirectXなんて時間かかって面倒くさいだけで、
可能・不可能を論じれば誰でもできる簡単なことだからな。
完全勝利
170: 2013/01/31(木)21:05 ID:wVU/jdLo(8/13) AAS
アホすぎる…もういいよオマエは。
171(2): 2013/01/31(木)21:35 ID:NyoQQhH7(12/17) AAS
>オフスクリーンサーフェスにピクセル配列を転送するコード
言い回しが古すぎるね。
Direct3D9ではIDirectSurfaceを直接操作せず、IDirect3DTexture経由で事足りる。
以下、テクスチャを1ドット毎白く塗りつぶす例。
D3DLOCKED_RECT lockRect;
pTexture->LockRect(0, &lockRect, NULL, D3DLOCK_DISCARD);
for(int y=0; y<h; y++)
省8
172: 2013/01/31(木)21:38 ID:NyoQQhH7(13/17) AAS
ライブラリを作るなら、例えば次のようにラップされ、
ライブラリユーザーは"ロックなど不可視"なはずだ。
virtual void FillTexture(int rgbColor) = 0;
173: 2013/01/31(木)21:42 ID:NyoQQhH7(14/17) AAS
あっちゃ〜、こりゃまた完全勝利してもうたわぁ〜。
低脳にも理解できたかな? ひとつ勉強になっただろ。
先生にありがとうございましたって、しっかり頭下げとけよw
174: 2013/01/31(木)21:56 ID:NyoQQhH7(15/17) AAS
ID:wVU/jdLoが顔真っ赤にして唇を噛み締め、悔し涙を流すのも無理はない。
175(1): 2013/01/31(木)22:00 ID:wVU/jdLo(9/13) AAS
ではこちらはデータ転送部分だけだが、オレの書いたコードをあげよう
void __stdcall s2sp15MoveMemory32SSE2( long ptrSrcZeroDTSC, long ptrDstZeroDTSC, long SrcWidth, long LinePlusByte,long StartTop, long WorkHeight )
// 同サイズでの32ビットカラーデータ転送。サイズは送り側 SrcWidth を、8の倍数にすること。
{
__asm
{
mov ebx,LinePlusByte
省23
176: 2013/01/31(木)22:01 ID:wVU/jdLo(10/13) AAS
LL101: // アライメントOK
movd eax,mm5
cmp eax, ecx
je LL99
movd mm7,ecx
movd ecx,mm6
LL102:
省12
177: 2013/01/31(木)22:02 ID:wVU/jdLo(11/13) AAS
LL201: // アライメントNG
movd eax,mm5
cmp eax, ecx
je LL99
movd mm7,ecx
movd ecx,mm6
LL202:
省17
178(1): 2013/01/31(木)22:05 ID:wVU/jdLo(12/13) AAS
movntdqは、ライト時にCPUキャッシュへの書き込みをキャンセルする命令だ。
書き込みを高速化できる。
179: 2013/01/31(木)22:07 ID:wVU/jdLo(13/13) AAS
まあVBじゃないが、そっちもC#のコードだしな。
180: 2013/01/31(木)22:30 ID:NyoQQhH7(16/17) AAS
誰も聞いてないし、何の目的があってそんな糞を貼ったんだ?
ところ構わず糞を垂れるのは痴呆なのだろう。病院逝っとけ。
181: 2013/01/31(木)22:36 ID:QubZj7j9(1) AAS
スレタイの答えを具現化したようなやりとりだな。
182: 2013/01/31(木)22:42 ID:NyoQQhH7(17/17) AAS
>書き込みを高速化できる。(ドヤ
やはり病人のようだな。相手し切れん。
183: 2013/01/31(木)22:50 ID:k0j/GaYd(1) AAS
貼っとくか
アスペの特徴
?勝ち負けに異常にこだわる (常に生と死や○か×かの極端な二択)
?性的なことで相手を罵倒するのが好き (性への異常な執着)
?相手を知的障害者や奇形児と罵倒する (生理的に苦痛などの一般的な感情の欠落)
?揚げ足 (自分では分析・考察ができないため周囲の言葉を借り「それはお前」とオウム返し)
?個人情報や姿・容姿への一方的な思い込み (「相手は○○であるから△△である」という決め付け)
省4
184: 2013/01/31(木)23:11 ID:de6zIt5h(1) AAS
使いたい言語使えよ
185: 2013/01/31(木)23:37 ID:wc/pmLvR(1) AAS
wVU/jdLoが問題にしてるのは、VB側で確保したヒープを、DLLなりに渡す方法じゃないのか?
>>171のコメントってずれてないか?
>>161のコメントって脱線してないか?
>>157で言ってる話をころころ変えてるのって、どっちの方だ?!
186: 2013/02/01(金)01:04 ID:5kKv/peJ(1/2) AAS
>wVU/jdLoが問題にしてるのは、VB側で確保したヒープを、DLLなりに渡す方法じゃないのか?
そうだよ。俺はDLLにヒープを渡す際に行うGCのロックについて回答した。
しかし回答に対してwVU/jdLo(>>153)が突然、
DirectXでサーフェスのVRAMをロックする仕方を教えてくれと言い出した。
以後、彼はGCとDirectX、2つの話を同じ話とした誤った前提をもとに得意面で執拗に追及しはじめる。
またwVU/jdLo(>>153)はGCのロックが面倒だという当初の題目(>>146)を覆し、
「俺が聞いたのはコーディングの話じゃない。実行上の有利性だ。(実行速度) 」
省7
187: 2013/02/01(金)01:08 ID:5kKv/peJ(2/2) AAS
読解力のないお馬鹿さん友達なのはよくわかった。
だが俺のせいにされても困るな。頭のおかしい人が1人で暴れてて、
こっちは二転三転する話に付き合ってやっただけだから。
188: 2013/02/01(金)20:46 ID:WGADr03p(1) AAS
頭の中の藁人形に勝利宣言するのって気持ちいいのか?www
189: 2013/02/02(土)01:35 ID:I6aYuYDa(1/5) AAS
久方ぶりに来てみたら、なにやら人が沢山いるな。VBそっちのけでw
まあ、.netのガベコレに苦労してる人が多いのは分かった。
メモリー管理は初心者には相変わらずの鬼門だな。
でもさ、.netではAPIのかわりになるような命令がいっぱいあるから、
API呼び出す必要はほとんど無いような・・・
>>146
>Vistaのせいかな?あのころ、メモリ不足でパフォーマンスが落ちるPCが多かったからな。
省5
190: 2013/02/02(土)02:00 ID:I6aYuYDa(2/5) AAS
そうそう昔は、動的メモリーを多用してるアプリケーションを平行して
何個も動かしていた場合にも、メモリーの断片化が発生していたな。
メモリーの虫食い現象と呼んだ方が分かりやすいかな?まあ詳しい話は
フラグメンテーションでぐぐれ。こればっかしは、ガベコレを使わない限り、
メモリーを増やした所でアプリが落ちるのを延期するぐらいの意味しか無い。
191(2): 2013/02/02(土)02:22 ID:I6aYuYDa(3/5) AAS
あと、初心者だとメモリー管理に関してはスワップファイルが
何とかしてくれると勘違いしているようだが、スワップファイルを
ページングで何とかなる容量は32bitだと2Gバイトまでなんだよな。
64bitOSの場合だとHDDの許す限り何とかしてくれるんだろうけど。
192: 2013/02/02(土)03:03 ID:I6aYuYDa(4/5) AAS
64bitでも128Gまでだった・・・
外部リンク[aspx]:technet.microsoft.com
193: 2013/02/02(土)14:07 ID:w8UuMgVB(1) AAS
動的メモリの確保と解放は難しいのではなくミスを招く。
数をこなしてる上級者でも忘れたり、ちょっとしたポカをする。
だから上級者でもガベージコレクションはかなりありがたい。
.netやjvmのメモリコンパクションはあまり期待できない。
あとメモリリークではなく断片化でアプリ落ちるか?
>>191は仮想メモリのアドレスサイズの話だろうか。
194: 2013/02/02(土)14:22 ID:PtZOYkce(1) AAS
断片化が最終段階に達すると、空領域があるのにもかかわらず、突然メモリーの取得や再取得に失敗するようになるんだよ。
あとはメモリー破壊へとまっしぐら。もしくは例外終了かな?
195: 2013/02/02(土)19:19 ID:I6aYuYDa(5/5) AAS
>.netやjvmのメモリコンパクションはあまり期待できない。
これは初めて知った。んー、VBはメインで使う言語じゃないから気にしないでおくか。
>>>191は仮想メモリのアドレスサイズの話だろうか。
そうだよ。
196: 2017/02/03(金)02:11 ID:WWGfnxzw(1) AAS
age
197: 2017/12/31(日)20:44 ID:/rN76OKL(1) AAS
簡単にお金が稼げる方法興味ある人だけ見てください。
グーグル検索⇒『来島のモノノリウエ』
UD63T2V610
198: 2018/10/06(土)00:55 ID:TBUE3ojn(1) AAS
VB今からやるの止めた方がいいですか?
199: 2023/01/22(日)09:41 ID:w5i/1OO5(1) AAS
ただ今制限って何?
200: 2023/08/28(月)21:44 ID:Agfk3gnt(1) AAS
それって本当にできるの?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.742s*