🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#4
From: 林 知紀
Date: Fri, 24 Dec 1999 00:00
88 lines
4467 bytes
フォローありがとうございます。

原因というか元凶が判明しました。
Image1.Refresh
のコードを実行するのに異常に時間がかかるようです。
結局 TForm.Canvas に直接描画する形をとり、
パフォーマンスの低下を防ぐことが出来ました。
でも TImage を使うことをまるっきり諦めなければならないので
汎用性やプログラムの構築に関する生産性が悪くなりそうです。
まあどちらにせよほとんどTBitmapで表示するための画像を作成してるので
僕自身は大して困らなさそうです。

多分 TImage オブジェクトのバグみたいなものなのかと思います。
Delphi5だとこのあたりはどうなってるのでしょうか?
改善されてるのなら乗り換えたい気持ちもあります。


> Windowsの描画は、DC(デバイスコンテキスト)を使って
> 行われるのが普通です。
> Delphiからでも、DC関連のAPIは直接操作できますので
> Cを無理に使う必要はありません。 

APIを使うと2~3倍くらい早くなるような感じがしますが
目にもとまらぬ速さで結局ウェイトを入れるので意味なしでした。
APIを直接操作することになれていないので
Delphiのコードを使うことにします。

Delphi4についていたMicrosoft SDKヘルプファイルを見ながら
試してみたのですが、
引数とかが全部Cの型で書かれていて焦りましたが
(しかも全部英語。専門用語って難しいです。
雰囲気で読み飛ばすしかなかった)
実際の入力の時には入力補助がPascalの変数の型で表示されたので
案ずるより生むが易しといった感じでした。


> 以下、余談です。
>
> > #せっかくPascalの使い方を覚えてきたので
> > #なんかもったいないです。
>
> 僕も、以前はPascal党でした。
> VCLなど使わずに、すべてAPIで、ラブラリも全て自作で
> プログラムしていました。
>
> #「どうせ趣味だ、自己満足でどこが悪い」の世界です(^^。
>
> でも今は、C++を使っています。
> 直接の理由は、DirectXのPascal用のヘッダーを手に入れる
> のが難しかったからですが、その他にも「ほとんどの解説書が
> C++を前提にして書かれている」からです。
>
> C++に乗り換える時、一時期苦しみましたが、今では良かった
> と思っています。
> もし、C++への移行に迷っていたら、この際乗り換えるのも悪く
> ないと思いますよ。

そうですね。
でもポインタとかを操作するとよく飛んでいってしまうので
できればC++に移行したくないんです。
それと文字列の操作が面倒くさそうなのが難点です。

> では。
>
> 追伸 
>     Pascalの耽美的なソースコードに惚れぬいているなら
>     インプレス出版の「Delphi 32bitパワープログラミング」を
>     一読してみる事をお薦めします。

今度大阪に出たときに探してみます。
最近はDelphiの本も結構多くでてきているので
便利ですよね。
でもいまだに、(Sender: TObject) の意味が良くわかりません。
このあたりのことを分かりやすく解説してくれる本はないでしょうか。

それではこれで失礼します。
結構参考になりました。
どうもありがとうございました。


くるくるくるくるくるくるくるくるくるくるくるくる

   林 知紀
    PHS   070-5044-6775
         Office 06-6411-1891
         fwhx4467@mb.infoweb.ne.jp

くるくるくるくるくるくるくるくるくるくるくるくる
Technical Details
Message-ID: <83u3iq$i92$1@nw041.infoweb.ne.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <83ou3d$jvv$1@nw041.infoweb.ne.jp> <3860CAFB.E16988D7@po.teleway.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: fecfa,f2bd283c630b1b34
X-Google-Attributes: gidfecfa,public
X-Google-Thread: feb2e,f2bd283c630b1b34
X-Google-Attributes: gidfeb2e,public
From: 林 知紀 <fwhx4467@mb.infoweb.ne.jp>
Subject: Re: 画面モード切替後のグラフィックパフォーマンスの低下
Date: 1999/12/24
Message-ID: <83u3iq$i92$1@nw041.infoweb.ne.jp>
X-Deja-AN: 564324798
Content-Transfer-Encoding: 7bit
References: <83ou3d$jvv$1@nw041.infoweb.ne.jp> <3860CAFB.E16988D7@po.teleway.ne.jp>
X-Priority: 3
Content-Type: text/plain; charset="iso-2022-jp"
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300
X-Complaints-To: -
X-Trace: nw041.infoweb.ne.jp 945983898 18722 202.219.28.225 (23 Dec 1999 21:18:18 GMT)
Organization: Nifty News Service
X-MSMail-Priority: Normal
Mime-Version: 1.0
NNTP-Posting-Date: 23 Dec 1999 21:18:18 GMT
Newsgroups: japan.comp.lang.delphi,fj.comp.lang.pascal,fj.os.ms-windows.programming