トップページ⇒tech
1001コメント321KB

Java低速GUI Swing 2

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
そんなSwingと引き続き付き合っていくみんなのスレッドです。

前スレ
http://pc5.2ch.net/test/read.cgi/tech/1062271447/l50

参考スレ
Java 高速GUI SWT 2
http://pc5.2ch.net/test/read.cgi/tech/1068349883/l50
0085デフォルトの名無しさんNGNG
おれはV2Cは速いと思うが....
Linuxで動かしたら結構サクサクだったのに、Winマシンで動かしたら遅かった、
とかいう話があったようだな。
0086デフォルトの名無しさんNGNG
そうやって、マイクソOSがJavaと名の付くアプリに高負荷を掛けてると
言いたいんですねあなたは
0087デフォルトの名無しさんNGNG
>>86
それをいいたいのはあんただろ。
おれは >>71 のとこにそんなことが書いてあったので書いた
だけだ。

ただしいま読み返してみると、どうもLinuxマシンのほうに速い
マシンを使っていたのは事実のようだ。
いまいちあてにならん。なんで自分のWinに入れてみた。

Pentium 4 1.6GHz 512MBメモリでやってみたが、爆速だった。
これで遅いというやつっていったい何を考えてるのかと思うくら
い速い。

Linux(Fedora Core 2)の自作VIA C3 1GHzでもやっぱりかな
り速い。やっぱ速いだろ、このSwingアプリ。

0088デフォルトの名無しさんNGNG
>>87
遅いというやつは1.3以前で動かしてるというオチ
0089デフォルトの名無しさんNGNG
1.4以上じゃなかったっけ?
0090デフォルトの名無しさんNGNG
こういうのは主観だからな。
うちではPenIII750MHz・Java1.4.2でストレスなく使っているが、
これで遅すぎると言う者もいるだろう。
0091デフォルトの名無しさんNGNG
遅いといいたい人にとっては遅い。
残念ながら事実だ。
遅いといいたい人に遅くないと言わせるほどは速くない。
0092デフォルトの名無しさんNGNG
>>87
作者乙
0093デフォルトの名無しさんNGNG
Ruby >>>>>>>>>>>>>>>>>>>>>
0094デフォルトの名無しさんNGNG
あっちのスレに出張した荒しがいるな
0095デフォルトの名無しさんNGNG
つーかランタイム別途用意する必要のある時点でこりゃつかえねーな、
と思うわけですよあなた
0096デフォルトの名無しさんNGNG
>>95
ランタイム同梱すればいいじゃない?

あとHPやDELLとか大手って意外と標準で1.4入ってる
ブラウザでアプレットが動くようにだろうね
0097デフォルトの名無しさんNGNG
>>95
Javaって、ネイティブアプリとは住み分けができてるものだと思ってた。
0098デフォルトの名無しさんNGNG
アプレットでSwing使ってる人いますか?
0099デフォルトの名無しさんNGNG
そりゃいっぱいいるがな。
0100デフォルトの名無しさんNGNG
CPUよりメモリがネックなんだよなぁ
Javaアプリってかなりメモリ食うから、
128MBで2k動かしてると、どうしてもスワッピングが激しくなる
それで遅くなっちゃうんだよね
一般のアプリがスワッピングしても、たいしてメモリ食わないからそんなに遅くはならんのだけども
0101デフォルトの名無しさんNGNG
2kなら512以上載せとけよ
常識だろ
0102デフォルトの名無しさんNGNG
>>101
最大256MBなんだ・・・どうせ年明けに買い換えるし、しばらくの辛抱だ
0103デフォルトの名無しさんNGNG
今のマシンはXPとはいえローエンドでも256M標準だから
OSで192M喰ったとしてもそれなりに楽だな

他に立ち上げてるときついが、昔に比べればかなり余裕
0104デフォルトの名無しさんNGNG
>>72
俺はソース見てないからSwingがどう使われてるか知らないけど、
触ってみた感じかなり丁寧に造りこまれてるのはわかるし、
動作だって決して遅くないと思うんだが、どこが遅いと思ったんだ?
少なくともSwingの評判落すようなものには見えないぞ。
MMX233MHz64MBのマシンでも使ってるって言うならそりゃ遅いだろうが。
0105デフォルトの名無しさんNGNG
結論:SWT使っていればこんなことには…
0106デフォルトの名無しさんNGNG
質問です。
Swingのドラッグ&ドロップってカーソルの形状変えられないのでしょうか。
0107デフォルトの名無しさんNGNG
>>105
SWTだとすべて自前で作らないとだめで結局使い物にならない
Swingにしておけば・・・

ってのを一つ見たことある
0108デフォルトの名無しさんNGNG
>>107 そこで、JFace ですよ。
0109デフォルトの名無しさんNGNG
>>106
swingのDnD=transferHandlerは、簡単で便利だがドラッグ中&ドロップ時の
マウスポインタが取得できなかったり、ドラッグ中にマウスカーソルを
自由に変更できないといった明らかに手抜きな部分がある。
自由に操作したいのなら、awtのdndパッケージを使うしかない。
0110デフォルトの名無しさんNGNG
TransferHandlerとawt.dndでは考え方が全く違うからなぁ

awt.dndはドラッグ&ドロップそのものを実装、
TransferHandlerはコンポーネント間のデータ転送
0111デフォルトの名無しさんNGNG
JFace に日本語チュートリアルきぼんぬ
0112デフォルトの名無しさんNGNG
http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/free?page=JFace

JFaceて何?
SWTのラッパってことですか?
0113デフォルトの名無しさんNGNG
Rubyyyyyyyyyyyyyyyyyy >>>>>>>>>>>>>>>>>>> JFあcえ>>>>>>SWRT
0114デフォルトの名無しさんNGNG
>>112
そのリンク先を見ても「JFaceて何? 」とか言っているようでは…絶望的だな。
0115106NGNG
>>109-110
なるほど。サンクスです。
これでawt.dndの方で実装する決心がつきました。
0116デフォルトの名無しさんNGNG
ところでSwing 3年以上使ってるヤツいるか?
いくらなんでも2年使って見切りをつけれないやつは死んだほうがいいと思っているのだが、、

0117デフォルトの名無しさんNGNG
Swig(というかJava)でGUI作ったこと無いんだけど、
どんなのができるの?
Swig製のスナップショットあるサイト知りませんか?
0118デフォルトの名無しさんNGNG
>>116
どういうところが?
っていうか、必死だね。
0119デフォルトの名無しさんNGNG
>>117
例えば
ttp://www.zefhemel.com/archives/2003/12/23/java-studio-creator-screenshot
ttp://v2c.s50.xrea.com/screenshot_win_write.png
0120デフォルトの名無しさんNGNG
Swingの成りすましUIは在日的発想。プゲラ
0121デフォルトの名無しさんNGNG
>>120
プゲラも注目する新Swing、ってことだね。
0122デフォルトの名無しさんNGNG
>>117
とりあえず本家のSwingSightings
ttp://java.sun.com/products/jfc/tsc/sightings/S19.html
0123デフォルトの名無しさんNGNG
V2C使ってみたけど、全く違和感がないね。
重いと思うこともないし。
0124デフォルトの名無しさんNGNG
looking glassが速くリリースされるといいね
0125デフォルトの名無しさんNGNG
>>122
こんなにあるんだ……
0126デフォルトの名無しさんNGNG
>>121
それマルチポストだから
0127デフォルトの名無しさんNGNG
正直、Swingが低速だったのは過去になっちゃったなぁ。
1.4でもだいぶ許せたけど、1.5は全然OK。かくいう俺もV2Cからの書き込みなんだが。
0128デフォルトの名無しさんNGNG
>>119
Swigはこっち。ttp://swig.shibu.jp/
0129デフォルトの名無しさんNGNG
>>127
でも、スレの描画がおかしくなることない?
いままで使ってないからJ2SE5の影響か普通にバグかはしらないけど
0130デフォルトの名無しさんNGNG
んーとたぶん実装のせいだと思うけど、範囲選択はおかしいね。これはn|a氏の修正をマッタリまってまつ。
リフレッシュのタイミングもちょっと変かな?メール欄を中身表示と非表示切り替えたときのリフレッシュがなかったり、
PCがレジュームから帰ったときに再描画がなかったり(これはSwing側の問題かな?)
まぁ、動作は完璧じゃないね。速度が速いから納得してるけど。漏れは。
0131デフォルトの名無しさんNGNG
結論:J2SE5のSwingはバギーで使い物にならない。
0132デフォルトの名無しさんNGNG
Ruby >>>>>>>>>>>>>>>>>>> Java
Javaなんてうんこ。
0133デフォルトの名無しさんNGNG
Rubyは貧弱杉だろ…HSPと張り合ってるのがお似合い。
0134デフォルトの名無しさんNGNG
>>131
まじそうなのかも。だっておれもV2C使ってるけど、1.4.2(Mac OS X)では
>>130の言っていることが一つも再現しない。
0135デフォルトの名無しさんNGNG
V2C良いんだけど、マック上のJavaでは重いんだよなあ、残念ながら。

しかし、マックでは他にまともな2chビューアがないので愛用しているのであった。
0136デフォルトの名無しさんNGNG
V2CのJavaWebStartはサンドボックスも糞もねぇな(w
「このアプリは全てのアクセスを要求?」
手抜きすぎ。
0137デフォルトの名無しさんNGNG
>>136
え?
0138デフォルトの名無しさんNGNG
公開するJavaWebStartアプリとして、
jnlpで
<security>
<all-permissions/>
</security>
っていいんかな〜

って言いたかった。
せっかくJAVAのブラウザなんだからセキュリティー上クライアントのシステムリソースには触れて欲しくないのが心情。
アクセス履歴とかを残せなくなるのは仕方が無いが・・・。どうだろうか。

「アプリケーションは、あなたのローカルマシンおよびネットワークに対して無制限のアクセスを要求しています。」
ってきつくない?ブラクラだったら即死?
0139デフォルトの名無しさんNGNG
しかし全権限を要求しないJava WebStartアプリケーションというのを
あんまり見ないのも事実。
0140デフォルトの名無しさんNGNG
そうだったのか。スマソ。じゃいいよ。
0141JavaなんてうんこNGNG
ばーーーーーーーーーーーーか
0142デフォルトの名無しさんNGNG
>>141
なんだと
0143デフォルトの名無しさんNGNG
>>138
ダウンロード版があるんだから、あまり気にしてもしかたないよ。
0144デフォルトの名無しさんNGNG
ネイティブアプリなら承諾さえ求めないんだしね。
特定のフォルダだけアクセスできるモードがあれば便利かも。
0145デフォルトの名無しさんNGNG
秀和システムからVisualEditorの本が出ていたから早速試しているのだが
これはかなりいいね。今までサーバサイドJavaの仕事ばかりやってたので
Swingは敬遠していたのだが、これだけ簡単に作れるのなら面白そうだなと思った
0146デフォルトの名無しさんNGNG
VEで感動しているということはNetbeansではもっと感動するかもね
癖はあるけどまだまだこっちがいろんなところで強い
0147デフォルトの名無しさんNGNG
NetBeansの挙動は頭悪いけどな。
でも、NetBeans4.0でWebサービスが気軽に使えるようになるし、プロファイラも出るし、おもしろい状況になるかも。
0148デフォルトの名無しさんNGNG
おれはNetbeans 4.0beta2使ってパフォーマンスが格段に上がってて感動した。
これかなりいいよ。
0149デフォルトの名無しさんNGNG
このスレの名前どおりSwingを重視だとまだまだNetbeansだな
J2se1.4.2までしか安定版はないのが欠点だが

4.0はあまりに3.6と違いすぎるのも問題が多そうだ
0150デフォルトの名無しさんNGNG
みんなEclipseばっかり使っててNetBeansなんか使ってないからモウマンタイ
0151デフォルトの名無しさんNGNG
もう少し太字の文字をきれいに表示してくれると良いのだけど。
アンチェリはぼやけるだけで余計見にくかったりする罠。
0152デフォルトの名無しさんNGNG
>>151
J2SE5使え。
0153デフォルトの名無しさんNGNG
>>151
捩れる位に同意。


何とかしてくれ、Swing manども!
0154デフォルトの名無しさんNGNG
>>153
J2SE5使え。
0155デフォルトの名無しさんNGNG
>>152
>154
J2SE5ってTrueTypeレンダラ改善されたの?
全然気づかなかったんだけど。
0156デフォルトの名無しさんNGNG
少なくとも、NetBeansの太字はかなり改善される。
アンチエイリアスもきれいになる。
0157デフォルトの名無しさんNGNG
J2SE5って遅くなってない?>Swing
0158デフォルトの名無しさんNGNG
むしろ、NetBeansが軽く動くようになった気がするのだけど。
0159デフォルトの名無しさんNGNG
確かに、5.0 付属の SwingSet2 デモの太字はかなりきれいになっていた
0160デフォルトの名無しさんNGNG
>>157
さわってみたら?
0161デフォルトの名無しさんNGNG
Swingでネイティヴハンドルを取得するのってANIを使わんとできない?
0162デフォルトの名無しさんNGNG
Swingはハンドル持ってるのはFrameだけだからな
あとは自前ですべて処理

もし本当にいじりたいのならAWTのJNIサポートをみてみるといいよ
レンダリングをJNIで処理とかできる
0163デフォルトの名無しさんNGNG
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/awt/1.3/AWT_Native_Interface.html
これのことかな?
0164デフォルトの名無しさんNGNG
ずっといじってきたけどVMのコア自体は1.4から5.0で速度的に大きく変わった点はないかな
1.4.1ではもちろんShift_JIS方面の変更が大きいし、一部ハードウェアアクセラレーションを使った
機能が追加されて体感速度はあがったけどね。

1.4.2ではほんのすこしで5.0はコンパイルがききやすいヘビーな処理は1.4.2と変わらない感じ。
ただしgcの速度が大幅に改善されていることと、インクリメンタルが別物になったとか大きい変更点はある。
起動時間はWindows使ってる限り改善されているように感じないし。
0165デフォルトの名無しさんNGNG
コピペ楽しいか?
0166デフォルトの名無しさんNGNG
「Swingをテストしたけど、全然速さ変わってない」っていってるやつは、どういうテストしてんだかね。
0167デフォルトの名無しさんNGNG
>>166
JFrame一個上がってくるまでの時間(=ほとんどプロセス起動とクラスロードじゃん)
をはかっているんだろう。
0168デフォルトの名無しさんNGNG
Swingのもたつきを感じる部分はほとんどがその最初のクラスロード時だし
SystemLAFしか俺は使ってないがたしかに体感速度的には変わってないよ

JTableとか重そうなのをこれから調べてみるかな
0169デフォルトの名無しさんNGNG
まぁ、1.4.2から劇的に変わると思っていたJava2Dが
Windowsではほとんど変わってないのにショック受けたしな
OpenGLも手元の環境では有効にならないし・・・動いたという報告も聞いたことない

BufferedImageのキャッシュはやり方知っていれば1.4.2でも適切に処理ができた
それでも敷居が下がったのはいいだろうね
0170デフォルトの名無しさんNGNG
またコピペ厨か
0171デフォルトの名無しさんNGNG
マルチポストじゃないか?
0172デフォルトの名無しさんNGNG
ArithmetricExceptionたんハァハァ(*´Д`)
0173デフォルトの名無しさんNGNG
Swing アプレットで paint をオーバーライドすると
配置したボタンなどが消えてしまいますが、なぜでしょうか?
同じ事を awt ですると消えないです。
0174デフォルトの名無しさんNGNG
>>173
paintComponent(Graphics)をオーバーロードしたまい
0175デフォルトの名無しさんNGNG
Swingはフレームが自前で子ウィンドウの描画をしてるから。
0176デフォルトの名無しさんNGNG
ん?時代はSWTだってのに、まだSwingとか使ってる香具師がいるの?
0177デフォルトの名無しさんNGNG
ん?時代はRCPだってのに、まだ時代はSWTとか使ってる香具師がいるの?
0178デフォルトの名無しさんNGNG
SWTはEclipse専用
Swingとくらべて大幅に早いってわけでもないしな
そもそもカスタマイズしたGUIを作るのが大変
0179デフォルトの名無しさんNGNG
そこでAWTですよ。
0180デフォルトの名無しさんNGNG
Java に wxWidgets を組み込むとか、
そういう計画ってないの?
0181デフォルトの名無しさんNGNG
>>180
http://www.wx4j.org/
0182デフォルトの名無しさんNGNG
>>181
ありがとう。はじめて知ったよ。
これがまともに使えるようになったら Swing も SWT もいらない
ってなことになったりするのかなぁ。
0183デフォルトの名無しさんNGNG
>>182
ならないだろうね。
0184デフォルトの名無しさんNGNG
>>183 どうしてそう思う?
0185デフォルトの名無しさんNGNG
>>184
特に理由は無いよ。
続きはスレ違いだから他所でやってくれ。
■ このスレッドは過去ログ倉庫に格納されています