mirror of
https://github.com/ZDoom/Raze.git
synced 2025-03-23 01:11:30 +00:00
- do not use floor sprites for splitting geometry.
This is way too expensive on maps with lots of sprites. Instead, run them through the case for slope sprites which should be sufficient here Also let rendered_* count the actual draw calls, not processed objects, because that is the most relevant metric for checking performance issues.
This commit is contained in:
parent
899ced50aa
commit
8281374551
4 changed files with 3 additions and 4 deletions
|
@ -1169,7 +1169,6 @@ void HWDrawList::DrawSorted(HWDrawInfo *di, FRenderState &state, SortNode * head
|
|||
void HWDrawList::DrawSorted(HWDrawInfo *di, FRenderState &state)
|
||||
{
|
||||
if (drawitems.Size() == 0) return;
|
||||
|
||||
if (!sorted)
|
||||
{
|
||||
screen->mVertexData->Map();
|
||||
|
|
|
@ -100,7 +100,7 @@ void HWDrawInfo::AddFlat(HWFlat *flat)
|
|||
{
|
||||
// translucent portals go into the translucent border list.
|
||||
list = flat->Sprite? GLDL_TRANSLUCENT : GLDL_TRANSLUCENTBORDER;
|
||||
slopespr = (flat->Sprite && flat->Sprite->clipdist & TSPR_SLOPESPRITE);
|
||||
slopespr = !!(flat->Sprite);//&& flat->Sprite->clipdist& TSPR_SLOPESPRITE);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -218,6 +218,7 @@ void HWFlat::MakeVertices(HWDrawInfo* di)
|
|||
//==========================================================================
|
||||
void HWFlat::DrawFlat(HWDrawInfo *di, FRenderState &state, bool translucent)
|
||||
{
|
||||
rendered_flats++;
|
||||
if (screen->BuffersArePersistent() && !Sprite)
|
||||
{
|
||||
MakeVertices(di);
|
||||
|
@ -291,7 +292,6 @@ void HWFlat::PutFlat(HWDrawInfo *di, int whichplane)
|
|||
MakeVertices(di);
|
||||
}
|
||||
di->AddFlat(this);
|
||||
rendered_flats++;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
|
|
|
@ -253,6 +253,7 @@ void HWWall::RenderTranslucentWall(HWDrawInfo *di, FRenderState &state)
|
|||
//==========================================================================
|
||||
void HWWall::DrawWall(HWDrawInfo *di, FRenderState &state, bool translucent)
|
||||
{
|
||||
rendered_lines++;
|
||||
if (screen->BuffersArePersistent())
|
||||
{
|
||||
/*
|
||||
|
@ -397,7 +398,6 @@ void HWWall::SetupLights(HWDrawInfo *di, FDynLightData &lightdata)
|
|||
//==========================================================================
|
||||
void HWWall::PutWall(HWDrawInfo *di, bool translucent)
|
||||
{
|
||||
rendered_lines++;
|
||||
if (translucent || (texture && texture->GetTranslucency() && type == RENDERWALL_M2S))
|
||||
{
|
||||
flags |= HWF_TRANSLUCENT;
|
||||
|
|
Loading…
Reference in a new issue