Removed updateDraw boolean
This commit is contained in:
parent
38a10e0ef4
commit
24b2d47a90
4 changed files with 3 additions and 12 deletions
|
|
@ -112,19 +112,16 @@ void DrawComponent::temp_update(DrawingProgram& drawP) {
|
|||
drawP.compCache.preupdate_component(collabListInfo.lock());
|
||||
worldAABB = std::nullopt;
|
||||
initialize_draw_data(drawP);
|
||||
updateDraw = true;
|
||||
}
|
||||
|
||||
void DrawComponent::transform_temp_update(DrawingProgram& drawP) {
|
||||
drawP.compCache.preupdate_component(collabListInfo.lock());
|
||||
worldAABB = std::nullopt;
|
||||
updateDraw = true;
|
||||
}
|
||||
|
||||
void DrawComponent::final_update(DrawingProgram& drawP) {
|
||||
initialize_draw_data(drawP);
|
||||
finalize_update(drawP);
|
||||
updateDraw = true;
|
||||
}
|
||||
|
||||
void DrawComponent::client_send_place(DrawingProgram& drawP) {
|
||||
|
|
@ -161,7 +158,6 @@ void DrawComponent::finalize_update(DrawingProgram& drawP, bool invalidateCache)
|
|||
if(invalidateCache)
|
||||
drawP.compCache.preupdate_component(collabListInfo.lock());
|
||||
create_collider(drawP.colliderAllocated);
|
||||
updateDraw = true;
|
||||
}
|
||||
|
||||
bool DrawComponent::collides_with_world_coords(const CoordSpaceHelper& camCoords, const SCollision::ColliderCollection<WorldScalar>& checkAgainstWorld, bool colliderAllocated) {
|
||||
|
|
@ -202,7 +198,7 @@ void DrawComponent::canvas_do_calculated_transform(SkCanvas* canvas) {
|
|||
void DrawComponent::calculate_draw_transform(const DrawData& drawData) {
|
||||
drawSetupData.shouldDraw = !drawData.clampDrawBetween || ((drawData.clampDrawMaximum >= coords.inverseScale) && (drawData.clampDrawMinimum < coords.inverseScale));
|
||||
if(drawSetupData.shouldDraw) {
|
||||
drawSetupData.shouldDraw = updateDraw || !worldAABB || SCollision::collide(*worldAABB, drawData.cam.viewingAreaGenerousCollider);
|
||||
drawSetupData.shouldDraw = !worldAABB || SCollision::collide(*worldAABB, drawData.cam.viewingAreaGenerousCollider);
|
||||
if(drawSetupData.shouldDraw) {
|
||||
if(drawData.mipMapLevelTwo > coords.inverseScale)
|
||||
drawSetupData.mipmapLevel = 2;
|
||||
|
|
|
|||
|
|
@ -72,8 +72,6 @@ class DrawComponent {
|
|||
#ifndef IS_SERVER
|
||||
bool selected = false;
|
||||
|
||||
bool updateDraw = true;
|
||||
|
||||
bool globalCollisionCheck = false;
|
||||
|
||||
std::chrono::time_point<std::chrono::steady_clock> lastTransformTime;
|
||||
|
|
|
|||
|
|
@ -572,9 +572,6 @@ void DrawingProgram::draw(SkCanvas* canvas, const DrawData& drawData) {
|
|||
draw_components_to_canvas(drawProgCacheCanvas, drawData, false);
|
||||
canvas->drawImage(world.main.drawProgCache.surface->makeTemporaryImage(), 0, 0);
|
||||
}
|
||||
|
||||
for(auto& c : components.client_list())
|
||||
c->obj->updateDraw = false;
|
||||
}
|
||||
|
||||
switch(controls.selectedTool) {
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ void DrawingProgramCache::build(std::vector<CollabListType::ObjectInfoPtr> compo
|
|||
unsortedComponents.clear();
|
||||
nodesWithCachedSurfaces.clear();
|
||||
std::erase_if(components, [&](auto& c) {
|
||||
if(!c->obj->worldAABB || c->obj->updateDraw) {
|
||||
if(!c->obj->worldAABB) {
|
||||
unsortedComponents.emplace_back(c);
|
||||
c->obj->parentBvhNode.reset();
|
||||
return true;
|
||||
|
|
@ -36,7 +36,7 @@ void DrawingProgramCache::build(std::vector<CollabListType::ObjectInfoPtr> compo
|
|||
}
|
||||
|
||||
void DrawingProgramCache::update() {
|
||||
if(unsortedComponents.size() >= 1000 && (std::chrono::steady_clock::now() - lastBvhBuildTime) >= std::chrono::seconds(7))
|
||||
if(unsortedComponents.size() >= 1000 && (std::chrono::steady_clock::now() - lastBvhBuildTime) >= std::chrono::seconds(5))
|
||||
force_rebuild();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue