Closed Bug 551303 Opened 14 years ago Closed 13 years ago

Use QuartzGL for drawing

Categories

(Core :: Graphics, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: ehsan.akhgari, Unassigned)

References

()

Details

(Keywords: perf, testcase)

Attachments

(2 files)

Attached patch Patch (v1)Splinter Review
$summary

(Jeff dictated me both the patch and the bug description/summary, I'm just the delivery guy!)

Perf test case: http://www.tapper-ware.net/stable/web.dom.stresstest.transform/
Attachment #431482 - Flags: review?(joshmoz)
Have you run tests with this, and do you have Tp numbers? I'm happy to try this but I need to know that tests pass and that Tp won't regress.

Apparently the default NSWindowBackingLocation is determined by the OS - you'd think this would already be the default where possible.
Also - what happens when you have this set and then we load a Quickdraw plugin?
Attachment #431482 - Flags: review?(joshmoz)
Would this give the Mac builds the same performance improvement as Direct2D gave on Windows?
Is it possible to land this with a pref set to off ? People could try it a bit and file bugs.
(In reply to comment #4)
> Is it possible to land this with a pref set to off ? People could try it a bit
> and file bugs.

That seems like a good idea.
I don't have the knowledge to write a patch about Comment 4, but I think it's a good idea, preffed off
I'm much interested in this issue and I tried the stress test linked in the first post. In FF 4 beta 6, QuartzGL doesn't make a difference: 2-3 fps with 100% CPU usage.
On Safari 5, the difference is huge! Going from 5 fps to full 60 fps with CPU usage dropping from 100% to 25%. It could probably go way over 60fps without Vsync, although disabling beam sync makes things worse, for some reason. 

2.4 GHz MacBook Pro with geforce 9400M, OS X 10.6.4, safari 5.0.2.
Attached patch v0.1Splinter Review
I've taken the patch from Ehsan and added a pref with the necessary code (I think!) to get that working.

It's not tested, I'm compiling right now (a debug build, is it better to compile with any specific args?)
So I've compiled a Debug build with my patch, and just with the patch from Ehsan and the URL example doesn't work as in Safari. I have enabled just Quartz Extreme (Force QuartzGL in Quartz Debug app seems to not do anything)

Safari: around 60fps
Firefox: around 15fps

Are we missing something?
I just tried a Firefox nightly with Quartz Debug.

I don't see any improvements with QuartzGL activated but it's smooth with Quartz Extreme. Going from 20 to 60ps.

I also get better performance on the Flying images IE demo. 40fps with QE, 10fps without (36 images)
Quartz Extreme isn't something we can influence, as far as I know. It's a system-wide setting for window composition and it's on by default.
Yeah sorry for the bogus comment. I understood that Quartz Extreme was on by default when it was smooth even with Quartz Debug turned off.
When we're ready to implement content acceleration on OS X, we'll likely use the Core Animation APIs rather than the older QuartzGL.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: