Linked by Eugenia Loli on Tue 11th Oct 2005 00:14 UTC, submitted by Frank Schoep
Java Frank Schoep recently wrote this article on the rendering improvements of Swing applications in the upcoming Mustang version of Java.
Order by: Score:
Excellent article!
by Javier O. Augusto on Tue 11th Oct 2005 00:51 UTC
Javier O. Augusto
Member since:
2005-08-10

Thanks for your effort pal, this was a nice introduction on how Java is playing hard for common desktop applications. A smooth reading. You can say AJAX could be the "next big thing", but you just can't ignore Java, it just keeps shinning...

Reply Score: 2

Summary
by Roguelazer on Tue 11th Oct 2005 02:08 UTC
Roguelazer
Member since:
2005-06-29

* Antialiasing is now RGB instead of greyscale
* MDI Window Decorations don't theme properly
* GTK Look n' Feel is at least mildly broken for every theme except Clearlooks
* Clearlooks now renders almost perfectly in Java
* The 64-bit JVM doesn't work properly at all (crashes with sliders)
* There's still no native LNF for Qt, or for any of the various other toolkits (FLTK, FOX, etc). I would complain about a lack of a LNF for BeOS, but we'd need a BeOS JVM first for that to be an issue... Some guy named Bryan Varner appears to be working on one, but no news for a couple of years...

I think that's about it...

Reply Score: 4

RE: Summary
by Anonymous on Tue 11th Oct 2005 02:26 UTC in reply to "Summary"
Anonymous Member since:
---

I'd like to know why the overwhelming majority of antialiasing font rasterizers think that hinting is useful when antialiasing. The screenshots clearly show an adoption of this fallacy.

Reply Score: 0

RE: Summary
by stew on Tue 11th Oct 2005 02:38 UTC in reply to "Summary"
stew Member since:
2005-07-06

> we'd need a BeOS JVM first for that to be an issue... Some guy named Bryan Varner appears to be working on one, but no news for a couple of years...

You mean other than today?

http://bryan.varnernet.com/

Reply Score: 2

mustang
by ahmetaa on Tue 11th Oct 2005 02:10 UTC
ahmetaa
Member since:
2005-07-06

This is a good article especially about GTK improvements.

This page
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/mustan...
is giving overall changes in UI infrastructure.

Mustang related news and change logs can be found here:
https://mustang.dev.java.net/

Also Recently i saw this link, a casual performance comparison of Mustang-Java 1.5 and C. might be intresting.
http://www.javalobby.org/java/forums/t49834.html

Reply Score: 1

v RE: mustang
by Anonymous on Tue 11th Oct 2005 02:24 UTC in reply to "mustang"
RE[2]: mustang
by Simba on Tue 11th Oct 2005 03:09 UTC in reply to "RE: mustang"
Simba Member since:
2005-10-08

It's too bad you are ignorant and behind the times and still buying into stuff that hasn't been true since Java 1.4

Reply Score: 1

RE: mustang
by Anonymous on Tue 11th Oct 2005 02:50 UTC in reply to "mustang"
Anonymous Member since:
---

I keep hearing that the major optimizations using escape analysis are NOT in mustang yet...lock elimination and stack allocation.

Anyone know if these optimizations will make it into mustang?

Reply Score: 0

RE[2]: mustang
by Simba on Tue 11th Oct 2005 03:07 UTC in reply to "RE: mustang"
Simba Member since:
2005-10-08

"Anyone know if these optimizations will make it into mustang?"

AFAIK, yes, they will make it into Mustang. The Mustang release is still a ways off yet.

Reply Score: 2

RE[2]: mustang
by Anonymous on Tue 11th Oct 2005 05:48 UTC in reply to "RE: mustang"
Anonymous Member since:
---

Yes, it will be in unless Sun runs into some major problems.

Notice that even though escape analysis is already implemented in Mustang, right now (b55) the optimizations that need information from escape analysis are not yet implemented; the most important are lock elimination and stack allocation. You can check the working of escape analysis with -XX:+PrintEscapeAnalysis -XX:+DoEscapeAnalysis (I think the "print" option is exclusive to the fastdebug build). If you can read Assembly, check also -XX:+PrintOptoAssembly (this is not final ASM code but it's very close), also in fastdebug builds. Pretty hot tool to study any microbenchmark ;-)

The small difference of performance that you may see in current builds, turning escape analysis on, should be due to minor effects of this analysis in lesser optimizations that already explore it. But the big bucks have yet to come. Stack allocation not only saves GC overhead, but it also opens the door to other opportunistic optimizations, by inlining object fields as local variables (which allows register allocation of the hottest fields), and simplifying (inlined) method invocations that depend only on some fields of the inlined objects. Think for instance in Iterator objects, which are ubiquitous in modern Java code, never escape methods, and are very small (typically 2-3 fields). Escape analysis + stack allocation + field inlining and other optimizations, can produce code that's as fast as iterator-less code(*), e.g. a "for (int...)" to iterate an ArrayList.

Reply Score: 0

v Why GTK?
by Anonymous on Tue 11th Oct 2005 02:36 UTC
RE: Why GTK?
by Emerson on Tue 11th Oct 2005 02:46 UTC in reply to "Why GTK?"
Emerson Member since:
2005-09-19

"if you're writing on the topic of aesthetics why choose to demonstrate it with GTK apps?"

There is no QT theme support for swing. The closest at the moment is using the GTK LF in the mustang builds, then using the gtkqt theme for GTK2. Unsurprisingly, the results aren't great. Still, I'd rank the results from this method as hovering somewhere around "good". And that's far more than I would have expected from such an indirect simulation!

Reply Score: 1

v RE: Why GTK?
by Anonymous on Tue 11th Oct 2005 02:48 UTC in reply to "Why GTK?"
RE[2]: Why GTK?
by collinm on Tue 11th Oct 2005 14:21 UTC in reply to "RE: Why GTK?"
collinm Member since:
2005-07-15

hum kde have about 70% of the desktop market under linux... gnome loose market share every years...

stop the fud

Reply Score: 0

RE[3]: Why GTK?
by Ramsees2 on Tue 11th Oct 2005 14:25 UTC in reply to "RE[2]: Why GTK?"
Ramsees2 Member since:
2005-09-27

According who?

A couple of geek forums?

man These trolls.

Reply Score: 0

RE[3]: Why GTK?
by Simba on Tue 11th Oct 2005 23:19 UTC in reply to "RE[2]: Why GTK?"
Simba Member since:
2005-10-08

Oh really?

Would that be why most Linux distros use Gnome as the default desktop? Or maybe it is why Gnome is the standard Unix desktop that was chosen to replace CDE by HP, Sun, and IBM.

Gnome is quite a bit more popular than KDE. Please where you got that 70% figure. I suspect you got it from your ass.

Reply Score: 2

RE[4]: Why GTK?
by Anonymous on Wed 12th Oct 2005 06:32 UTC in reply to "RE[3]: Why GTK?"
Anonymous Member since:
---

Gnome is quite a bit more popular than KDE. Please where you got that 70% figure. I suspect you got it from your ass.

He may have gotten 70% out of his ass, but it's pretty safe to assume that KDE is in the majority. Only GTK-centric sites like OSNews ever have polls that show Gnome leading. Where is your evidence to the contrary?

Would that be why most Linux distros use Gnome as the default desktop?

I suggest you go to distrowatch and check out exactly how many distros do use Gnome as the default. I think you'll find that there aren't very many - it's just the commercial ones (and Ubuntu, but they also have Kubuntu to balance that out). Many of those companies you name are huge contributers to Gnome, so of course they're going to use what they've paid for rather than ignoring it and going with something else.

Reply Score: 0

RE[5]: Why GTK?
by Simba on Sat 15th Oct 2005 20:03 UTC in reply to "RE[4]: Why GTK?"
Simba Member since:
2005-10-08

"Where is your evidence to the contrary?"

Red Hat / Fedora is the most popular Linux distribution, and it uses Gnome as the default.

"Many of those companies you name are huge contributers to Gnome, so of course they're going to use what they've paid for rather than ignoring it and going with something else."

But why did they pick Gnome instead of KDE? Because the biggest mistake KDE made was going with Qt as the toolkit. Qt licensing is not at all friendly to commercial business because of its "GPL or shell out $3000 per developer seat" license. The Gtk licensing is much more compatible with commercial interests.

Reply Score: 1

horrible examples
by Anonymous on Tue 11th Oct 2005 03:11 UTC
Anonymous
Member since:
---

His blown up shots of greyscale and subpixel antialiasing did a horrible job of showing the differences. The colored "subpixels" appeared the same size as the greyscale pixels. The whole point of the subpixels is that they are only a third as wide as full pixels, allowing for much smoother lines. His shots don't make that clear at all.

http://grc.com/ctwhat.htm gives a much better overview of subpixel rendering (though I'm ashamed to link to a Steve Gibson raving loon page)

Reply Score: 1

RE: horrible examples
by Anonymous on Tue 11th Oct 2005 07:03 UTC in reply to "horrible examples"
Anonymous Member since:
---

I posted each text example in two sizes: one-on-one, just as you'd see it rendered, and enlarged by a factor of 8. I didn't attempt to explain the technique behind subpixel antialiasing, I just wanted to show Java supported this now.

By enlarging the texts you can clearly see the coloured "subpixels" surrounding the text. For real life rendering, I included some twelve full screenshots with text rendered using the various JDKs and settings.

I'm sorry that I couldn't convey my message better, but I hope it is clear now that I did not want to dissect subpixel rendering, just show that, and how, it is now supported by the Java runtime.

Reply Score: 0

Damn...
by suryad on Tue 11th Oct 2005 05:21 UTC
suryad
Member since:
2005-07-09

...that dude is talking about Mustang aesthetics yet I dont know where his sense of aesthetics comes from! Who writes an article with black font on a dark blue/indigoish background?! But yes I am looking forward to Mustang. Notably Swing improvements and performance improvements as well.

Reply Score: 1

RE: Damn...
by zerblat on Tue 11th Oct 2005 05:52 UTC in reply to "Damn..."
zerblat Member since:
2005-07-06

What web browser are you using?

Reply Score: 1

correction on my post...
by suryad on Tue 11th Oct 2005 05:22 UTC
suryad
Member since:
2005-07-09

My bad...damn browser didnt render the page properly so all i saw was blue and black! I didnt know there was white!

Reply Score: 1

v Too late
by Anonymous on Tue 11th Oct 2005 05:53 UTC
RE: Too late
by Simba on Tue 11th Oct 2005 07:10 UTC in reply to "Too late"
Simba Member since:
2005-10-08

"But now IMHO the java is never will alternative for .NET on desktop side."

Well, actually, there are currently more desktop applications written in Java than in .NET. A few examples:

Limewire, Azureus, jEdit, ThinkFree Office, EIOffice

Reply Score: 1

RE[2]: Too late
by Anonymous on Tue 11th Oct 2005 10:54 UTC in reply to "RE: Too late"
Anonymous Member since:
---

I agree.

I used to agonize over C# as Java programmer. But once you try to find, say a good, free Object Oriented Database, I can find it for Java but not for C# (the one that exists for C# is GPL so I can’t use it for commercial purposes, besides it’s a port form Java). Then I looked at the projects on SF and Freshmeat and Java is the third largest language after C and C++ (ignoring PHP, there are more PHP projects then anything else but they are mostly dead CMS projects). Even with things in C# (the language) I can’t see myself switching from Java since the preexisting projects for Java are something that C# just can’t compete with.

Reply Score: 0

...
by suryad on Tue 11th Oct 2005 06:56 UTC
suryad
Member since:
2005-07-09

IE

Reply Score: 1

philosophy of implementation/design
by champ on Tue 11th Oct 2005 11:57 UTC
champ
Member since:
2005-07-06

Currently Sun spent a lot effort and time to enhance Java2D/Swing.
The reason may be the mistake in philosophy of swing on implementation/design.

In update page of Mustang.
Clearly, Sun starts to use MS's and GTK's API for some JFC/Swing rendering.
Before, Sun emphasizes on portability and beautiful Hierarchy (Native->AWT/Java2D->Swing).
Therefore Sun loses its points by adopting native APIs in JFC/Swing for improvement of rendering.

Even though, Swing still can't have native look of Windows and GTK.
The enhancement just makes it look better and look like native.
Imitation will never be real.

Current change is just the first step.
The best way may be reimplement JFC/Swing in native Winodws/GTK APIs.

best regards..:)

Reply Score: 1

Anonymous Member since:
---

.OR. use SWT instead. It already implements this idea.

Reply Score: 1

and the GNU Classpath Screenshots
by Anonymous on Tue 11th Oct 2005 12:23 UTC
Anonymous
Member since:
---

Its a little bit off topic, but have also a look at the GNU Classpath screenshots:

http://gnu.wildebeest.org/diary/index.php?p=123
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24256
http://lists.gnu.org/archive/html/classpath/2005-10/msg00071.html

GNU Classpatgh trys to llok like Suns Java.
And Suns Java trys to bring its Gtk LAF to look tike Gtk.

Reply Score: 0

Anonymous Member since:
---

GNU Classpath needs to provide all the sameLAFs that Sun provide with its JDK/JRE. So its not really >>trying to look like Suns Java<<.

Reply Score: 0

Java losing
by Anonymous on Tue 11th Oct 2005 14:11 UTC
Anonymous
Member since:
---

This is progress? Java is over 10 years old now and we're just getting proper anti-aliasing? What a disgrace. It's development speeds like this that guarantee .Net will wipe itself with Java. Sun's only hope to keep up the pace is to open up the process more, perhaps even GPL one version of java and release it as unofficial to the gcj guys or classpath.

The new process Sun has is better, but not enough to keep up.

Reply Score: 0

RE: Java losing
by Anonymous on Tue 11th Oct 2005 14:36 UTC in reply to "Java losing"
Anonymous Member since:
---

.NET has been out for quite some time now, according to you, it should have already "wiped with java", whereas what we're really seeing is quite the opposite.

Reply Score: 0

RE: Java losing
by Anonymous on Tue 11th Oct 2005 16:44 UTC in reply to "Java losing"
Anonymous Member since:
---

I can not and will not take C# or .NET seriously until it provides a viable cross platform GUI API. Right now you have Windows Forms, that’s NOT cross platform; there is only MS implementation and two broken open source ones. Then you have GTK#, better then Windows Forms but still way of the mark. How is either of them supposed to compare to SWING or SWT? Until there is a functional port of SWT (there are two dead ones) or C# guys build a new cross platform toolkit, there is just no way that C# competes with Java. Regardless of all the cool libs like LWJGL or ozone or whatever, if you are getting hung up on anti-aliasing I strongly suspect you never programmed in anything, especially not Java.

Reply Score: 0

v At least ...
by Anonymous on Tue 11th Oct 2005 16:05 UTC
Anonymous
Member since:
---

To my knowledge not too much has been invented in Redmond:
http://grc.com/ctwho.htm

here is the complete history...

Reply Score: 0

Much better Page
by Anonymous on Tue 11th Oct 2005 16:19 UTC
Anonymous
Member since:
---