🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

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

#22
From: HIRAO
Date: Thu, 13 Jan 2000 00:00
57 lines
3769 bytes
> "HIRAO" <hirao@dog.net0726.or.jp> wrote in message
> news:84fins$r2e@www.net0726.or.jp...
> > 林 知紀 wrote in message <84ci6q$57i$2@nw042.infoweb.ne.jp>...
> >
> > >あと、コンパイルの速さが段違いだと聞きましたが本当なのでしょうか
> > >(確かにDelphiのコンパイルはコンパイルしていることに気づかないくらい速
> > >い)
> >
> >  Cはいろいろとファイルを扱いますので、そう言うことになるんですね…
> > うちの場合はC++Builderで部分的に再コンパイルするだけで、数十秒ぐらいは
> > かかります。(IDEでプロパティーの変更ぐらいでそう言うことになってしまい
> > ますのでこう言うときはちょっといらいらします(^^;; STLのせい?
> > 最低で数万行ってコンパイルしている… 再構築は数十万行〔30秒から1分以
> > 上〕)
>
>  この最低でも数万行コンパイルしているという件ですが、
> STLのせいでした。
>  vectorのヘッダーをincludeするだけで数万行のコンパイルが必要に
> なってしまいます。
>  それを直接に使っていないユニットのコンパイルでも、STLを使っている
> ユニットのヘッダーをincludeしていると、プロパティーの変更ぐらいでも
> STLのヘッダーのコンパイルまでしてしまうと言うことになっていました。
>  それで改善策ですが、プリコンパイルのマクロを使って、STLが必要な

 “プリコンパイルのマクロ”ではなくて“プリプロセッサ指令”でした。
具体的に書くと、

#ifdef stl_on        /*ヘッダー内ではSTL関係をスキップする*/
#include <vector>
#endif

#define stl_on       /*STLの必要なコンパイルの時は…*/
#include "UnitX.h"
#undef stl_on

STLを使っているユニットを他のユニットでincludeしているときの対策です。

> コンパイルの場合以外はSTLの関係をスキップするようにしました。
>  それにより他のユニットのコンパイルの場合は、1万行までのコンパイル
> で終わるようになりましたので、数秒で終わるようになりました。

 STLの使用には数万行のコンパイルが必要になるのですが、
ウイルス監視ソフトを動かしている状態でそれを行なうと
15秒ぐらい掛かります。
通常の状態では数秒で終わり、時間が掛かった原因はウイルス監視ソフトのせいでし
た。

 C++BuilderはSTLを使うと余分に数秒コンパイル時間が掛かるように
なりますが、VCL自体はヘッダーがキャッシュされるので、簡単なプロ
グラムなら、C++Builderでも一瞬でコンパイルできます。

 STLとはC++言語用の連想配列などその他多くの機能を提供する標準ライブラリーの
ことです。


平生 ゆう
hirao@dog.net0726.or.jp
Technical Details
Message-ID: <85kejh$40b@www.net0726.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> <842u63$fpk@www.net0726.or.jp> <8451vt$ojp$1@nw042.infoweb.ne.jp> <84atrv$csu@www.net0726.or.jp> <84ci6q$57i$2@nw042.infoweb.ne.jp> <84fins$r2e@www.net0726.or.jp> <84vdo8$ms6@www.net0726.or.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: "HIRAO" <hirao@dog.net0726.or.jp>
Subject: Re: 画面モード切替後のグラフィックパフォーマンスの低下
Date: 2000/01/13
Message-ID: <85kejh$40b@www.net0726.or.jp>
X-Deja-AN: 572059430
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> <84atrv$csu@www.net0726.or.jp> <84ci6q$57i$2@nw042.infoweb.ne.jp> <84fins$r2e@www.net0726.or.jp> <84vdo8$ms6@www.net0726.or.jp>
Organization: NET0726
X-MSMail-Priority: Normal
X-Priority: 3
Content-Type: text/plain; charset="iso-2022-jp"
Mime-Version: 1.0
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600
Newsgroups: japan.comp.lang.delphi,fj.comp.lang.pascal,fj.os.ms-windows.programming