Panda3D
Public Member Functions | Static Public Member Functions | List of all members
GeomCacheManager Class Reference

This is used to keep track of, and limit the size of, the cache of munged vertices, which would otherwise be distributed through all of the GeomVertexData objects in the system. More...

Public Member Functions

 flush ()
 Immediately empties all elements in the cache. More...
 
int getMaxSize ()
 Returns the maximum number of entries in the cache for storing pre- processed data for rendering vertices. More...
 
int getTotalSize ()
 Returns the number of entries currently in the cache. More...
 
 setMaxSize (int max_size)
 Specifies the maximum number of entries in the cache for storing pre- processed data for rendering vertices. More...
 

Static Public Member Functions

static GeomCacheManager getGlobalPtr ()
 Returns the global cache manager pointer. More...
 

Detailed Description

This is used to keep track of, and limit the size of, the cache of munged vertices, which would otherwise be distributed through all of the GeomVertexData objects in the system.

The actual data in the cache is not stored here, but rather it is distributed among the various GeomVertexData source objects. This allows the cache data to propagate through the multiprocess pipeline.

This structure actually caches any of a number of different types of pointers, and mixes them all up in the same LRU cache list. Some of them (such as GeomMunger) are reference-counted here in the cache; most are not.

Member Function Documentation

◆ flush()

flush ( )

Immediately empties all elements in the cache.

◆ getGlobalPtr()

static GeomCacheManager getGlobalPtr ( )
static

Returns the global cache manager pointer.

◆ getMaxSize()

int getMaxSize ( )

Returns the maximum number of entries in the cache for storing pre- processed data for rendering vertices.

See set_max_size().

◆ getTotalSize()

int getTotalSize ( )

Returns the number of entries currently in the cache.

◆ setMaxSize()

setMaxSize ( int  max_size)

Specifies the maximum number of entries in the cache for storing pre- processed data for rendering vertices.

This limit is flexible, and may be temporarily exceeded if many different Geoms are pre-processed during the space of a single frame.

This is not a limit on the actual vertex data, which is what it is; it is also not a limit on the amount of memory used by the video driver or the system graphics interface, which Panda has no control over.