Improve RID_Owner memory usage

* Ability to allocate empty objects in RID_Owner, so RID_PtrOwner is not needed in most cases.
* Improves cache usage, as objects are now allocated together
* Should improve performance in 2D rendering
This commit is contained in:
reduz 2021-06-29 10:58:28 -03:00
parent 691c754a6c
commit 64c925cca6
11 changed files with 66 additions and 78 deletions

View file

@ -97,7 +97,7 @@ public:
}
};
mutable RID_PtrOwner<Camera, true> camera_owner;
mutable RID_Owner<Camera, true> camera_owner;
virtual RID camera_allocate();
virtual void camera_initialize(RID p_rid);
@ -345,7 +345,7 @@ public:
int indexer_update_iterations = 0;
mutable RID_PtrOwner<Scenario, true> scenario_owner;
mutable RID_Owner<Scenario, true> scenario_owner;
static void _instance_pair(Instance *p_A, Instance *p_B);
static void _instance_unpair(Instance *p_A, Instance *p_B);
@ -895,7 +895,7 @@ public:
uint32_t thread_cull_threshold = 200;
RID_PtrOwner<Instance, true> instance_owner;
RID_Owner<Instance, true> instance_owner;
uint32_t geometry_instance_pair_mask; // used in traditional forward, unnecessary on clustered