mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
graphics_memory_limit_changed
This commit is contained in:
parent
d36782fbd0
commit
a21091c9dc
@ -25,26 +25,6 @@ get_name() const {
|
|||||||
return _name;
|
return _name;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
// Function: PreparedGraphicsObjects::set_graphics_memory_limit
|
|
||||||
// Access: Public
|
|
||||||
// Description: Sets an artificial cap on graphics memory that
|
|
||||||
// will be imposed on this GSG.
|
|
||||||
//
|
|
||||||
// This limits the total amount of graphics memory,
|
|
||||||
// including texture memory and vertex buffer memory,
|
|
||||||
// that will be consumed by the GSG, regardless of
|
|
||||||
// whether the hardware claims to provide more graphics
|
|
||||||
// memory than this. It is useful to put a ceiling on
|
|
||||||
// graphics memory consumed, since some drivers seem to
|
|
||||||
// allow the application to consume more memory than the
|
|
||||||
// hardware can realistically support.
|
|
||||||
////////////////////////////////////////////////////////////////////
|
|
||||||
INLINE void PreparedGraphicsObjects::
|
|
||||||
set_graphics_memory_limit(size_t limit) {
|
|
||||||
_graphics_memory_lru.set_max_size(limit);
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: PreparedGraphicsObjects::get_graphics_memory_limit
|
// Function: PreparedGraphicsObjects::get_graphics_memory_limit
|
||||||
// Access: Public
|
// Access: Public
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
#include "geomContext.h"
|
#include "geomContext.h"
|
||||||
#include "shaderContext.h"
|
#include "shaderContext.h"
|
||||||
#include "config_gobj.h"
|
#include "config_gobj.h"
|
||||||
|
#include "throw_event.h"
|
||||||
|
|
||||||
int PreparedGraphicsObjects::_name_index = 0;
|
int PreparedGraphicsObjects::_name_index = 0;
|
||||||
|
|
||||||
@ -101,6 +102,32 @@ PreparedGraphicsObjects::
|
|||||||
_released_index_buffers.clear();
|
_released_index_buffers.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
// Function: PreparedGraphicsObjects::set_graphics_memory_limit
|
||||||
|
// Access: Public
|
||||||
|
// Description: Sets an artificial cap on graphics memory that
|
||||||
|
// will be imposed on this GSG.
|
||||||
|
//
|
||||||
|
// This limits the total amount of graphics memory,
|
||||||
|
// including texture memory and vertex buffer memory,
|
||||||
|
// that will be consumed by the GSG, regardless of
|
||||||
|
// whether the hardware claims to provide more graphics
|
||||||
|
// memory than this. It is useful to put a ceiling on
|
||||||
|
// graphics memory consumed, since some drivers seem to
|
||||||
|
// allow the application to consume more memory than the
|
||||||
|
// hardware can realistically support.
|
||||||
|
////////////////////////////////////////////////////////////////////
|
||||||
|
void PreparedGraphicsObjects::
|
||||||
|
set_graphics_memory_limit(size_t limit) {
|
||||||
|
if (limit != _graphics_memory_lru.get_max_size()) {
|
||||||
|
_graphics_memory_lru.set_max_size(limit);
|
||||||
|
|
||||||
|
// We throw an event here so global objects (particularly the
|
||||||
|
// TexMemWatcher) can automatically respond to this change.
|
||||||
|
throw_event("graphics_memory_limit_changed");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////
|
||||||
// Function: PreparedGraphicsObjects::show_graphics_memory_lru
|
// Function: PreparedGraphicsObjects::show_graphics_memory_lru
|
||||||
// Access: Public
|
// Access: Public
|
||||||
|
@ -63,7 +63,7 @@ public:
|
|||||||
PUBLISHED:
|
PUBLISHED:
|
||||||
INLINE const string &get_name() const;
|
INLINE const string &get_name() const;
|
||||||
|
|
||||||
INLINE void set_graphics_memory_limit(size_t limit);
|
void set_graphics_memory_limit(size_t limit);
|
||||||
INLINE size_t get_graphics_memory_limit() const;
|
INLINE size_t get_graphics_memory_limit() const;
|
||||||
void show_graphics_memory_lru(ostream &out) const;
|
void show_graphics_memory_lru(ostream &out) const;
|
||||||
void show_residency_trackers(ostream &out) const;
|
void show_residency_trackers(ostream &out) const;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user