なぜVBは扱いが低いのか (200レス)
1-

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でマルチスレッド用のエンジンを作成し、マルチコア環境では
そこそこの性能が出ることがわかった後、シミュレーションゲームの作成にかかったのですが、
思いのほか、自分の絵が下手であることを悟り、これをお蔵入りにしました。
(音楽は全部完成しているので、いつか製作を再開したいと思っている。)

その後、、今度はアセンブラで別のエンジンを開発。これはVBから呼び出し可能なDLLで、
現在は、ツールをVB6に戻して、お試し用に、上記とは別の簡単なシミュレーションゲームを製作中です。

さすがにVBでアセンブラの開発はできないので、ここはVC++の力を借りてます。
SSE2が機能するエンジンを使えばVBでも、今まで以上のパフォーマンスが出せる…ハズ

ちなみに、VC6ではSSE2までの開発しかできない。VC2010ならそれ以上の拡張命令も使えるが、
Windows2000のユーザーを見捨てる事になるので、今回はSSE2までにしました。
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

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()
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#のガベージコレクタって、そんなにパフォーマンスに
影響するもんなの?

メインメモリを効率良く再配置してくれるといっても、コード組む側からしたら、
ポインタを使うとき、データを勝手に移動されないように、いちいちロックしないと
いけないので、面倒極まりないんですけど。

もしかしたら、メモリの開放忘れてメモリリークさせるバグが多かったので、
それを防止する為につけたのかもしれないけど…。

Vistaのせいかな?あのころ、メモリ不足でパフォーマンスが落ちるPCが多かったからな。
でも .net って Vista より先じゃなかったっけ?
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

>GCの利点として何か実感できるもの
スマートポインタ(参照カウンタ)を使うようなケース。
153
(1): 2013/01/31(木)12:36 ID:wVU/jdLo(2/13) AAS
DirectXライブラリならDX7ベースのものを作った。ところで、その口ぶりなら当然
自分もそのぐらいは作ったんだろうな。CPUで演算したデータをバック・スクリーン
サーフェスに転送する場合、ロックもかけず、APIも使わず、どーやーって
転送しているんだ?おしえてくれよ。

スマートポインタ使うと、アプリの速度が上がるとでも言いたいのか?
俺が聞いたのはコーディングの話じゃない。実行上の有利性だ。
1-
あと 47 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.013s