Article View: japan.comp.lang.delphi
Article #9Re: 画面モード切替後のグラフィックパフォーマンスの低下
From: K.Takaoka
Date: Sun, 26 Dec 1999 00:00
Date: Sun, 26 Dec 1999 00:00
48 lines
2835 bytes
2835 bytes
える@海豚ぞな 林 知紀 wrote: > ただTForm.CanvasとTPainBox.Canvasに共通する欠点として > フォームが他のアプリケーションのウインドウに隠されたときなどの > フォームの自動描画が行われないことがあります。 もしかして、根本的に「Windows の描画アルゴリズム」を誤解されていま せんか ? Windows では (C/C++/VB/Delphi/なんでも) アタリマエのことなのですが、 Form1.Canvas や PaintBox1.Canvas に、OnPaint 以外の場所で描画を行う ことは無意味に近いです。 Windows の描画ははしょって書くと 1. Form, ボタン などが画面に現れる。 (隠れていたのが見えるようになるとか、新規に出現するとか) 2. 現れた部品(Form. ボタン)は全て「無効な内容」であるとされる 3. Windows は「無効な内容」を発見すると「描画してくれ」と通達する 4. 通達を受けると、部品(Form, ボタン) の Paint が呼ばれて描画される (ここで OnPaint が発生します) 5. 無効な部分は描画されて「有効」になる。 という感じです、部分的にほかのウィンドウで隠れたりすると、そこは 「無効」になり、再び見えるようになると、「有効」にするために「描画」 を行う必要があります。 同様に無効にならないと Windows は描画をしようとしないので、 Form1 や PaintBox1 で PaintBox1.Canvas.Draw(0, 0, bitmap); のようなことをしている状態で、bitmap に変更を加えても何も画面上に は変化が現れないことになります。 PaintBox1.Invalidate; と、PaintBox1 を「無効」な状態にすると、Windows はもし PaintBox1 が 画面上に見えていたら、そこを有効にするために、PaintBox1.Paint を呼び だして、PaintBox1.OnPaint で再び bitmap を書くことで画面上の状態が 変化する、という具合です。
Technical Details
Message-ID:
<38661455.CECA03D4@din.or.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<83ou3d$jvv$1@nw041.infoweb.ne.jp> <3860CAFB.E16988D7@po.teleway.ne.jp> <83u3iq$i92$1@nw041.infoweb.ne.jp> <842u63$fpk@www.net0726.or.jp> <8451vt$ojp$1@nw042.infoweb.ne.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 110a07,f2bd283c630b1b34 X-Google-Attributes: gid110a07,public X-Google-Thread: feb2e,f2bd283c630b1b34 X-Google-Attributes: gidfeb2e,public X-Google-Thread: fecfa,f2bd283c630b1b34 X-Google-Attributes: gidfecfa,public From: "K.Takaoka" <saepro@din.or.jp> Subject: Re: 画面モード切替後のグラフィックパフォーマンスの低下 Date: 1999/12/26 Message-ID: <38661455.CECA03D4@din.or.jp> X-Deja-AN: 565003039 Content-Transfer-Encoding: 7bit References: <83ou3d$jvv$1@nw041.infoweb.ne.jp> <3860CAFB.E16988D7@po.teleway.ne.jp> <83u3iq$i92$1@nw041.infoweb.ne.jp> <842u63$fpk@www.net0726.or.jp> <8451vt$ojp$1@nw042.infoweb.ne.jp> X-Accept-Language: ja,en Content-Type: text/plain; charset=iso-2022-jp Organization: DOLPHIN INTERNET, Tokyo, Japan. Mime-Version: 1.0 Newsgroups: japan.comp.lang.delphi,fj.comp.lang.pascal,fj.os.ms-windows.programming