Apache OpenOffice (AOO) Bugzilla – Issue 87689
Aqua: copyBits() and copyArea() performance
Last modified: 2008-06-20 10:20:21 UTC
The methods which especially important for scroll performance (AquaSalGraphics::copyBits() and copyArea()), are currently implemented in a way that result in way to many bitmap accesses, some of which are of the very expensive GetPixel()/SetPixel() type. Since scroll and bitblit operations often involve large areas of the screen this is even more of a problem. We should use an CGImageRef based approach to bitmap handling.
Done in CWS aquabmpfix01. The enhancement currently only works for AquaSalGraphics::copyBits() and AquaSalGraphics::copyArea(), the longer term solution will be CGImageRef based AquaSalImage, which should become a base class for AquaSalBitmap.
After I refactored OOo's Aqua-GSL subsystem in CWS aquabmpfixes01 the interactive performance is quite improved. It pays of to make AquaSalGraphic objects avoid doing everything via Quartz bitmaps.
@wg: please verify in CWS aquabmpfix01 that scrolling is now considerably faster (at least 5x)
Verified in CWS on MAC OS.
*** Issue 90101 has been marked as a duplicate of this issue. ***
Tested in DEV300_m20. Closed.