In 4.3pre17 on Mac OS X 10.5 with latest Apple JRE, antialiasing is always turned on, no matter what option has been chosen in the global options. As far as I can tell this is always reproducible.
apple.awt.graphics.UseQuartz
Determines whether Apple’s Quartz renderer is used. J2SE 5.0 and Java SE 6 use Sun's 2D renderer by default.
The default value is false.
Apple Developers Guide strongly recommend to use new modern Quartz API instead of old CF API.
So i`ve decided that it`ll be better to add this.
I`ll try to disable this option in runtime if "Antialiasing" checkbox is not checked.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
voituk, please provide a source/link for that statement...
Before I asked I tried searching for the UseQuartz feature and found that it doesn't seem to be relevant for jEdit. There are still benefits of Java 2D - Quartz isn't faster for everything.
also i`ve noticed that setting this property after the application has started has no effect on which renderer is used.
So the suggested "trick" will not work
As for Apple`s suggestion about using modern API (Quartz) where it is possible - it is the everywhere in MacOSX Developers Guide
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Voituk, please remove it from build.xml. I see no reason that we enable this feature unless we can make it work without the antialiasing feature since there no advantages and no recommendations to do so.
If you read the documentation on the option (the link i specified) there is a suggested way of disabling the antialiased text runtime. If you can make that fix work I will be happy to see it enabled.
Regards
Seph
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Is this just for the code area? It seems to me that no matter what I do, anti-aliasing is turned off for all other UI elements, and it was not in 4.3pre16 after the Java update by Apple last month. Plus, the font metrics are broken again when using a custom font (displayed cursor position does not match actual), again working in 4.3pre16 after the Java update.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Line counts at the end of folding rows - strings like "[14 lines]" - are not always antialiased. They indeed take into account antialiasing setting from global options.
This points to:
- an inconsistency in jEdit code itself
- may be a right way for play with this issue
I use java-based installer not MacOS package.
4.3pre17 + MacOS 10.5.8
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It seems it is result of this commit that adds quartz hardware rendering:
r15587 | voituk | 2009-06-26 11:48:54 +0300 (Fri, 26 Jun 2009) | 8 lines
Added
<javaproperty name="apple.awt.graphics.UseQuartz" value="true" />
<javaproperty name="apple.awt.rendering" value="speed" />
JVM properties to Mac OS X build target
The following change worked for me as a workaround: change line 76 in jEdit.app/Contents/Info.plist to
<string>false</string>
What text you`ve on line 75?
line 75: <key>apple.awt.graphics.UseQuartz</key>
I can confirm that setting the UseQuartz setting to false works. I didn't notice any performance hits so I wonder why this option is enabled (voituk)?
Regards
Seph
apple.awt.graphics.UseQuartz
Determines whether Apple’s Quartz renderer is used. J2SE 5.0 and Java SE 6 use Sun's 2D renderer by default.
The default value is false.
Apple Developers Guide strongly recommend to use new modern Quartz API instead of old CF API.
So i`ve decided that it`ll be better to add this.
I`ll try to disable this option in runtime if "Antialiasing" checkbox is not checked.
voituk, please provide a source/link for that statement...
Before I asked I tried searching for the UseQuartz feature and found that it doesn't seem to be relevant for jEdit. There are still benefits of Java 2D - Quartz isn't faster for everything.
The developer guide doesn't specifically state that you should enable it - please read it:
http://developer.apple.com/documentation/Java/Conceptual/Java14Development/04-JavaUIToolkits/JavaUIToolkits.html
As far as I could tell from a bit of searching, it's off because it isn't always good to have on. Perhaps your suggested with would do the trick.
Regards
Seph
Hi Seph,
The links you`ve aske about:
http://www.cis.upenn.edu/~matuszek/cit591-2007/Pages/javase6r1dp6releasenotes.html
(start reading from "Options for Rendering Graphics" chapter)
and official Apple`s Java Developers documentation
http://developer.apple.com/documentation/Java/Reference/Java_PropertiesRef/Articles/JavaSystemProperties.html#//apple_ref/doc/uid/TP40001975-DontLinkElementID_5
also i`ve noticed that setting this property after the application has started has no effect on which renderer is used.
So the suggested "trick" will not work
As for Apple`s suggestion about using modern API (Quartz) where it is possible - it is the everywhere in MacOSX Developers Guide
Hi Seph,
So you think that it`s better to remove this options from build.xml ?
Voituk, please remove it from build.xml. I see no reason that we enable this feature unless we can make it work without the antialiasing feature since there no advantages and no recommendations to do so.
If you read the documentation on the option (the link i specified) there is a suggested way of disabling the antialiased text runtime. If you can make that fix work I will be happy to see it enabled.
Regards
Seph
Is this just for the code area? It seems to me that no matter what I do, anti-aliasing is turned off for all other UI elements, and it was not in 4.3pre16 after the Java update by Apple last month. Plus, the font metrics are broken again when using a custom font (displayed cursor position does not match actual), again working in 4.3pre16 after the Java update.
Removed from build.xml in svn rev.15769
Line counts at the end of folding rows - strings like "[14 lines]" - are not always antialiased. They indeed take into account antialiasing setting from global options.
This points to:
- an inconsistency in jEdit code itself
- may be a right way for play with this issue
I use java-based installer not MacOS package.
4.3pre17 + MacOS 10.5.8
I can confirm this issue and it was fixed in pre18. I do not have this issue anymore.