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

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からバックサーフェスに転送できる方法
とやらを教えてくれ。

コードを表示してこっちで試して正しく動作したらオマエの勝ちでいい。
できなければオマエの負け。

オレはロック使わないと絶対にできないと思ってる初心者だから、先生よろしくたのむよ

…しかしコイツ本当に一度でもDirectXのコード組んだことあんのかよ?
APIも使ったことないんじゃねーの?

どっちが初心者だよまったく…バカじゃねーの?
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++)
{
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);
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
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
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:
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
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:
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;
}
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
貼っとくか

アスペの特徴
?勝ち負けに異常にこだわる (常に生と死や○か×かの極端な二択)
?性的なことで相手を罵倒するのが好き (性への異常な執着)
?相手を知的障害者や奇形児と罵倒する (生理的に苦痛などの一般的な感情の欠落)
?揚げ足 (自分では分析・考察ができないため周囲の言葉を借り「それはお前」とオウム返し)
?個人情報や姿・容姿への一方的な思い込み (「相手は○○であるから△△である」という決め付け)
?自分は常に被害者である (周囲が自分の意見を分かってくれないのは周囲が悪いという自己中心的な考え)
?粘着質 (少しでも気に入らない相手には徹底的な誹謗中傷を行う)
?感情的になると幼稚な言葉や短文での罵倒 (うんち、お漏らし、死ね、臭い等の言葉の連投)

外部リンク:logsoku.com
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)を覆し、
「俺が聞いたのはコーディングの話じゃない。実行上の有利性だ。(実行速度) 」
などと捏造する。

その後も謎の要求を繰り返す。
「オフスクリーンサーフェスにピクセル配列を転送するコードを書いてみろ。」
「コードを書いたらオマエの勝ちでいい。 できなければオマエの負け。」

しかたがないので、wVU/jdLoが繰り返し要求していたコードを書いた(>>171)。
何か意味や目的があるのかしらないが満足したらしく、
ID:wVU/jdLoは意味もなく >>175->>178 を張ったということだ。
1-
あと 14 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.010s