Fethi Polat 1
Fethi Polat
xranzei 1
xranzei
Bvural41 1
Bvural41
kralhakan2009 1
kralhakan2009
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Vahsi Uzman 1
Vahsi Uzman
Cannn6161 1
Cannn6161
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com
Kaynak ikonu

Performance FPS 2022-06-10

indirmek için izniniz yok
  • Konuyu başlatan Konuyu başlatan ZeiDen
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 15
  • Görüntüleme Görüntüleme 4K

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

Selam, sizlere bugün bir performance sistemi paylasiyorum.
Bir suru mob spawn yaparsaniz önemli fps drop yersiniz.
Cok fazla konusmaya gerek yok sizlere bir GIF göstereyim.

Before/Önce :
After/Sonra :


Daha önceden kurmuştum ama sanki farklı bir ad ileydi yada bana öyle geliyor her neyse şuanda aktif olarak kullanıyorum.
 
Selam, sizlere bugün bir performance sistemi paylasiyorum.
Bir suru mob spawn yaparsaniz önemli fps drop yersiniz.
Cok fazla konusmaya gerek yok sizlere bir GIF göstereyim.

Before/Önce :
After/Sonra :


I ask for help.
I can't figure out where to add the CRenderTargetManager function
 

Ekli dosyalar

  • eroor.png
    eroor.png
    140 KB · Görüntüleme: 1
PythonApplication.cpp
Hatayı hangi konudaki sistemi eklerken aldıysan oraya at.
// Search :

if (!s_bFrameSkip)
{
CGrannyMaterial::TranslateSpecularMatrix(g_specularSpd, g_specularSpd, 0.0f);

DWORD dwRenderStartTime = ELTimer_GetMSec();

bool canRender = true;

if (m_isMinimizedWnd)
{
canRender = false;
}
else
{
if (m_pyGraphic.IsLostDevice())
{
CPythonBackground& rkBG = CPythonBackground::Instance();
rkBG.ReleaseCharacterShadowTexture();

if (m_pyGraphic.RestoreDevice())
rkBG.CreateCharacterShadowTexture();
else
canRender = false;
}
}

// Replace all with :

if (!s_bFrameSkip)
{
CGrannyMaterial::TranslateSpecularMatrix(g_specularSpd, g_specularSpd, 0.0f);
DWORD dwRenderStartTime = ELTimer_GetMSec();
bool canRender = true;

if (m_isMinimizedWnd)
{
canRender = false;
}
else
{
#ifdef ENABLE_FIX_MOBS_LAG
if (DEVICE_STATE_OK != CheckDeviceState())
{
canRender = false;

CPythonBackground& rkBG = CPythonBackground::Instance();
CRenderTargetManager::Instance().ReleaseRenderTargetTextures();

if (m_pyGraphic.RestoreDevice())
{
CRenderTargetManager::Instance().CreateRenderTargetTextures();
rkBG.CreateCharacterShadowTexture();
}
else
{
canRender = false;
}
}
#else
if (m_pyGraphic.IsLostDevice())
{
CPythonBackground &rkBG = CPythonBackground::Instance();
rkBG.ReleaseCharacterShadowTexture();

CRenderTargetManager::Instance().ReleaseRenderTargetTextures();

if (m_pyGraphic.RestoreDevice())
{
CRenderTargetManager::Instance().CreateRenderTargetTextures();
rkBG.CreateCharacterShadowTexture();
}
else
{
canRender = false;
}
}
#endif
}

// Search :

int CPythonApplication::CheckDeviceState()
{
CGraphicDevice::EDeviceState e_deviceState = m_grpDevice.GetDeviceState();

switch (e_deviceState)
{
// 디바이스가 없으면 프로그램이 종료 되어야 한다.
case CGraphicDevice::DEVICESTATE_NULL:
return DEVICE_STATE_FALSE;

// DEVICESTATE_BROKEN일 때는 다음 루프에서 복구 될 수 있도록 리턴 한다.
// 그냥 진행할 경우 DrawPrimitive 같은 것을 하면 프로그램이 터진다.
case CGraphicDevice::DEVICESTATE_BROKEN:
return DEVICE_STATE_SKIP;

case CGraphicDevice::DEVICESTATE_NEEDS_RESET:
if (!m_grpDevice.Reset())
return DEVICE_STATE_SKIP;

break;
}

return DEVICE_STATE_OK;
}

// Replace all with :

int CPythonApplication::CheckDeviceState()
{
CGraphicDevice::EDeviceState e_deviceState = m_grpDevice.GetDeviceState();

switch (e_deviceState)
{
case CGraphicDevice::DEVICESTATE_NULL:
return DEVICE_STATE_FALSE;

case CGraphicDevice::DEVICESTATE_BROKEN:
return DEVICE_STATE_SKIP;

#ifdef ENABLE_FIX_MOBS_LAG
case CGraphicDevice::DEVICESTATE_NEEDS_RESET:
m_pyBackground.ReleaseCharacterShadowTexture();
CRenderTargetManager::Instance().ReleaseRenderTargetTextures();

Trace("DEVICESTATE_NEEDS_RESET - attempting");
if (!m_grpDevice.Reset())
{
return DEVICE_STATE_SKIP;
}

CRenderTargetManager::Instance().CreateRenderTargetTextures();
m_pyBackground.CreateCharacterShadowTexture();

break;

case CGraphicDevice::DEVICESTATE_OK: break;
default:;
#else
case CGraphicDevice::DEVICESTATE_NEEDS_RESET:
if (!m_grpDevice.Reset())
{
return DEVICE_STATE_SKIP;
}

break;
#endif

}

return DEVICE_STATE_OK;
}


CRenderTargetManager::Instance().ReleaseRenderTargetTextures(); error
 
I ask for help.
I can't figure out where to add the CRenderTargetManager function
Hata veren kodları sil. Hata sebebi dosyalarında render target sisteminin olmamasından kaynaklı.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst