Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
探検
Win32API質問箱 Build123©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/10/08(土) 12:33:02.29ID:0jaJMPXG
2016/11/06(日) 16:11:14.07ID:bCh//xB2
おまいはだめ
2016/11/06(日) 16:12:50.49ID:5/z3Ppl4
おまえはなんでいいの?
2016/11/06(日) 17:59:51.67ID:7DBohWvr
2016/11/06(日) 19:22:43.11ID:5/z3Ppl4
2016/11/06(日) 19:47:14.00ID:YPGx/bgn
今今C
97デフォルトの名無しさん
2016/11/06(日) 21:09:59.89ID:MLGlQdvO98デフォルトの名無しさん
2016/11/06(日) 21:36:12.60ID:hZSM5tbK 初心者です。
中断ボタンを出そうと考えています。
スレッドから、CreateDialogで中断の画面を出すとダイアログが一瞬で
消えてしまいます。
ご存じの方いませんか?
ちなみに、DialogBoxでは処理が滞ってしまいました。
中断ボタンを出そうと考えています。
スレッドから、CreateDialogで中断の画面を出すとダイアログが一瞬で
消えてしまいます。
ご存じの方いませんか?
ちなみに、DialogBoxでは処理が滞ってしまいました。
2016/11/06(日) 22:08:54.07ID:eC1CzNtZ
>>98
スレッドが一瞬で終わってんじゃないの?
スレッドが一瞬で終わってんじゃないの?
100デフォルトの名無しさん
2016/11/06(日) 22:28:42.23ID:RUueNHTq そりゃそうだろw
何を当たり前のことを???
何を当たり前のことを???
101デフォルトの名無しさん
2016/11/06(日) 23:04:20.64ID:AHO3vAwR CreateDialogはモードレスダイアログボックスを作るので、
要するにnewされているからスタック以外のどっかに作られるので、
CreateDialogを呼び出した後はダイアログは表示されてもすぐ消えて
元の処理に戻る。こいつを維持したければShowWindowをしろ。
DialogBoxはモーダルダイアログボックスを作るが、これはスタックに
作るのでこいつが閉じられない限り呼び出し元の処理を続行出来なくなる。
処理が滞るというのはそういうことだな。
要するにnewされているからスタック以外のどっかに作られるので、
CreateDialogを呼び出した後はダイアログは表示されてもすぐ消えて
元の処理に戻る。こいつを維持したければShowWindowをしろ。
DialogBoxはモーダルダイアログボックスを作るが、これはスタックに
作るのでこいつが閉じられない限り呼び出し元の処理を続行出来なくなる。
処理が滞るというのはそういうことだな。
102デフォルトの名無しさん
2016/11/06(日) 23:04:51.46ID:AHO3vAwR だから当たり前のこと。
104デフォルトの名無しさん
2016/11/07(月) 01:14:31.84ID:tfEbFCgf105デフォルトの名無しさん
2016/11/07(月) 04:01:23.41ID:EaPQMBZD >>101
これはひどい
これはひどい
106デフォルトの名無しさん
2016/11/07(月) 07:43:13.48ID:/5KK1SgJ ここまで酷いと98が釣りに思えてきた
107デフォルトの名無しさん
2016/11/07(月) 08:37:44.05ID:fwwW9lIx >>101
何を言っているんだ?
何を言っているんだ?
108デフォルトの名無しさん
2016/11/07(月) 16:06:23.47ID:iTWgrf69 イベントループまわしてない糞アプリは結構あるけどな
109デフォルトの名無しさん
2016/11/07(月) 21:00:42.32ID:lMECrzfj あるね
110デフォルトの名無しさん
2016/11/07(月) 23:24:31.73ID:geFZXkbd WindowsServerの共有フォルダに対して
一台のPCで複数のセッションを
張りたいのですが
そういうことは可能でしょうか?
セッション枯渇をシュミレーション
したいのですが、数十台の
クライアントを用意するのが厳しいので、
よろしくお願いします
一台のPCで複数のセッションを
張りたいのですが
そういうことは可能でしょうか?
セッション枯渇をシュミレーション
したいのですが、数十台の
クライアントを用意するのが厳しいので、
よろしくお願いします
111デフォルトの名無しさん
2016/11/07(月) 23:35:14.98ID:xNTfrSvb 98です。
残念ながら本当にわかっていなくて、
なにがひどいのかもわかりません。
一瞬で終わっているのは事実です。
IsDialogMessageは使っています。
原因を調べています。
残念ながら本当にわかっていなくて、
なにがひどいのかもわかりません。
一瞬で終わっているのは事実です。
IsDialogMessageは使っています。
原因を調べています。
112片山博文MZ ◆T6xkBnTXz7B0
2016/11/07(月) 23:52:47.40ID:bxaGR4em113片山博文MZ ◆T6xkBnTXz7B0
2016/11/08(火) 00:02:16.77ID:AW+lzuxI メッセージキューはスレッドごとに用意されていて、ウィンドウのメッセージは
ウィンドウ作成元のスレッドのメッセージキューにたまる。
ウィンドウ作成元のスレッドのメッセージキューにたまる。
114デフォルトの名無しさん
2016/11/08(火) 00:42:20.76ID:/LmyXqRX >>110
シュミレーションってなに?
シュミレーションってなに?
115デフォルトの名無しさん
2016/11/08(火) 00:44:34.04ID:unHUC1CF シュミなら何でもできる
116デフォルトの名無しさん
2016/11/08(火) 01:35:14.19ID:Y3RxQGSc シュミーズとスリップとキャミソールの違いってなに?
117デフォルトの名無しさん
2016/11/08(火) 01:36:27.03ID:unHUC1CF 1.80代
2.60代
3.40代
2.60代
3.40代
118デフォルトの名無しさん
2016/11/08(火) 02:08:30.02ID:U/Ju3opf >>114
その程度も想像できない人の意見なんてどうでもいいです
その程度も想像できない人の意見なんてどうでもいいです
119デフォルトの名無しさん
2016/11/08(火) 02:32:59.30ID:Y3RxQGSc その想像力を駆使して趣味レーションすればいいんじゃね?
Win32APIには関係ない話だし。
Win32APIには関係ない話だし。
120デフォルトの名無しさん
2016/11/08(火) 03:20:49.30ID:jUCVZHcM win32apiに関係なくてもいいんじゃなかったけ?
12198
2016/11/08(火) 06:00:23.87ID:EP2Ba4mn122デフォルトの名無しさん
2016/11/10(木) 21:09:42.83ID:AasTbJ+R な
123デフォルトの名無しさん
2016/11/11(金) 12:10:47.06ID:9ZvufmQn IDないときにID導入で言い争いなくなってたのに
久しぶりにここ来たらIDありでも構わず言い争いしててワロタ
ついでに次スレはワッチョイでもつけよう
久しぶりにここ来たらIDありでも構わず言い争いしててワロタ
ついでに次スレはワッチョイでもつけよう
124デフォルトの名無しさん
2016/11/11(金) 12:39:26.27ID:/bmaODHZ もうホスト名表示でいいだろ
125デフォルトの名無しさん
2016/11/11(金) 13:02:50.32ID:kcpLk0Bj 何を付けても言い争いが発生するんだから、
IDくらいがちょうどいいんじゃないの。
どこのスレ見ても、荒らす奴はなにやっても荒らすし。
IDくらいがちょうどいいんじゃないの。
どこのスレ見ても、荒らす奴はなにやっても荒らすし。
126デフォルトの名無しさん
2016/11/11(金) 13:10:25.05ID:UQPlBidt IDとかワッチョイとか何の意味もないのに付けたがるよね
今の2ちゃんなんか人少なくて気にするほどの書き込みもないのに
今の2ちゃんなんか人少なくて気にするほどの書き込みもないのに
127デフォルトの名無しさん
2016/11/11(金) 13:18:14.05ID:FF2/z6GJ128デフォルトの名無しさん
2016/11/11(金) 19:38:22.83ID:F0Rj6jl1 IDでじゅうぶん
129デフォルトの名無しさん
2016/11/11(金) 20:04:48.37ID:0rL2xNMJ ホスト名がベター
130デフォルトの名無しさん
2016/11/11(金) 20:06:12.51ID:DbOMb6Sb ホスト名出して主張してくれや
131デフォルトの名無しさん
2016/11/11(金) 20:12:52.08ID:LmTjZr7C ワッチョイは争いの火種
最初からないほうがまし
別にIDもいらない
最初からないほうがまし
別にIDもいらない
132デフォルトの名無しさん
2016/11/11(金) 20:36:56.45ID:F0Rj6jl1 IDはあったほうがいいね
133sp49-98-77-115.mse.spmode.ne.jp
2016/11/11(金) 20:37:29.90ID:0rL2xNMJ ホスト名がベター
134デフォルトの名無しさん
2016/11/11(金) 20:44:35.64ID:X9bDlJ5d ホスト名は「たちばな誠」
135デフォルトの名無しさん
2016/11/11(金) 20:51:04.74ID:Tfn5AWDv ホスト名が良いカモね
136デフォルトの名無しさん
2016/11/12(土) 04:05:38.85ID:6wPviZ3t スレチ
137デフォルトの名無しさん
2016/11/12(土) 04:37:47.35ID:xxkpve4k 急激に過疎ったスレとして資料価値がある
一番勢いあったのがIDなかった時代だというのが興味深い
一番勢いあったのがIDなかった時代だというのが興味深い
138デフォルトの名無しさん
2016/11/12(土) 07:40:36.69ID:VYJ07zOJ 単にWin32から.NETへの移行が進んだだけでしょう
139デフォルトの名無しさん
2016/11/12(土) 09:21:42.48ID:cY8zOPne たんに荒らしが伸ばしてただけでしょう
140デフォルトの名無しさん
2016/11/12(土) 10:58:41.72ID:aMxeZQXn >>137
勢いじゃなく、荒らされていた時期な
勢いじゃなく、荒らされていた時期な
141デフォルトの名無しさん
2016/11/12(土) 11:01:50.42ID:MjZ+e3Wz 回顧モード中ですが、ちょっと教えてくだされ。
スケーリング対応ってどの辺のAPIを使うといいの?
もしくは、どの辺のAPIを見直せばいいのか。
スケーリング対応ってどの辺のAPIを使うといいの?
もしくは、どの辺のAPIを見直せばいいのか。
142デフォルトの名無しさん
2016/11/12(土) 13:10:05.51ID:VYJ07zOJ うろ覚えだけど
SetWindowOrgEx
SetViewportOrgEx
辺りじゃないの
SetWindowOrgEx
SetViewportOrgEx
辺りじゃないの
143デフォルトの名無しさん
2016/11/12(土) 16:51:53.48ID:KzeRaaZ8 @AoA = (
[ "fred", "barney" ],
[ "george", "jane", "elroy" ],
[ "homer", "marge", "bart" ],
);
を関数に渡したいんですが、どうすればいいの?
[ "fred", "barney" ],
[ "george", "jane", "elroy" ],
[ "homer", "marge", "bart" ],
);
を関数に渡したいんですが、どうすればいいの?
144デフォルトの名無しさん
2016/11/12(土) 18:18:57.26ID:B8iRPOxS はあ…
145デフォルトの名無しさん
2016/11/12(土) 21:46:22.81ID:6wPviZ3t loopyを3回となえてください
146デフォルトの名無しさん
2016/11/13(日) 04:10:41.48ID:+F2H1InO >>141
DPIスケーリングならここ見ていけば大体書いてある
https://msdn.microsoft.com/en-us/library/windows/desktop/dd464646(v=vs.85).aspx
この辺のAPI使う
https://msdn.microsoft.com/en-us/library/windows/desktop/hh447398%28v=vs.85%29.aspx
真面目に対応しようとするとけっこう面倒
DPIスケーリングならここ見ていけば大体書いてある
https://msdn.microsoft.com/en-us/library/windows/desktop/dd464646(v=vs.85).aspx
この辺のAPI使う
https://msdn.microsoft.com/en-us/library/windows/desktop/hh447398%28v=vs.85%29.aspx
真面目に対応しようとするとけっこう面倒
147デフォルトの名無しさん
2016/11/13(日) 14:25:24.31ID:Wy5L1qQW EnableMenuItem
https://msdn.microsoft.com/ja-jp/library/cc410786.aspx
>MF_DISABLED メニュー項目を無効化します。淡色表示にはしませんが、そのメニュー項目は使用不可能であり、選択できません。
>MF_GRAYED メニュー項目を淡色表示にします。そのメニュー項目は使用不可能であり、選択できません。
となっており、MF_DISABLEDはグレー表示されないように書かれていますが、
Win7で使ってみたところ、グレー表示され、MF_GRAYEDとまったく同じになりました。
MSDNが更新されていないだけで、MF_DISABLEDとMF_GRAYEDは同一挙動になったのでしょうか?
それとも、何か微妙に違いがあったりするのでしょうか?
https://msdn.microsoft.com/ja-jp/library/cc410786.aspx
>MF_DISABLED メニュー項目を無効化します。淡色表示にはしませんが、そのメニュー項目は使用不可能であり、選択できません。
>MF_GRAYED メニュー項目を淡色表示にします。そのメニュー項目は使用不可能であり、選択できません。
となっており、MF_DISABLEDはグレー表示されないように書かれていますが、
Win7で使ってみたところ、グレー表示され、MF_GRAYEDとまったく同じになりました。
MSDNが更新されていないだけで、MF_DISABLEDとMF_GRAYEDは同一挙動になったのでしょうか?
それとも、何か微妙に違いがあったりするのでしょうか?
148デフォルトの名無しさん
2016/11/13(日) 19:35:16.34ID:wHFHc9ra >>146
俺はGetWindowRectがまともに動かない時点でスケーリング対応は諦めたわ。なんなのこのクソOS
俺はGetWindowRectがまともに動かない時点でスケーリング対応は諦めたわ。なんなのこのクソOS
149デフォルトの名無しさん
2016/11/13(日) 20:07:24.28ID:dhGoOq8f >>148
adjustするのが定石
adjustするのが定石
150デフォルトの名無しさん
2016/11/13(日) 22:00:12.35ID:Wy5L1qQW TrackPopupMenu()でポップアップメニューを表示できますが、
ポップアップメニューが表示されたことを検知できるウィンドウメッセージ等はないのでしょうか?
また、ポップアップメニュー以外のところをクリックするとポップアップメニューが非表示になりますが、
これも同様に、どのように検知すればよいでしょうか?
ポップアップメニューが表示されたことを検知できるウィンドウメッセージ等はないのでしょうか?
また、ポップアップメニュー以外のところをクリックするとポップアップメニューが非表示になりますが、
これも同様に、どのように検知すればよいでしょうか?
151150
2016/11/13(日) 22:35:31.57ID:Wy5L1qQW ポップアップメニューが表示されようとしたときはWM_INITMENUPOPUPが送られてくることが分かりました。
152デフォルトの名無しさん
2016/11/13(日) 23:32:34.76ID:+F2H1InO 非表示はWM_UNINITMENUPOPUP
MF_DISABLEDとMF_GRAYEDが違ったのはWindows3.1とかの時代で今は同じ
MF_DISABLEDとMF_GRAYEDが違ったのはWindows3.1とかの時代で今は同じ
154デフォルトの名無しさん
2016/11/14(月) 17:38:20.71ID:lPYI51le リストビューを一番下までスクロールさせるプログラムは?
156デフォルトの名無しさん
2016/11/14(月) 17:51:37.15ID:LtnXkA90 メッセージおくれ
157デフォルトの名無しさん
2016/11/14(月) 18:02:49.89ID:NhpFtVry ListView_EnsureVisible()マクロないしは
ListView_Scroll()マクロ
ListView_Scroll()マクロ
159デフォルトの名無しさん
2016/11/18(金) 03:17:57.05ID:OSOzrvg7 > MF_DISABLEDとMF_GRAYEDが違ったのはWindows3.1とかの時代で今は同じ
xpはどちら?
xpはどちら?
160デフォルトの名無しさん
2016/11/18(金) 03:36:41.14ID:AM2vlSzW えっ?
161デフォルトの名無しさん
2016/11/18(金) 03:58:35.98ID:2yb3wpBY >>156
つ メッセージ
つ メッセージ
162デフォルトの名無しさん
2016/11/18(金) 07:05:51.48ID:8X6DMoza Win3.1(Win16) ならスレ違いだろw
163デフォルトの名無しさん
2016/11/18(金) 11:11:21.47ID:GZ4BhfWs Win32sかもしれない
164デフォルトの名無しさん
2016/11/18(金) 15:45:40.16ID:sN4pSlll WS_EX_TOOLWINDOWに関して質問です。
タイトルバーに関してです。
普通のタイトルバーより小さいタイトルバーを持つ旨説明がありますが、
小さくなりません。
通常のスタイルも色々試しましたが、通常のタイトルバーと変わりません。
変える方法を教えてください。
タイトルバーに関してです。
普通のタイトルバーより小さいタイトルバーを持つ旨説明がありますが、
小さくなりません。
通常のスタイルも色々試しましたが、通常のタイトルバーと変わりません。
変える方法を教えてください。
165デフォルトの名無しさん
2016/11/18(金) 16:01:28.45ID:AM2vlSzW win8辺りからタイトルバーが小さくならなくなったべ。
理由は知らんけど、エアログラス廃止→モダンUIの流れの一環で何か変わったのかもね。
理由は知らんけど、エアログラス廃止→モダンUIの流れの一環で何か変わったのかもね。
166デフォルトの名無しさん
2016/11/19(土) 12:52:23.68ID:LZczXE+c > MF_DISABLEDとMF_GRAYEDが違ったのはWindows3.1とかの時代で今は同じ
7で非エアロ + 視覚効果を無効にした場合はどちらになりますか
7で非エアロ + 視覚効果を無効にした場合はどちらになりますか
168デフォルトの名無しさん
2016/11/20(日) 10:34:28.02ID:rUGeTkRI Windows3.1 って 標準で1画面に16色しか使えなかった時代の名残だから忘れていい
169デフォルトの名無しさん
2016/11/20(日) 10:50:09.74ID:pCJ1qvOZ 3.1のときには256や6万色普通にあったろ
170デフォルトの名無しさん
2016/11/20(日) 12:16:32.29ID:KiQiujJB 16bit と間違ったんじゃね
171デフォルトの名無しさん
2016/11/20(日) 12:20:21.09ID:IiH4Q+hE PC-9801の話だと思った。
172デフォルトの名無しさん
2016/11/20(日) 16:35:07.06ID:HG1JDYXN PCG
173デフォルトの名無しさん
2016/11/21(月) 11:15:47.37ID:RFCc0VFb ビデオカード次第だったよな
174デフォルトの名無しさん
2016/11/21(月) 12:21:40.28ID:gVIfBZaZ PSG
175デフォルトの名無しさん
2016/11/22(火) 15:36:11.99ID:qW+6ZAFd sscanf(buffer, "%4s", &data)の4の部分に変数を使いたい場合ってどうしたらいいんでしょう?
176デフォルトの名無しさん
2016/11/22(火) 15:42:16.93ID:eab8TQx6 "%4s"をsprintfで作る
177片山博文MZ ◆T6xkBnTXz7B0
2016/11/22(火) 15:44:33.07ID:iRpYF31I "%*s"
178デフォルトの名無しさん
2016/11/22(火) 15:45:01.21ID:RWgWe0KR179デフォルトの名無しさん
2016/11/22(火) 15:47:04.45ID:RWgWe0KR180デフォルトの名無しさん
2016/11/22(火) 18:37:11.83ID:mC9XTyoU ウンコしてくる
181デフォルトの名無しさん
2016/11/27(日) 05:47:03.44ID:9mn0D+RY windows8.1 環境下、imm にて ImmSetCompositionString で漢字変換したい文字列を設定し、
ImmNotifyIME で CPS_CONVERT、NI_OPENCANDIDATE を投げて
変換候補リストを表示したいのですが、MS-IME 系では問題なく使えていますが、
GoogleIME では変換候補リストが表示されません。
変換したい文字列が入力された状態にはなっていますが、変換候補リストが表示されない
だけでなく、キーボードで変換キーを押しても変換自体ができません。
(GoogleIME ではキー入力でただちに予測変換一覧が表示される仕組みだからか?)
これを実現するには、imm ではなく tsf に移行するしかないのでしょうか?
imm を使わず keybd_event でキー入力をエミュレートすればある程度実現できたのですが、
(文字入力→変換キー→変換候補一覧表示)
変換候補一覧を表示するための変換キーを押す回数が、MS-IME と GoogleIME では異なる
のが困ります。
ImmGetDescription で動作を切り分けることも考えましたが、そもそも ImmGetDescription が
廃止されてしまってこの手が使えません。
ImmNotifyIME で CPS_CONVERT、NI_OPENCANDIDATE を投げて
変換候補リストを表示したいのですが、MS-IME 系では問題なく使えていますが、
GoogleIME では変換候補リストが表示されません。
変換したい文字列が入力された状態にはなっていますが、変換候補リストが表示されない
だけでなく、キーボードで変換キーを押しても変換自体ができません。
(GoogleIME ではキー入力でただちに予測変換一覧が表示される仕組みだからか?)
これを実現するには、imm ではなく tsf に移行するしかないのでしょうか?
imm を使わず keybd_event でキー入力をエミュレートすればある程度実現できたのですが、
(文字入力→変換キー→変換候補一覧表示)
変換候補一覧を表示するための変換キーを押す回数が、MS-IME と GoogleIME では異なる
のが困ります。
ImmGetDescription で動作を切り分けることも考えましたが、そもそも ImmGetDescription が
廃止されてしまってこの手が使えません。
182デフォルトの名無しさん
2016/11/27(日) 16:59:16.60ID:CC34oqbC Watashi no Namae wa Nakano desu
183デフォルトの名無しさん
2016/11/27(日) 19:36:59.90ID:iFUA1Ofz Watashi ni Namae wa Nakattano desu
184デフォルトの名無しさん
2016/11/28(月) 15:21:52.39ID:msYXnjQ5 情報通信業の残業やばす
https://www.youtube.com/watch?v=TnZEDQchkJk
https://www.youtube.com/watch?v=TnZEDQchkJk
185デフォルトの名無しさん
2016/11/29(火) 12:19:49.33ID:ITJWJL4i 分かる方、教えて下さい。
プログラムの処理時間を計っているのですが、
GetThreadTimes()で取得した時間をもとに計算した処理時間(CPU時間)が
timeGetTime()で取得した時間をもとに計算した処理時間(実時間)より長くなりました。
スレッドが複数のコアを同時に使うことはないので
こういうことは起こらないはずだと思うのですが、
どういう場合に起こるのでしょうか。
なお、1/16秒くらいの精度しかないことは、認識しています。
その上でループを何度も回して十分な時間動作させた上で、
前者が後者の2倍くらいになってしまうのです。
プログラムの処理時間を計っているのですが、
GetThreadTimes()で取得した時間をもとに計算した処理時間(CPU時間)が
timeGetTime()で取得した時間をもとに計算した処理時間(実時間)より長くなりました。
スレッドが複数のコアを同時に使うことはないので
こういうことは起こらないはずだと思うのですが、
どういう場合に起こるのでしょうか。
なお、1/16秒くらいの精度しかないことは、認識しています。
その上でループを何度も回して十分な時間動作させた上で、
前者が後者の2倍くらいになってしまうのです。
186デフォルトの名無しさん
2016/11/29(火) 12:57:55.07ID:NaRikWXT GetThreadTimesで計算したのは処理時間でなくスレッド生成オーバーヘッドとかも含んでるからとか?
187185
2016/11/29(火) 13:40:47.29ID:ITJWJL4i188デフォルトの名無しさん
2016/11/29(火) 13:46:46.72ID:W5POPsuB >>185
思いつくのはこのあたり
・単位は合っているか。GetThreadTimes()は100ナノ秒単位、timeGetTime()は1ミリ秒単位
・GetThreadTimes()の計算方法は、作成時刻から終了時刻までの差なのか、カーネル・ユーザモードの実行時間の合計なのか
・timeGetTime()はいつどのタイミング、またどの場所で呼び出しているのか
・timeGetTime()が計測スレッド内部で実行されているなら
GetThreadTimes()の“作成時刻”からtimeGetTime()が実行されるまでの時間が含まれていない
・timeGetTime()が計測スレッド内部で実行されているなら
終了時のtimeGetTime()の呼び出しからGetThreadTimes()の“終了時刻”までの時間が含まれていない
・カーネル・ユーザモードの合計なら他のスレッドの“実行時間”が含まれていない
思いつくのはこのあたり
・単位は合っているか。GetThreadTimes()は100ナノ秒単位、timeGetTime()は1ミリ秒単位
・GetThreadTimes()の計算方法は、作成時刻から終了時刻までの差なのか、カーネル・ユーザモードの実行時間の合計なのか
・timeGetTime()はいつどのタイミング、またどの場所で呼び出しているのか
・timeGetTime()が計測スレッド内部で実行されているなら
GetThreadTimes()の“作成時刻”からtimeGetTime()が実行されるまでの時間が含まれていない
・timeGetTime()が計測スレッド内部で実行されているなら
終了時のtimeGetTime()の呼び出しからGetThreadTimes()の“終了時刻”までの時間が含まれていない
・カーネル・ユーザモードの合計なら他のスレッドの“実行時間”が含まれていない
189デフォルトの名無しさん
2016/11/29(火) 14:01:14.55ID:W5POPsuB >>187
GetThreadTimes()がtimeGetTime()の2倍なんでしょ?
ただ2倍と言っても1ミリ秒が2ミリ秒になったってのと1分が2分になったというのではかなり違う
平均して何ミリ秒が何ミリ秒になったの?
timeGetTime() チェックポイントA
スレッド作成 ポイントα
timeGetTime() チェックポイントB
いろいろ実行
timeGetTime() チェックポイントC
スレッド終了 ポイントβ
timeGetTime() チェックポイントD
GetThreadTimes()はαやβの時刻であって、timeGetTime()でA〜Dのいずれかで計測しても誤差は生じる。
「スレッドが複数のコアを〜」からすると計測スレッドでチェックポイントを設けているように見受けられるので
B、C間とするとαからBまでの差が含まれていないと思うけど。
ポイントαの時刻って言うのも「スレッドの作成を開始した時刻」なのか「スレッドの作成が完了した時刻」なのかでも誤差は生じる。
GetThreadTimes()がtimeGetTime()の2倍なんでしょ?
ただ2倍と言っても1ミリ秒が2ミリ秒になったってのと1分が2分になったというのではかなり違う
平均して何ミリ秒が何ミリ秒になったの?
timeGetTime() チェックポイントA
スレッド作成 ポイントα
timeGetTime() チェックポイントB
いろいろ実行
timeGetTime() チェックポイントC
スレッド終了 ポイントβ
timeGetTime() チェックポイントD
GetThreadTimes()はαやβの時刻であって、timeGetTime()でA〜Dのいずれかで計測しても誤差は生じる。
「スレッドが複数のコアを〜」からすると計測スレッドでチェックポイントを設けているように見受けられるので
B、C間とするとαからBまでの差が含まれていないと思うけど。
ポイントαの時刻って言うのも「スレッドの作成を開始した時刻」なのか「スレッドの作成が完了した時刻」なのかでも誤差は生じる。
190185
2016/11/29(火) 14:28:28.52ID:ITJWJL4i >>188
・timeGetTime()とGetThreadTimes()の単位の違いは認識しています。
・GetThreadTimes()による時間の計り方ですが、
CreationTimeとExitTimeは一切使用せず、
KernelTimeとUserTimeだけを使用して、チェックポイント間の差を取り、
ユーザーモード時間とカーネルモード時間を個別に出しています。
・スレッドの開始及び終了は、チェックポイント間に入っていません。
>>189のイメージでいう所のBとCの間のいろいろ実行の部分だけを計っている感じです。
>>189
・今動かしてみたら、
500回ほど回して平均を取った上での数字として、
B-C間の測定結果が、
timeGetTime()の場合で9msec
カーネルモード時間が429usec
ユーザモード時間が14037usec
になりました。
2倍までいってませんが、2倍くらいになることもあります。
・スレッド生成及び終了の処理部分は計っていません。
・timeGetTime()とGetThreadTimes()の単位の違いは認識しています。
・GetThreadTimes()による時間の計り方ですが、
CreationTimeとExitTimeは一切使用せず、
KernelTimeとUserTimeだけを使用して、チェックポイント間の差を取り、
ユーザーモード時間とカーネルモード時間を個別に出しています。
・スレッドの開始及び終了は、チェックポイント間に入っていません。
>>189のイメージでいう所のBとCの間のいろいろ実行の部分だけを計っている感じです。
>>189
・今動かしてみたら、
500回ほど回して平均を取った上での数字として、
B-C間の測定結果が、
timeGetTime()の場合で9msec
カーネルモード時間が429usec
ユーザモード時間が14037usec
になりました。
2倍までいってませんが、2倍くらいになることもあります。
・スレッド生成及び終了の処理部分は計っていません。
191デフォルトの名無しさん
2016/11/29(火) 15:45:24.23ID:1SK7brxW GetThreadTimesが必ずしも正確な時間を返さない可能性もある
スレッドの切り替えは可能な限り超早業で行う必要があるので
細かな正確な時間など、二の次かもしれない
もっと長い時間のかかる処理(10秒とか)を走らせてみて
実時間とスレッド時間を比較してみては?
もしそれで上手くいくのなら、スレッド時間の精度の問題という
可能性が濃厚になる
スレッドの切り替えは可能な限り超早業で行う必要があるので
細かな正確な時間など、二の次かもしれない
もっと長い時間のかかる処理(10秒とか)を走らせてみて
実時間とスレッド時間を比較してみては?
もしそれで上手くいくのなら、スレッド時間の精度の問題という
可能性が濃厚になる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【実況】博衣こよりのえちえち歌枠🧪
- 高市「発言は撤回しない。謝罪もするな。外務省局長!任せたぞ。」👈なにをさせたかったの?😲 [826239858]
- 【速報】51歳まで自衛隊になれるように法改正ww [347751896]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
