C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 25 を表示中)
■11376 / )  Re[10]: ListViewのちらつき、仮想化について
□投稿者/ NyaRuRu (27回)-(2007/12/13(Thu) 00:35:27)
2007/12/13(Thu) 01:41:34 編集(投稿者)
2007/12/13(Thu) 00:45:51 編集(投稿者)
2007/12/13(Thu) 00:44:46 編集(投稿者)
2007/12/13(Thu) 00:39:33 編集(投稿者)
2007/12/13(Thu) 00:37:31 編集(投稿者)
No11371 (れい さん) に返信
> 2007/12/12(Wed) 23:23:34 編集(投稿者)
>
> ■No11365 (NyaRuRu さん) に返信
>>あと,「ちらつき」という言葉の曖昧さを避けるとすれば,現象を「フリッカ」と「ティアリング」に区別した方が良いのかもしれませんね.
>
> 「フリッカ」とは何を指すのでしょう?
> 「ティアリング」はかなり厳密な定義があると思うのですが、
> それと並べられるほど厳密な定義を私は知りません。
> 教えていただけるとうれしいです。

明暗の違いなどが頻繁に繰り返される状況で,ちょうどれいさんの定義の「ちらつく」が該当するように思いました.
れいさんの定義の「ちらつく」はティアリングを除いているのですよね?
後述の WS_EX_COMPOSITED で英語サイトを検索してみると,flickering という単語がよく出てきますが,彼らの言っている flickering の意味で,かつ tearing を含まない「ちらつき」に限定して話したい場合,「フリッカ」または flickering と書いた方が意思の疎通は図りやすいかなと思います.

>>WinForms (というか Windows の描画モデル) の問題には,コントロール同士の重なり (*1) に起因する「ちらつき」もあって,こちらはたとえ Form の DoubleBuffered を有効にしても (*2) Windows XP では解消できません.
>
> なんかちょっと私の理解と違います。
> (中略)

なるほど.WS_EX_COMPOSITED はちゃんと理解していなかったので勉強になりました.

>#「ちらつき」=「ダブルバッファで解決」
>#「原因の理解を放棄したような図式」=「ダメ」
>#この2者は何が違うんでしょうか?

すみません.そのあたりの議論をしたいわけではないので取り下げます.

>>なので個人的には「ちらつき」=「ダブルバッファで解決」みたいな,原因の理解を放棄したような図式は嫌いだったり.
>
> 今回は「ちらつき」「ListView」「仮想化」という単語が並んでいて、
> 「ダブルバッファ」が一回も出てこないなら、
> 「してみたら?」と原因も考えずに言うのも価値はありかなと思います。
> 知らないかもしれないし。

その辺は多分アプローチの違いでしょうね.
私は掲示板で何度もやりとりを繰り返して投稿数が増えていくのが嫌いなので.
とりあえず私が出てこない方が話が進みやすそうなのでこれでひっこみます.

横道にそれさせてしまってすみませんでした.

(追記)
すみません,一点だけ.

>Control.DoubleBufferedはWS_EX_COMPOSITEDを指定するような実装になっていて、

これの情報源が分かれば教えて頂きたいです.
返信 編集キー/


管理者用

- Child Tree -