トップページ > プログラム > 2015年04月27日 > 3IxpbeeH

書き込み順位&時間帯一覧

1 位/174 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000000420000000053014



使用した名前一覧書き込んだスレッド一覧
207
269
デフォルトの名無しさん
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net

書き込みレス一覧

C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
269 :207[]:2015/04/27(月) 11:28:30.00 ID:3IxpbeeH
相談です
GUIでプログラムを作っています。(以降、Gと書きます)
配列にするか、バラバラにして個々のオブジェクトで変数定義するかで悩んでます。


具体的には、
あるサーバからの通知をGでInvokeして配列(メンバ変数1次元10000長さ)のバッファにデータを貯めています。
つまり、Gにとっては非同期でInvokeされ、配列にアクセスされるのですが
Invokeが多くなると遅延してきます。
配列という1オブジェクトに対してアクセスさせているのがだめなのかと思い、
配列をやめて10000のメンバにしようかと思いました。
(つまりソースは汚いですけどガチガチのハードコーディング?みたいな感じです)
こうすると、遅延が無くなると思いますか?

通知量押さえる方法は単純なんですけど諦められなくて・・・
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
270 :269[sage]:2015/04/27(月) 11:30:08.10 ID:3IxpbeeH
ちなみに通知はGにとってはミリ秒単位ですね
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
272 :269[sage]:2015/04/27(月) 11:40:04.13 ID:3IxpbeeH
ゴキブリwww笑った
もう出そうな季節ですけどね・・・
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
275 :269[sage]:2015/04/27(月) 11:49:05.14 ID:3IxpbeeH
>>273
説明下手ですみません・・・

バッファ[]

FuncA()
FuncA()
FuncA()
FuncA()


こんな感じでアクセスが待ってるんだと思うんです
つかもうオブジェクト分けて実験してみないと
誰も答えようないですよね・・
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
277 :269[sage]:2015/04/27(月) 12:30:02.48 ID:3IxpbeeH
一応自己解決しました!
高速化を追求して、配列をやめて10000個の変数を定義することにしました・・・^^;
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
278 :デフォルトの名無しさん[sage]:2015/04/27(月) 12:33:08.33 ID:3IxpbeeH
>>276
そうですね、詰まってますw
ありがとうございます、その方法も後で試してみます。


趣味程度のツールだから早ければ何でもいいんです・・・
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
282 :デフォルトの名無しさん[sage]:2015/04/27(月) 21:12:43.93 ID:3IxpbeeH
>>281
ほんとに説明下手ですみません
サーバでイベントが発生すると、
G側でInvokeされたシングルスレッドのFuncA()が呼ばれます。
サーバのイベントは非同期なのでいつどれくらいの頻度で発生するかは不確定です。
目視では一番多い時で秒間600〜700はFuncA()が呼ばれていると思われます。
それが一つの配列にアクセスしようとするので上の方もおっしゃっていた
キュー詰まりが発生していると思われます。
※配列アクセス速度についてググってみましたけどだいたい1.5ミリ秒らしいです。
まあ、実際配列をやめて試してみないと何とも言えないですね。
サーバのイベントをGで少なく見るようにすると遅延しなくなるので・・・

遅延によって、サーバからのデータのタイムスタンプと
Gでのタイムスタンプの差がどんどん広がっていくのが問題になっています。
実装後の結果は一応書き込ませてもらおうと思います。
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
284 :デフォルトの名無しさん[sage]:2015/04/27(月) 21:18:37.96 ID:3IxpbeeH
>>282
>遅延によって、サーバからのデータのタイムスタンプと
>Gでのタイムスタンプの差がどんどん広がっていくのが問題になっています。

追記:サーバからのデータはG側のキュー待ちで随時Gの配列に更新されていきますけど、
Gで任意のタイミングで配列データを画面表示したときキュー待ちのために
実際のサーバの時刻との差が出ているということです。
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
288 :デフォルトの名無しさん[sage]:2015/04/27(月) 21:24:19.16 ID:3IxpbeeH
>>283
Invokeですか;;
一応配列をやめてやってみてだめなら試してみます
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
290 :デフォルトの名無しさん[sage]:2015/04/27(月) 21:29:28.25 ID:3IxpbeeH
>>287
画面更新は500ミリ秒ですね〜
サーバ提供のDLL使ってるから色々製薬合って変更できないんですよ;w;
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
291 :デフォルトの名無しさん[sage]:2015/04/27(月) 21:33:44.76 ID:3IxpbeeH
>>289
タイマーで画面へリフレッシュしてます。
おお〜lockですかさすがですね、ありがとうございます
サーバ開いたらそれも試してみます。
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
292 :デフォルトの名無しさん[sage]:2015/04/27(月) 22:32:01.13 ID:3IxpbeeH
レス抜けてたわスマン

>>285
正直スレッドとかプログラムとかあんまわかんないですね〜
目的のものができればいいんで結構適当なんですよw
でも今回のツール作成でデリゲートとか色々つかえるようになったお^^
>>286
さ、さーせんww

連投しすぎたからあとは結果だけを、
サバが開くのは水曜なので参考までにいちおう載せさせて頂きます〜
忘れてたらゴメン
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
293 :デフォルトの名無しさん[sage]:2015/04/27(月) 22:46:23.46 ID:3IxpbeeH
たぶんファナが寄与度高いから先物上げたんだと思う
C#, C♯, C#相談室 Part87 [転載禁止]©2ch.net
294 :デフォルトの名無しさん[sage]:2015/04/27(月) 22:47:19.17 ID:3IxpbeeH
gb


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。