🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: japan.comp.lang.delphi
Article #5

Re: 画面モード切替後のグラフィックパフォーマンスの低下

#5
From: K.Takaoka
Date: Sat, 25 Dec 1999 00:00
83 lines
4061 bytes
エル@海豚ぞな

林 知紀 wrote:
> 原因というか元凶が判明しました。
> Image1.Refresh
> のコードを実行するのに異常に時間がかかるようです。

画像イメージが DDB (現在の画面に最適化されたもの) で保持されている
ので、解像度や色数を変更すると、DDB を作り直さないと、毎回今の画面
にあわせて変換しないといけないから遅くなっちゃうの

とかいうことはないでしょうか (^^;

>> Windowsの描画は、DC(デバイスコンテキスト)を使って
>> 行われるのが普通です。
>> Delphiからでも、DC関連のAPIは直接操作できますので
>> Cを無理に使う必要はありません。 > 
> APIを使うと2~3倍くらい早くなるような感じがしますが
> 目にもとまらぬ速さで結局ウェイトを入れるので意味なしでした。

Delphi の TCanvas は GDI の API を綺麗にラップしているので
速度的にはメソッドにもよるとは思いますがそんなに変化はないと
思います。

まったく同じ内容を API と TCanvas のメソッドで呼び比べてみた
りしてはいかがでしょう ?

> Delphi4についていたMicrosoft SDKヘルプファイルを見ながら
> 試してみたのですが、

Delphi2, 4 には日本語版の SDK Help も付属していますよね?
# 一番安い Desktop(Standard/Learning) 版でもついているはず

でも、英語のも日本語のも「情報が古い」ので最新の情報も確認
するようにするのが良いと思います (^^;

>> C++に乗り換える時、一時期苦しみましたが、今では良かった
>> と思っています。
>> もし、C++への移行に迷っていたら、この際乗り換えるのも悪く
>> ないと思いますよ。
> でもポインタとかを操作するとよく飛んでいってしまうので
> できればC++に移行したくないんです。
> それと文字列の操作が面倒くさそうなのが難点です。

仕事では C/C++ (ほぼ C++) を使いますが、捨てられるものなら
捨てたいと思うことが多々あります。

文字列操作なんかは、Delphi の String に相当するものは、大抵
の C++ ライブラリは持っていますので、あんまり気にならないと
ころだとは思います。

> でもいまだに、(Sender: TObject) の意味が良くわかりません。
> このあたりのことを分かりやすく解説してくれる本はないでしょうか。

Delphi についてた「開発者ガイド」だったか「プログラミング入門」
だったかを読んだら、わかったよーな....

---
まっさらのフォームに、ボタンを2つ置きます。
Button1, Button2 ができあがると思いますので、SHIFT キーを押しな
がら2つのボタンをクリックします。

オブジェクトインスペクタ(プロパティの設定する奴ね)が中途半端
に歯抜けな状態になったと思いますので、「イベント」タブから
OnClick を選んで、ダブルクリックします。

コードエディタ(ソースコード書く場所ね)に

procedure TForm1.Button1Click(Sender: TObject);
begin
  
end;

と出ると思いますので、

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('これは' + TButton(Sender).Caption + 'です.');
end;

とでも書いて、「保存」「コンパイル」「実行」します。

button1, button2 を押してみてください。
Technical Details
Message-ID: <3863A043.5E1698E2@din.or.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <83ou3d$jvv$1@nw041.infoweb.ne.jp> <3860CAFB.E16988D7@po.teleway.ne.jp> <83u3iq$i92$1@nw041.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/25
Message-ID: <3863A043.5E1698E2@din.or.jp>
X-Deja-AN: 564572998
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>
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