From 90486e89a2d2ab648bf2981590d86dd34b395534 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Fri, 20 May 2011 18:41:14 -0400 Subject: SH-1564 FIX update performance cost of flexi prims. Flexi prims are expensive - clocked in at 5x multiplier. Ouch! --- indra/newview/llvovolume.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index c2ccbc4c49..4c8bfaee27 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -2971,15 +2971,15 @@ U32 LLVOVolume::getRenderCost(texture_cost_t &textures) const // per-prim costs static const U32 ARC_PARTICLE_COST = 1; // determined experimentally static const U32 ARC_PARTICLE_MAX = 2048; // default values - static const U32 ARC_TEXTURE_COST = 32; // multiplier for texture resolution - performance tested + static const U32 ARC_TEXTURE_COST = 16; // multiplier for texture resolution - performance tested // per-prim multipliers static const F32 ARC_GLOW_MULT = 1.5f; // tested based on performance static const F32 ARC_BUMP_MULT = 1.25f; // tested based on performance - static const F32 ARC_FLEXI_MULT = 4; + static const F32 ARC_FLEXI_MULT = 5; // tested based on performance static const F32 ARC_SHINY_MULT = 1.6f; // tested based on performance static const F32 ARC_INVISI_COST = 1.2f; // tested based on performance - static const F32 ARC_WEIGHTED_MESH = 1.2f; + static const F32 ARC_WEIGHTED_MESH = 1.2f; // tested based on performance static const F32 ARC_PLANAR_COST = 1.0f; // tested based on performance to have negligible impact static const F32 ARC_ANIM_TEX_COST = 1.4f; // 1.4x max @@ -3069,7 +3069,7 @@ U32 LLVOVolume::getRenderCost(texture_cost_t &textures) const LLViewerFetchedTexture *texture = LLViewerTextureManager::getFetchedTexture(sculpt_id); if (texture) { - S32 texture_cost = 512 + (S32)(ARC_TEXTURE_COST * (texture->getFullHeight() / 128.f + texture->getFullWidth() / 128.f)); + S32 texture_cost = 256 + (S32)(ARC_TEXTURE_COST * (texture->getFullHeight() / 128.f + texture->getFullWidth() / 128.f)); textures.insert(texture_cost_t::value_type(sculpt_id, texture_cost)); } } @@ -3101,7 +3101,7 @@ U32 LLVOVolume::getRenderCost(texture_cost_t &textures) const { if (textures.find(img->getID()) == textures.end()) { - S32 texture_cost = 512 + (S32)(ARC_TEXTURE_COST * (img->getFullHeight() / 128.f + img->getFullWidth() / 128.f)); + S32 texture_cost = 256 + (S32)(ARC_TEXTURE_COST * (img->getFullHeight() / 128.f + img->getFullWidth() / 128.f)); textures.insert(texture_cost_t::value_type(img->getID(), texture_cost)); } } @@ -3143,8 +3143,8 @@ U32 LLVOVolume::getRenderCost(texture_cost_t &textures) const } } - // shame currently has the "base" cost of 1 point per 50 triangles, min 2. - shame = num_triangles / 50.f; + // shame currently has the "base" cost of 1 point per 15 triangles, min 2. + shame = num_triangles / 15.f; shame = shame < 2.f ? 2.f : shame; // factor in scale -- cgit v1.2.3