クライアントエリア外への描画に関して – プログラミング – Home

クライアントエリア外への描画に関して
 
通知
すべてクリア

[解決済] クライアントエリア外への描画に関して


Tome
 Tome
(@Tome)
ゲスト
結合: 18年前
投稿: 36
Topic starter  

かなりの高さを持つページの一部をクライアントエリアに表示する場合、クライアントエリア外の表
示アイテムは何らかのカリング処理をするべきでしょうか?

例えば300*300のクライアントエリアを持つウィンドウにて、

Rectangle( hDC, x, y, w, h );

というプログラムにおいて、

RECT rc;
GetClientRect( &rc );

if( y < rc.bottom && (y + h) >= 0 )
{
Rectangle( hDC, x, y, 10, 10 );
}

とした方がいいのか?
ということです。

懸念すべきは処理速度です。

環境は
WinXP
VisualC++6.0
です

初心者の分際で申し訳ありませんが、よろしくおねがいします。


引用未解決
トピックタグ
Tome
 Tome
(@Tome)
ゲスト
結合: 18年前
投稿: 36
Topic starter  

> 例えば300*300のクライアントエリアを持つウィンドウにて、
300 * 300って使ってないですね。
すみません。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

システムが内部で同じ判定をしていますから、
(A)矩形が描画される場合→同じ判定を二度するので無駄
(B)矩形が描画されない場合→関数呼出しの分だけ得
となり、可もなく不可もなくといったところでしょう。

だったら、コードが単純なほうが良いです。

矩形が何万個もあって、その殆どが描画域外にあるとかなら、
(B)の方が効いてきて、意味が出てくるかもしれませんが。


返信引用
Tome
 Tome
(@Tome)
ゲスト
結合: 18年前
投稿: 36
Topic starter  

> システムが内部で同じ判定をしていますから、
それが知りたかった。

dairygoodssaさんありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました