記事No |
: 302 |
投稿日 |
: 2024/04/13(Sat) 19:07:13 |
投稿者 |
: You |
GuruGuruSMF は何だか良いオモチャになっているようですね。
Win10 2004 以降では timeBeginPeriod がプロセス内に限定されるのは知りませんでした。
確かにドキュメントに明記されてましたが、こんな簡単なAPIのドキュメントは今更見ないし…
timeBeginPeriod のドキュメントにはこんな記述も有りますね。
> Windows 11以降、ウィンドウ所有プロセスがエンド ユーザーに完全に隠された、最小化された、またはその他の方法で目に見えない、> または聞き取れなくなる場合、Windows は既定のシステム解像度よりも高い解像度を保証しません。> この動作の詳細については、「 SetProcessInformation 」を参照してください。実際に試してみましたが、確かにWin11だと timeBeginPeriod(1) をコールしても
ウィンドウ最小化時にタイマー精度が15ms程度に戻るようです。
ウィンドウを持たないプロセスだと設定した精度が維持されていたので、
kbrunkpi.exe 経由で実行されるプラグインは問題が起きないと思いますが、
32bit版の本体から直接実行される kbGuru2SMF.kpi は、本体を最小化した時に影響が出るかもしれません。
一応この現象のテストAPPのソースを添付しておきます。
※2024/04/13 22:26 : 添付ファイル内の誤記を修正
(70KB)
記事編集