メインメニュー
検索
ログイン
ユーザ名:

パスワード:


パスワードを忘れた

新規登録
Squeak関連書籍
Smalltalk関連書籍
メイン
   Squeakプログラミング
     表示
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
webmaster
投稿日時: 2007-4-17 0:55
管理人
登録日: 2004-11-16
居住地:
投稿: 85
Re: 表示
なにを作ろうとされているのか分からないので、ちょっとアドバイスもしにくいのですが、またなにかあったらここで訊いていただければと思います
saiki
投稿日時: 2007-4-16 9:22
新米
登録日: 2007-4-6
居住地:
投稿: 15
Re: 表示
報告します

以下の確認(私の方法 モーフ作成の直前にTranscript show: を入れて画面保持を止めることでモーフの表示状況を目視できる)ができました

1)「モーフの組み立て構造の問題点」
 1−1:
2 timesRepeat: [
5 timesRepeat: [ モーフ作成 」」. は遅くなる

 1−2:
Dictionary に大量の値(10000個)をセットして検索を繰り返すのは遅くなる
 
 1−3:AlignmentMorph に沢山モーフをセットすると遅くなる
     (1個づつセットするか Morph にする)

2)Vistaでの確認
 1)の対策を行った結果、100個のテキスト入力表示が納得できる速さになりました

以上 ありがとうございました

追記
   今後は、TextMorphをカスタマイズを検討したいと思います
   アドバイスがあればよろしくお願いします
 

saiki
投稿日時: 2007-4-15 11:44
新米
登録日: 2007-4-6
居住地:
投稿: 15
Re: 表示
大変ありがとうございます

確認(私の方法 モーフ作成の直前にTranscript show: を入れる)したところ
1. openした後のモーフの描画 は早くなっていました
2. モーフを組み立てて、openするまでは モーフの中にモーフを入れる階層が深い(3階層)部分が非常に遅い事がわかりました

従って、以下のようにしたいと思います
1)「モーフの組み立て構造を」見直す
2)TextMorphをカスタマイズを検討する


以上 ありがとうございなす

追記:
私の場合、PCの性能がVistは高いので、表示が数倍早い状況です
4月16日にもう一度Vistaで確認してみたいとおもいます



webmaster
投稿日時: 2007-4-15 5:22
管理人
登録日: 2004-11-16
居住地:
投稿: 85
Re: 表示
引用:
saikiさんは書きました:
Morph、RectangleMorph、(aMorph wrappedInWindowWithTitle: 'a Morph in SystemWindow') openInHand.
以上の3種類について、WindowsXpで確認したところ
違いを感じませんでした

残念、効果ナシですか

ちなみに問題となっている「表示」はどちらを指してますでしょうか?
1. openした後のモーフの描画
2. モーフを組み立てて、openするまで

MorphicModelを利用する方法は、1.にかかる処理コストを軽減するものです。また、それも画面上に多くのモーフが重なりあうような状況でなければ、体感出来るほどの効果はないかもしれません。


もし問題が2.であれば、表示ではなく、モーフの組み立てにかかるコストが大きいのだと思います。
シンプルな部分の比較ですが、私の使用している環境で、PluggableTextMorphとEllipseMorphの生成にかかる時間を計測すると、以下のようになります。

[1000 timesRepeat: [PluggableTextMorph new]] timeToRun.
>> 13763 msec

[ 1000 timesRepeat: [EllipseMorph new]] timeToRun.
>> 10 msec

PluggableTextMorphの方が、1000倍以上時間がかかっています。MessageTallyなどを使って調べるとわかりますが、内部に含むScrollBarの組み立てがかなり重いようです。


テキストの改行をサポートする必要がなければ、TextMorphをカスタマイズして使用するのが良いと思います。生成コストがEllipseMorphとそう変わりありません
改行をサポートする必要がある場合は、、、PluggableTextMorphを改装することになると思いますが、手間がかかりそうですね。


引用:
4月16日にもう一度WindowsVistaで確認して連絡させていただきます

使用するSqueakVMが同じものなら、PCの性能を反映する以外はXPの場合とそう変わらないと思います。
今のところ、Vistaに最適化してはいないようなので。
saiki
投稿日時: 2007-4-14 22:06
新米
登録日: 2007-4-6
居住地:
投稿: 15
Re: 表示
対応ありがとうございます

Morph、RectangleMorph、(aMorph wrappedInWindowWithTitle: 'a Morph in SystemWindow') openInHand.
以上の3種類について、WindowsXpで確認したところ
違いを感じませんでした

4月16日にもう一度WindowsVistaで確認して連絡させていただきます

以上 よろしくお願いします

webmaster
投稿日時: 2007-4-13 22:37
管理人
登録日: 2004-11-16
居住地:
投稿: 85
Re: 表示
おそらく、土台にするモーフを AlignmentMorph ではなく、MorphicModel(のサブクラス)にすると、状況が改善されると思います。
手っ取り早いのは SystemWindow を利用することです。
以下のようにすると、どんなモーフでも SystemWindow の中にサブモーフとして入れることができます。

(aMorph wrappedInWindowWithTitle: 'a Morph in SystemWindow') openInHand.

aMorph を現在作成されている AlignmentMorph ベースのモーフに置き換えて、一度試してみてください。
saiki
投稿日時: 2007-4-13 11:29
新米
登録日: 2007-4-6
居住地:
投稿: 15
表示
教えてください

文字・数字を入力するプログラムを作成しています

AlignmentMorphにPluggableTextMorphを100個セットしました
表示速度が遅くて困っています

EllipseMorphを100個セットしても遅く感じません

よい方法があれば教えてください


スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Google
新着リンク