Eureka AIR delivers breakthrough ideas for toughest innovation challenges, trusted by R&D personnel around the world.

Application load times by caching shader binaries in a persistent storage

a persistent storage and shader technology, applied in the field of graphics processing, can solve the problems of shader compilation time on mobile hardware that can easily exceed the frame time, shader compilation time can take a significant portion of frame render time, and display stuttering

Inactive Publication Date: 2014-02-13
VERIZON PATENT & LICENSING INC +1
View PDF6 Cites 33 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

This patent presents solutions to the challenge of compiling shaders efficiently during runtime. The invention provides a method for compiling a shader for execution by a graphics processor. This method involves selecting a shader, computing a key for the shader, searching the memory for a copy of the key, and passing a shader binary stored in the memory to the graphics processor for execution if the key is found in the memory. The shader binary is associated with the computed key and the copy of the computed key. This invention also includes a computer system comprising a processor, graphics processor, and memory. A compiler is operable to compile and link shader source code to create a shader binary, which is stored in the memory. The graphics driver module is operable to select one or more shders for execution by the graphics processor and to compute a key for a selected shader. The memory is operable to search for a copy of the key. A shader binary is passed from the memory for execution by the graphics processor if the copy of the key is located in the memory. However, if the key cannot be found, the compiler is operable to compiled and link the shader to create a shader binary for execution by the graphics processor and storing it in the memory. The shader binary is associated with the computed key and the copy of the computed key. The technical effects of this patent are improved efficiency in compiling shaders during runtime and improved performance of graphics processing.

Problems solved by technology

Shader compilation times on mobile hardware can take a significant portion of frame render time.
When the application compiles a handful of shaders, which take on average 3-5 ms to compile on current mobile hardware, the shader compilation time can easily exceed the frame time and unfortunately cause visible stuttering on the screen.
An application attempting to compile shaders during runtime risks frame hitches or a gap of time when rendering stops or slows as shaders are compiled and programs linked together.
Such visible stuttering or frame rate hitches are undesirable.
It would also be difficult for an application vendor to supply a shader binary library that contains all of the possible binaries that would need to be stored so as to avoid compiling.
Even so, should unexpected changes occur, the stored binaries would then be out of date.
In other words, a large binary library will not provide the required flexibility to update the executable shader binaries to reflect any changes to hardware and software.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Application load times by caching shader binaries in a persistent storage
  • Application load times by caching shader binaries in a persistent storage
  • Application load times by caching shader binaries in a persistent storage

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0017]Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of embodiments of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A method for compiling a shader for execution by a graphics processor. The method comprises selecting a shader for execution. A key is computed for the selected shader. A memory is searched for a copy of the computed key. A shader binary stored in the memory is passed to the graphics processor for execution if the copy of the computed key is located in the memory. Otherwise, the shader is compiled to produce the shader binary for execution by the graphics processor and storing the shader binary in the memory. The shader binary is associated with the computed key and the copy of the computed key.

Description

CROSS-REFERENCES TO RELATED APPLICATIONS[0001]This application claims the benefit of Provisional Application No. 61 / 585,620, filed on Jan. 11, 2012, titled “GRAPHICS PROCESSOR CLOCK SCALING, APPLICATION LOAD TIME IMPROVEMENTS, AND DYNAMICALLY ADJUSTING RESOLUTION OF RENDER BUFFER TO IMPROVE AND STABILIZE FRAME TIMES OF A GRAPHICS PROCESSOR,” by Swaminathan Narayanan, et al., which is herein incorporated by reference.TECHNICAL FIELD[0002]Embodiments of the present disclosure relate generally to the field of graphics processing and more specifically to the field of improved shader binary caching and execution for efficient graphics processing.BACKGROUND[0003]High level graphics languages (e.g., OpenGL and DirectX) allow applications to specify the execution of particular shaders. Shaders are instruction sets that define how certain pieces of geometry or fragments are processed by a graphics processor. These shader instruction sets can be quite long and detailed in what they do, and of...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & Authority Applications(United States)
IPC IPC(8): G06T15/80
CPCG06T15/80G06F1/324Y02D10/00G06F1/3265G06F1/3218G06F11/3423
Inventor NARAYANAN, SWAMINATHANHAEMEL, NICHOLASBOLZ, JEFFREY A.
Owner VERIZON PATENT & LICENSING INC
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Eureka Blog
Learn More
PatSnap group products