Closed Bug 149427 Opened 22 years ago Closed 22 years ago

Use poor-man's quartz rendering from 10.1.5

Categories

(Core :: XUL, defect)

PowerPC
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla1.0.1

People

(Reporter: mikepinkerton, Assigned: mikepinkerton)

References

Details

(Keywords: topembed+)

Attachments

(1 file, 1 obsolete file)

patch upcoming to use the poor-man's quartz rendering from 10.1.5. as opposed to
the atsui patch smfr was working on, we only take a 12% speed hit with this on
using CG metrics, and only 5% when using QD metrics.

we should get this landed for 1.0.1. we'll look really bad if we don't have this
and other apps/browsers do.
we need to get this landed on the trunk to bang away and to test the i18n
aspects of it.

r/sr?
we also want this for chimera.
Status: NEW → ASSIGNED
Keywords: topembed
Target Milestone: --- → mozilla1.0.1
If this does indeed get landed, should the default fonts change as well? I would
hope so, since you really need to have different default fonts for anti-aliased
text to look good. Different bug?
Try 1.0 that Silk haxie. The default fonts look fine.
Comment on attachment 86492 [details] [diff] [review]
use quartz rendering in 10.1.5 if available

Some odd spacing here:

>+static CFBundleRef getBundle(CFStringRef frameworkPath)
>+{
>+	CFBundleRef bundle = NULL;
>+    
>+	//	Make a CFURLRef from the CFString representation of the bundle's path.
>+	//	See the Core Foundation URL Services chapter for details.

In the comments, can you mention the technote number?

>+  
>+#if TARGET_CARBON
>+  // from Apple's technote

Are these defined in any newer-than-we're-using Universal Headers? Should we
have some conditional definition to avoid bustage later?

>+  enum {
>+    kQDDontChangeFlags = 0xFFFFFFFF,          // don't change anything
>+    kQDUseDefaultTextRendering = 0,          // bit 0
>+    kQDUseTrueTypeScalerGlyphs = (1 << 0),   // bit 1
>+    kQDUseCGTextRendering = (1 << 1),        // bit 2
>+    kQDUseCGTextMetrics = (1 << 2)
>+  };
>+  

r=ccarlen
Attachment #86492 - Flags: review+
I am using Moz 1.0 w/ Silk. While I think it looks nice, I just feel as though
using a sans-serif font for the default proportional would be better (Lucida
Grande looks magnificent). Both OmniWeb and Chimera do this. I don't think this
is the proper place to discuss these things, but if Moz's default behavior is QD
AA, (without a pref to go back to standard QD for now), changing the default
fonts might be a Good Thing.
*** Bug 149432 has been marked as a duplicate of this bug. ***
*** Bug 149438 has been marked as a duplicate of this bug. ***
embedding apps needs a pref so they can turn this off if they desire. added a
check against the header version.

r/sr?
Attachment #86492 - Attachment is obsolete: true
Comment on attachment 86666 [details] [diff] [review]
updated with comments, and a pref to disable

r=sdagley
Attachment #86666 - Flags: review+
Comment on attachment 86666 [details] [diff] [review]
updated with comments, and a pref to disable

sr=hyatt
Attachment #86666 - Flags: superreview+
landed on trunk. can we get some shakeout from testers and i18n? we should get
this on the branch asap. note you must have 10.1.5 to test otherwise you won't
see any difference.
I have OS X 10.1.5... what do I need to do to test?
Mike -- working fine in a fresh Mach-O opt build from the
trunk, 2002060620.
Keywords: nsbeta1
Whiteboard: [Need Impact]
yes, this is much faster, but the results are nowhere near as good as the
previous track.  only some fonts are AA'd and the look is not as clean.  It
looks like my N64 is rendering the text.  www.apple.com/macosx is a good link to
compare the previous route versus this one.  not all the text is AA'd.
i would venture to say that most chimera users would prefer the ATSUI being
tweaked and Mozilla users can use the poor man's quartz.  If Chimera is going to
be best of breed, it needs to be right.
I would agree the default font needs to be change... and I too have noticed that
some text isn't quartz rendered.
Mozilla should also use ATSUI for font rendering (although the "Poor-Man's
Quartz" is okay for now).   One way to do this would be a preference with three
choices:  QuickDraw, Quartz, and ATSUI.  For now we should probably just focus
on getting the "Poor-Man's Quartz" landed and then work on ATSUI in the future.
Another comment...   The "SILK" haxie looks GREAT with Mozilla 1.0 on 10.1.5!
This is an enhancement, isn't it?
Severity: critical → enhancement
Severity: enhancement → critical
Does the patch perform any better than Silk?  I'm running 1.0 with Silk, and it
looks fabulous, but there's a definite rendering speed hit (400MHz G4).  I
especially notice it when switching back and forth between tabs. 

I'm assuming the rendered text is being disposed of when I leave a tab, and
re-rendered when I go back to it - any chance of cacheing it?

BTW, apple.com/macosx uses images for some 'text' elements.  I'm seeing
everything else properly anti-aliased. Selection is also spot-on.
The spacing with this patch is all weird. Using CG text rendering without CG text metrics 
is Microsoft Word mode. Things flow the same, but the spacing between the letters is 
erratic and off. It's horribly ugly.

I've used Silk with Mozilla, and it looks much better. Silk turns on CG metrics.

I vote for CG metrics. I'm willing to eat the few extra ticks. All or nothing for me, please.
Using Silk 1.1 to turn the CG font metrics on (with Moz 1.1a - 2002061014)
really improves the letter spacing.  I think the performance hit, if it's only
7% over the QD metrics, is worth it.
well, nobody has complained about anything, nominating.
Whiteboard: [Need Impact]
Mike, it does seem to work fine using 1.1a, but I concur with the observations
about the difference between basic 1.1a and 1.1a with Silk with Quartz Text
Metrics activated. In the latter case, letter kerning is greatly improved. I
would have to say either don't add this and go back to the full-Monty ATSUI
approach (recommending users use Silk in the meantime), or add it with Quartz
Text Metrics incorporated.
Also, Mike, you mentioned in Comment #9 that, "embedding apps needs a pref so
they can turn this off if they desire." Did this make it into the patch? If not,
bug 151367 can be used for that.
Blocks: 151367
yes, the pref is there. i just turned on CG metrics on the trunk (r=ccarlen).
How is the pref set? Is it something end users can set as well?
Nice, not having CG Metrics is the only objection I've heard people make.

Apple doesn't give users the choice of using AA text in its applications or OS
widgets, that's not what Aqua is about.

One notable exception Apple makes is the Project Builder code editing windows,
and I understand why.  Would it be possible for the View Source or the Composer
HTML tab folks to turn it off if they wanted to?
Whiteboard: [drivers emailed 6/13]
Blocks: 150161
*** Bug 151367 has been marked as a duplicate of this bug. ***
I'm sad to see that in the new IE 5.2 version for mac os x that uses 10.1.5's
quartz rendering, under the preferences tab. called "interface extras" you can
find a check box that say "Enable Quartz text smoothing" .. :-P

I've downloaded it just for check if MS felt the need to insert this in its
preferences, not for use it, of course ;)

And .. now that I saw this I tell it to you hoping that it would be taken as a
confirm that this option (managed via GUI) is necessary ;) Anyway, I've also
downloaded the trunk build to test the "mozilla preferences hack" ;)

Bye
Marking adt1.0.1+ on behalf of the adt for checkin to the 1.0 branch.  Please
get drivers approval before checking in.
Keywords: adt1.0.1adt1.0.1+
Attachment #86666 - Flags: approval+
please checkin to the 1.0.1 branch. once there, remove the "mozilla1.0.1+"
keyword and add the "fixed1.0.1" keyword.
Whiteboard: [drivers emailed 6/13] → [drivers emailed 6/13] [adt2RTM] [ETA 06/20]
saari - can you pls land this for pink?
Whiteboard: [drivers emailed 6/13] [adt2RTM] [ETA 06/20] → [drivers emailed 6/13] [adt2 RTM] [ETA 06/24]
i'll land this monday when i get back to my computer.
Blocks: 119572
Blocks: 145830
landed on branch
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Whiteboard: [drivers emailed 6/13] [adt2 RTM] [ETA 06/24]
Mike, are you sure CG Metrics is on on the trunk? Using FizzillaCFM/2002062203
to access [http://www.versiontracker.com/macosx/], I see a lot of questionable
kerning in the "Description" text next to each filename.

It looks much better in Chimera/20020625, leaving me to wonder whether CG
metrics is on there but not in Moz.
http://lxr.mozilla.org/seamonkey/source/widget/src/mac/nsToolkit.cpp#296

you're right. i guess i never fixed it on the trunk. huh.
Do you want me to open a new bug about it?
Perhaps it would be easier to just reopen this bug, apply the new patch, and get
review/super-review/check-in approval?
Based on this message:
http://groups.google.com/groups?ie=UTF-8&oe=UTF8&as_umsgid=3D1CB8CD.3020004%40netscape.com

Does anyone need to "jump up and down, yell, scream, kick, call, email, msg,
etc" to make sure that CG Metrics make it into 1.0.1? I'd like to see it in, and
I'm assuming it can be added to the current patch very quickly.
All we need is

-      SwapQDTextFlags(oldFlags | kQDUseTrueTypeScalerGlyphs |
kQDUseCGTextRendering);
++      SwapQDTextFlags(oldFlags | kQDUseTrueTypeScalerGlyphs |
kQDUseCGTextRendering | kQDUseCGTextMetrics);

right?

panic not, 1.01 already has CG metrics on. it's only the trunk that's wrong.
i'll land that today when the tree opens.
Reopening pending application of metrics to trunk.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Just got FizzillaCFM/2002070913 and it appears metrics is, in fact, on in trunk
builds. Mike, can you confirm that this was done?
yes, i checked it in last week or so
Status: REOPENED → RESOLVED
Closed: 22 years ago22 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: