- Win32API質問箱 Build118
350 :デフォルトの名無しさん[]:2014/09/19(金) 05:06:53.00 ID:NQv2WdNb - 描画に使うフォントは一般的にどこで生成しますか?
WM_PAINTの中でCreateFont()→DeleteObject()を200回繰り返しても速度的に まったく問題ありませんでした。 本来は予め生成したものを使いまわすのですか? 他のプラットフォームではフォントの生成に時間がかかりますが、Windowsには GDIオブジェクトの最大数に制限が有るので悩みます。
|
- Win32API質問箱 Build118
352 :デフォルトの名無しさん[]:2014/09/19(金) 05:26:21.20 ID:NQv2WdNb - >>351
他のプラットフォームでは使いまわす以外の選択肢が有りません。 たとえばXでは、Exposeイベントの中でフォントを生成すると、ユーザーは アプリケーションがフリーズしたかのような印象を受けます。 Windowsでは、まったく問題のない(まるでPENを生成する程度の)速度が 出るので、質問しています。
|
- Win32API質問箱 Build118
353 :デフォルトの名無しさん[]:2014/09/19(金) 05:31:30.16 ID:NQv2WdNb - WindowsはWM_PAINTの中でフォントの生成と破棄を繰り返すように設計されている
のではないか?という疑問です。 単純に速いだけで、予め生成しておくものなんですかね?
|
- Cygwin + MinGW + GCC 相談室 Part 7
949 :デフォルトの名無しさん[]:2014/09/19(金) 11:03:15.29 ID:NQv2WdNb - OSXにgccがプリインストールされなくなったので、実質使われることは
無くなったんじゃないですかね。 唯一Linuxが未だにgccデフォなんですが、Linuxの人たちってプログラミング しないですしね。
|
- Cygwin + MinGW + GCC 相談室 Part 7
955 :デフォルトの名無しさん[]:2014/09/19(金) 13:18:45.42 ID:NQv2WdNb - VSに追いつくのは無理だと思う。
gccとClangを比較した記事を読めば、gccがオワコンなのがわかると思います。 Clangとclから選ぶ時代が来たんじゃないでしょうか。 ARMはgcc一択という書き込みをどこかで見たのですが、そういう書き込み自体が gccの状況を表していると思います。 gcc押しの人は、実際gcc使っていないんですよ。 というか、プログラミング自体していない。
|
- Cygwin + MinGW + GCC 相談室 Part 7
956 :デフォルトの名無しさん[]:2014/09/19(金) 13:26:20.49 ID:NQv2WdNb - ARMの大部分はRAMが数百バイト〜というような貧弱な環境なので、そもそも
gccなんか出る幕ないんですけどね。 そういう使われるわけのない部分でgcc一択などと言ってる部分にgccの 状況を垣間見てしまいます。
|
- Cygwin + MinGW + GCC 相談室 Part 7
959 :デフォルトの名無しさん[]:2014/09/19(金) 13:53:33.25 ID:NQv2WdNb - >>958
AppleのClangかMicrosoftのclか二択の時代ですよ。 gccはゴミ箱に入れればいいと思います。 どうしても使いたいときはタイムマシンで復元すればいいですしね。 ゴミ箱行きを強く推奨します。
|
- Cygwin + MinGW + GCC 相談室 Part 7
969 :デフォルトの名無しさん[]:2014/09/19(金) 17:02:57.52 ID:NQv2WdNb - まあまあ、これでも見て落ち着きなさい。
https://www.youtube.com/watch?v=1xHHonXJkwA
|
- Win32API質問箱 Build118
365 :デフォルトの名無しさん[]:2014/09/19(金) 18:23:22.22 ID:NQv2WdNb - >>361
どうもです。 >>364 WM_CLOSEはウィンドウを閉じるときに来るけど、現行のウィンドウズでウィンドウを閉じると そのウィンドウは最小化する。 例えば、デスクトップ直下のウィンドウを閉じるとタスクバーに入る状態になる。 この状態でWM_PAINTが来るとすると、サムネイルの表示くらいかと思うけど、 そこらへんどうなんだろう。 あと、最小化状態から復元するときに、フォントを回復するのかな。 等といろいろ疑問が有るんだけど。
|
- Win32API質問箱 Build118
367 :デフォルトの名無しさん[]:2014/09/19(金) 18:45:13.26 ID:NQv2WdNb - >>366
::CloseWindow()を呼び出すと来るんじゃないですかね。 Xlibの方はちょっと絶望的ですね。 早くする方法がないかと調べてたら、すごいの見つけてしまった。 こんな環境も考慮しないといけないんだろな。 フォントサーバ方式はいろいろ欠点が目につきます。 http://pc11.2ch.net/test/read.cgi/linux/1199010247/52 > XCreateFontSetにやたら時間がかかる(2秒くらい)
|
- Win32API質問箱 Build118
369 :デフォルトの名無しさん[]:2014/09/19(金) 19:24:41.22 ID:NQv2WdNb - http://i.imgur.com/uNuPm7z.png
フォントのサイズもいまいちよくわからない。 背景がグレーの部分は高さ16px、白い部分はブラウザからコピペした部分。 文字は両方とも高さ16pxを指定しているんだけど、文字の一番上から下まで数えると、 CreateFont()の方は15px、ブラウザの方は17pxある。 これはどうしとくのが良いんだろ。 CreateFont()の方は、Meryo UIを指定したのでポのマルがちょっと高いんだけど、 Meiryoに変えてもマルが下にずれただけだった。 画像作りなおすのがめんどくさいのでそのままだけど。
|
- Win32API質問箱 Build118
372 :デフォルトの名無しさん[]:2014/09/19(金) 19:31:08.99 ID:NQv2WdNb - >>370
MM_TEXTだからたぶんあってるはず。 >>371 pxで指定してる。
|
- Win32API質問箱 Build118
373 :デフォルトの名無しさん[]:2014/09/19(金) 19:35:03.74 ID:NQv2WdNb - tmInternalLeadingが関係してるのかな。
ちょうどその位の差だけど。
|
- Win32API質問箱 Build118
374 :デフォルトの名無しさん[]:2014/09/19(金) 22:11:06.80 ID:NQv2WdNb - https://code.google.com/p/chromium/codesearch#chromium/src/ui/gfx/platform_font_win.cc&l=268
こういう仕組みらしいです。 ブラウザなら先にフォントを作っておけるけど、普通のアプリだと厳しいかな。
|