忍者ブログ

RAPTのブログ

自サイトに書ききれなくなってしまったので、こちらに退避します。
ま、自サイトと異なり、ここではもっとフランクに行こうかと。

[PR]

2025/07/13(Sun)21:14

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

No.|CommentTrackback

Donut RAPT の新たな試み

2006/11/28(Tue)00:43

2006/11/26 Donut RAPT #96 をリリースしました。

─起─
Donut RAPT は、今までも色々と斬新な試みを行なってきました。
古くは、セキュリティ等機能の一括切り替えを搭載したり、IE とお気に入りを共有しつつも同時にセキュリティ設定を追加できたり、など、今では他のブラウザに普通に搭載されている機能をいち早く搭載してきました。



─承─
ここで、また新たなことに気付きました。
「お気に入りは分かりやすいのに、ページを開いたら分かりにくい?」

ブラウザで好きなページをお気に入りに登録する際、通常では、そのページの作者が設定したタイトルで保存されますが、お気に入りのタイトルは、自由に変更できます。

しかし、せっかく分かりやすいタイトルで保存したのに、そのお気に入りを開くと、そのページのタイトルは自分にとって分かりにくいものに変わってしまいます。


例えば、新しい家具を買うとして、「候補1」、「候補2」としてお気に入りに登録したとします。ところが、このページを開くと、もはやタイトルは「候補1」、「候補2」ではなくなってしまいます!

これでは、せっかく開いたページのうち、どっちがどっちなのか分からなくなってしまうのです。



─転─
特に最近、検索エンジンに引っかかりやすくするためと称するSEO対策により、非常に長いタイトルをつけるページや、無駄に長すぎる意味不明なページもよく見かけます。

結局何が言いたいのか、を自分で
分かりやすくするために、ページのタイトルを自分で指定できたら便利
だよな、ということで、以前から、Donut RAPT では、一時的にタブ名を変更する機能がありました。

これを、もっと拡大して、お気に入りから開いたときは、お気に入りの名前のままのタブを作る。
そのタブを使いまわしている間は、タブ名を変更しないことにより、そのタブをうまく分類できるのではないかと考えました。



─結─
そこで、Donut RAPT #96 では、お気に入りから開いたとき、及びタブ名を変更したときは、そのタブ名を維持できるようにしました。この機能を有効にするには、
[ツール]-[Donut のオプション]-[ツールバー]-[タブバー]-
[変更したタイトルを維持する]

にチェックを入れてください。

上記のオプションのチェックが外れている状態では、従来互換となります。すなわち、タブ名の変更は一時的な変更となり、お気に入りから開いた場合であってもタブ名は自動的にページのタイトルが設定されます。

なお、「変更したタイトルを維持する」設定になっている場合でも、従来どおり [子ウィンドウ]-[ウィンドウ特性]-[タブ名変更] で、タブ名を空にして [OK] ボタンを押下すれば、タイトルを自動取得するようになります。

今回の新しい提案、
「お気に入りから開いたページは、タブのタイトルもそのまま」
いかがでしょうか。



(2006/12/02 スクリーンショット追加。)
※“タブ名を維持する”が無効のときは、↓のようになります。“タブ名を維持する”が無効


※“タブ名を維持する”を有効にしてお気に入りを開くと↓“タブ名を維持する”が有効

なお、“タブ名を維持する”が有効になっていても、ツールチップで本来のタイトルを手軽に確認することができます。
“タブ名を維持する”が有効なときのツールチップ
PR

No.15|Donut 関連Comment(0)Trackback

最適化

2006/09/28(Thu)00:50

Donut RAPT/L/Q は未だに VC++6.0 で作成されています。VC++6.0 は Windows 2000 が発売される前に出たもので、かなり古い開発環境です。しかも、Standard 版を使っているため、最適化機能はありません。

そのため、拙作のソースを Professional 版で最適化付きでビルドするだけで、パフォーマンスの向上や、サイズの最小化を行うことも可能です。

Standard 版の制限は、最適化機能だけでなく、プロファイラが無い事もあげられます。通常の開発では、ある程度完成したら、プロファイリングを行ない、動作が遅い個所を調査し、改善を図るための目安とするものです。しかし、Donut ではこれがないため、基本的に全部手探りで行なっています。


では、どうやって Donut Q で高速化を図ることができたのか。
今まで、Donut RAPT/L では、作成当時の開発環境が Windows 98 であったこともあって、なるべくシステムリソースを消費しない作りにすることが美徳であるような時代でした。メモリを節約するため、地道な作業をやっていました。

しかし、この「地道な作業」というのは、作業効率上はあまり望ましくありませんでした。そこで、Donut Q では、メモリを潤沢に使うことで、今まである処理を1つずつ順番に処理していたのを、一気にまとめて処理するように変更するようにでき、結果として処理速度を大幅に向上できるようになりました。

また、プロファイラや最適化機能がない分は、カンとアタリとカタコトのアセンブラの知識で対処していました。もっとも、アセンブラと言ってもアセンブラコードを書けるという意味ではなく、コンパイラの翻訳結果を見て、最も処理コード数が少ない方法を選択するという地味な作業でした。

例えば、クラスのインスタンスのメンバ変数を参照するよりも、一度別の変数に値をコピーしてから、そのコピー後の変数を使ってループした方が速いだとか、INI 設定ファイルの読み書きは、従来の1行単位から1セクション単位に変更し、メモリ内で値の置き換えを行なうようにするだとか。


Donut は元々 .cpp ファイルは 1 つしかなく、すべてのコードはヘッダファイルに記載することになる上、構造が複雑になりすぎ、ちょっと気を抜くと依存関係が分かりにくくなるという構造上の欠点も開発を難航させている原因の1つになっています。

最近、会社の方の仕事もあって、VC++.NET でもコードを書けるようになりました。VC++.NET では最適化機能は標準で付属しているので、こちらでコードを書けるようになれば、成果物も作業効率も向上すると思います。が、当面は VC++6 での開発になりそうな気がするなぁ。。。

No.10|Donut 関連Comment(0)Trackback