トップページ > プログラム > 2014年09月19日 > NQv2WdNb

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

1 位/221 ID中時間01234567891011121314151617181920212223Total
書き込み数00000300000103000123001014



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Win32API質問箱 Build118
Cygwin + MinGW + GCC 相談室 Part 7

書き込みレス一覧

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

こういう仕組みらしいです。
ブラウザなら先にフォントを作っておけるけど、普通のアプリだと厳しいかな。


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