- - PR -
効率の良い描画方法とは?
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-08-21 08:55
Ken-Lab様、ocean様、ご意見ありがとうございました。
Ken-Lab様より引用*************************************************************** >この状況から察すると処理が重いためではなく、とも様のご指摘やデバイスドライバのバグ >が原因している可能性は考えられるかもしれません。 こうなってしまうと、どうしようもないですね・・・ >なお、確認後このアドレスは抹消します。 あぁー、確認前に抹消されてしまいました・・・ できればもう一度お願いできませんか? ******************************************************************************* ocean様より引用***************************************************************** >これを読むと、パネルがフォーカス可能かは実装しだいだが、Sunとしてはフォーカス不能な >ように推奨しているようです。 >マウスでクリックしても、うんともすんとも言わなかったためです。 JDK1.4はフォーカス部分が強化されたと聞いた事があります。また描画部分も・・・ http://www-6.ibm.com/jp/developerworks/java/020308/j_j-awtfocus.htmlより引用**** >コードの多くが完全に書き直され、ある部分では、下位換性を犠牲にしてまで改善が行われて >います ここに書かれていましたね、思いっきり変更したんですね・・・。しかし仕様上JDK1.2でなんとか考えなくてはならないのです。 ご丁寧にソースまで見せていただき、ありがとうございました。是非参考にさせていただきます。 ******************************************************************************* | ||||
|
投稿日時: 2003-08-21 08:55
Ken-Lab様、ocean様、ご意見ありがとうございました。
Ken-Lab様より引用*************************************************************** >この状況から察すると処理が重いためではなく、とも様のご指摘やデバイスドライバのバグ >が原因している可能性は考えられるかもしれません。 こうなってしまうと、どうしようもないですね・・・ >なお、確認後このアドレスは抹消します。 あぁー、確認前に抹消されてしまいました・・・ できればもう一度お願いできませんか? ******************************************************************************* ocean様より引用***************************************************************** >これを読むと、パネルがフォーカス可能かは実装しだいだが、Sunとしてはフォーカス不能な >ように推奨しているようです。 >マウスでクリックしても、うんともすんとも言わなかったためです。 JDK1.4はフォーカス部分が強化されたと聞いた事があります。また描画部分も・・・ http://www-6.ibm.com/jp/developerworks/java/020308/j_j-awtfocus.htmlより引用**** >コードの多くが完全に書き直され、ある部分では、下位換性を犠牲にしてまで改善が行われて >います ここに書かれていましたね、思いっきり変更したんですね・・・。しかし仕様上JDK1.2でなんとか考えなくてはならないのです。 ご丁寧にソースまで見せていただき、ありがとうございました。是非参考にさせていただきます。 ******************************************************************************* | ||||
|
投稿日時: 2003-08-21 09:22
おはようございます。お疲れ様です。
いえ、まだ降ろしてないです。セッション数がオーバーして表示されなかった可能性が ありますので、再度ご覧いただければと思います。 別件です。逆に質問しちゃいますが、ハードまたはOSに起因しているかどうかの判断は Casperさんご自身どのような手法で調査しますか?概念的な表現で構いません。 お手数おかけしますが、よろしくお願いします。 | ||||
|
投稿日時: 2003-08-21 10:20
Ken-Lab様、ご意見ありがとうございました。
Ken-Lab様より引用*************************************************************** >いえ、まだ降ろしてないです そうでしたか、すみません。直に確認します。 >ハードまたはOSに起因しているかどうかの判断はCasperさんご自身どのような手法で調査し >ますか? 特にこれといった調査は行っていません。ただ、"clearRect()"を入れる前のデバックでテストPCだと問題なく、本番機だと文字列が重なるという違いを見てハードやOSも原因の一つになりうるのでは?と思ったわけです。 ******************************************************************************* *先ほど確認したのですが、"■sample1 (clearRectなし、repaint 10回コール)" と"■sample2 (clearRectあり、repaint 1回コール)"の各下に灰色の四角が表示される だけでした。 また、マウスカーソルをそれぞれの四角に合わせるとIE画面の下の状態表示バー?(ページが表示されましたとかが表示される場所)に一瞬、"load:class sample5 not found"と"load:class bad sample not found"と表示されます。 考えられる理由はなんでしょうか? IEのバージョンは6.0です。 [ メッセージ編集済み 編集者: Casper 編集日時 2003-08-21 10:33 ] | ||||
|
投稿日時: 2003-08-21 11:41
お手数おかけしました。経路途中でアプレットがブロックされている可能性があると思います。 これにお時間かけてもなんですので、スクリーンショットに変更しました。 さて、ストライクを投げられればいいのですが、どうも押し出しのフォアボールになって しまっているので、 ちょっと気がかりだったのは、Casper様ご自身がどのようにこの問題を分析しているのか というところにあるような気がします。 回答者はCasper様が書かれた文字情報をもとに頭の中でバーチャルなオブジェクトを 生成し、それを基準に考える以外方法がありません。リアルはCasper様の手中です。 一番は、Casper様がまず問題の発生源がどこにあるのかを見極めることです。 その手段として消去法なんていうのがありますよね。 また逆に小さいところから積み上げていってどこで問題が生じるのかをみるとか(加算法?)。 で、問題のブロックを絞り込んで、そのソースを公開するといったような持っていきかた をしないと余計な手間が増えて解決までに時間がかかります。 # プログラムを制作されているので、それは技術的に可能ではないでしょうか? | ||||
|
投稿日時: 2003-08-21 13:22
Ken-Lab様、ご意見ありがとうございました。
たくさんのご意見、本当にありがとうございました。 描画に関してはもちろんですが、このような場での質問方法や問題解決の為に私ができる事、する事など大変に勉強になりました。 ありがとうございました。 | ||||
|
投稿日時: 2003-08-21 13:28
oceanさん同様mouse clickによるfocus取得。アンド、文字列のスクロールサンプルを作ってみました。一応ある程度の同期処理は行っています。
このサンプルうちの環境(Pen III-450MHz, 4年落ちnote PC)では切れかかった蛍光灯のように、中途半端にちらつきます。VolatileImage使わずに、ちらつきを抑える良い方法ってあります? ちょっと長めです
| ||||
|
投稿日時: 2003-08-22 13:56
AWTのフォーカスシステムは良くできていて、デフォルトでフォーカス不能でも、フォーカス可能なようにオーバーライドできるようです。1.2.2(win)で確認しました。これでも文字が重なったりしますか?
#追記 これとか、これとかは関係ないのでしょうか?Linuxは使ったことがないので、よくわかりませんが・・・ #追記 Component.isFocusable()は1.4以降のメソッドでした。1.3以前ではisFocusTraversable()です。これで、タブでもフォーカスを移せます。 [ メッセージ編集済み 編集者: ocean 編集日時 2003-08-22 15:38 ] [ メッセージ編集済み 編集者: ocean 編集日時 2003-08-22 19:01 ] [ メッセージ編集済み 編集者: ocean 編集日時 2003-08-22 19:19 ] | ||||
