IP Library Granted Patent US 8,842,127
Granted Patent B1
US 8,842,127 · App. 11/113,814 · Granted Sep 23, 2014

Text rendering with improved glyph cache management

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,842,127
App. No.
11/113,814
Granted
Sep 23, 2014
Kind
B1
Abstract

A system, method, and computer program for high-speed, efficient text rendering are disclosed. In accordance with certain embodiments of the present invention, an image resource architecture is provided for optimal sub-image uploads to keep the glyph cache up to date. A glyph cache is divided into zones, or sub-caches, wherein requests for writing a glyph bitmap to the cache may be handled by destroying or clearing an entire zone. In accordance with other embodiments of the present invention, a highly efficient method of rendering is provided wherein commands are automatically combined and made into larger commands for the GPU. Alternatively, rather than performing a command stream flush upon each intersection, a texture cache flush may be implemented. All source glyph bitmaps may be placed into one texture.

Claims (22)

1. A method for rendering text, the method comprising the steps of:

receiving a request to render a glyph;

generating a glyph bitmap;

obtaining a list of a plurality of sub-caches in a glyph cache, each sub-cache capable of holding at least two glyph bitmaps;

determining if any of the plurality of sub-caches has sufficient space for the glyph bitmap;

inserting the glyph bitmap into one of the plurality of sub-caches with sufficient space;

determining whether none of the plurality of sub-caches have sufficient space for the glyph bitmap;

upon determining that none of the plurality of sub-caches have sufficient space for the glyph bitmap, clearing the entirety of one of the plurality of sub-caches and inserting the glyph bitmap into the entirely cleared sub-cache; and

submitting a command stream to draw the glyph to a destination.

2. The method as claimed in claim 1 , wherein the destination comprises a display device.

3. The method as claimed in claim 1 , wherein the destination comprises an LCD screen.

4. The method as claimed in claim 1 , wherein the step of clearing one of the plurality of sub-caches comprises initializing the size of the sub-cache to zero.

5. The method as claimed in claim 1 , wherein the list of the plurality of sub-caches is in last cleared order, and further comprising the step of:

modifying the list of the plurality of sub-caches such that the cleared sub-cache is at the end of the list.

6. The method as claimed in claim 1 , wherein the glyph cache has an upper level cache and a lower level cache, with the plurality of sub-caches in the lower level cache, and with the upper level cache having an entry for each glyph bitmap in the lower level cache, further comprising the step of:

clearing the glyph bitmap in the cleared sub-cache from the upper level cache.

7. A non-transitory computer-readable medium having computer-executable instructions for performing the method recited in any one of claims 1 - 6 .

8. A computer system for rendering text, the system comprising:

a graphics processor unit;

a memory operatively coupled to the graphics processor unit;

a connection coupled to the graphics processor unit to allow a display device to be operatively coupled to the graphics processor unit; and

an application executable within the graphics processor unit and the memory, the application capable of performing the method recited in any of claims 1 - 6 .

Assignments (1)
CHANGE OF NAME Recorded May 11, 2007
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 019265/0961 →