[D]ELARO ✓ Posted December 8, 2021 Report Share Posted December 8, 2021 Un Fix sencillo y rápido para evitar las pantallas negras o pantallas congeladas, por ejemplo cuando minimizas la ventana del juego por mucho tiempo suele pasar ese problema a todo el mundo. 1 Abrir el archivo: EterGrnLib/ModelInstanceUpdate.cpp de su source del cliente 2 Buscar: CGrannyModelInstance::Update 3 Dentro de esa funcion buscar: GrannySetModelClock(m_pgrnModelInstance, GetLocalTime()); 4 Pegar arriba: GrannyFreeCompletedModelControls(m_pgrnModelInstance); Quedaria de esta forma: GrannyFreeCompletedModelControls(m_pgrnModelInstance); GrannySetModelClock(m_pgrnModelInstance, GetLocalTime()); /////////////////////////////////////////////////////////////////////////////////////////// // EJEMPLO DE MI FUNCION COMPLETA: void CGrannyModelInstance::Update(DWORD dwAniFPS) { if (!dwAniFPS) return; const DWORD c_dwCurUpdateFrame = (DWORD)(GetLocalTime() * ANIFPS_MAX); const DWORD ANIFPS_STEP = ANIFPS_MAX / dwAniFPS; if (c_dwCurUpdateFrame > ANIFPS_STEP && c_dwCurUpdateFrame / ANIFPS_STEP == m_dwOldUpdateFrame / ANIFPS_STEP) return; m_dwOldUpdateFrame = c_dwCurUpdateFrame; // DWORD t1 = timeGetTime(); GrannyFreeCompletedModelControls(m_pgrnModelInstance); GrannySetModelClock(m_pgrnModelInstance, GetLocalTime()); // DWORD t2 = timeGetTime(); #ifdef __PERFORMANCE_CHECKER__ { static FILE* fp = fopen("perf_grn_setmodelclock.txt", "w"); if (t2 - t1 > 3) { fprintf(fp, "%f:%x:- GrannySetModelClock(time=%f) = %dms\n", timeGetTime() / 1000.0f, this, GetLocalTime(), t2 - t1); fflush(fp); } } #endif } Una vez terminado compilan su binario y prueban, personalmente lo he estado testeando por un par de horas minimizado y funciona perfecto. Solución dada por Distraught de Metin2 Dev. CHELO 1 Quote Link to comment Share on other sites More sharing options...
CHELO Posted December 8, 2021 Report Share Posted December 8, 2021 hace 15 horas, [D]ELARO ✓ dijo: Un Fix sencillo y rápido para evitar las pantallas negras o pantallas congeladas, por ejemplo cuando minimizas la ventana del juego por mucho tiempo suele pasar ese problema a todo el mundo. 1 Abrir el archivo: EterGrnLib/ModelInstanceUpdate.cpp de su source del cliente 2 Buscar: CGrannyModelInstance::Update 3 Dentro de esa funcion buscar: GrannySetModelClock(m_pgrnModelInstance, GetLocalTime()); 4 Pegar arriba: GrannyFreeCompletedModelControls(m_pgrnModelInstance); Quedaria de esta forma: GrannyFreeCompletedModelControls(m_pgrnModelInstance); GrannySetModelClock(m_pgrnModelInstance, GetLocalTime()); /////////////////////////////////////////////////////////////////////////////////////////// // EJEMPLO DE MI FUNCION COMPLETA: void CGrannyModelInstance::Update(DWORD dwAniFPS) { if (!dwAniFPS) return; const DWORD c_dwCurUpdateFrame = (DWORD)(GetLocalTime() * ANIFPS_MAX); const DWORD ANIFPS_STEP = ANIFPS_MAX / dwAniFPS; if (c_dwCurUpdateFrame > ANIFPS_STEP && c_dwCurUpdateFrame / ANIFPS_STEP == m_dwOldUpdateFrame / ANIFPS_STEP) return; m_dwOldUpdateFrame = c_dwCurUpdateFrame; // DWORD t1 = timeGetTime(); GrannyFreeCompletedModelControls(m_pgrnModelInstance); GrannySetModelClock(m_pgrnModelInstance, GetLocalTime()); // DWORD t2 = timeGetTime(); #ifdef __PERFORMANCE_CHECKER__ { static FILE* fp = fopen("perf_grn_setmodelclock.txt", "w"); if (t2 - t1 > 3) { fprintf(fp, "%f:%x:- GrannySetModelClock(time=%f) = %dms\n", timeGetTime() / 1000.0f, this, GetLocalTime(), t2 - t1); fflush(fp); } } #endif } Una vez terminado compilan su binario y prueban, personalmente lo he estado testeando por un par de horas minimizado y funciona perfecto. Solución dada por Distraught de Metin2 Dev. Ya lo as probado y si funciona si funciona muchas gracias gran aportaso Quote Link to comment Share on other sites More sharing options...
MiGueLiT0 Posted December 11, 2021 Report Share Posted December 11, 2021 De funcionar sirve creo que el mismo dice que es una solucion rapida, porque el cliente al dejarlo minimisado no sigue funcionando, esto lo que hace si no mal me equivoco es que aunque este minimizado siga funcionando (usando el pc) :v Quote Link to comment Share on other sites More sharing options...
[D]ELARO ✓ Posted December 11, 2021 Author Report Share Posted December 11, 2021 hace 20 horas, MiGueLiT0 dijo: De funcionar sirve creo que el mismo dice que es una solucion rapida, porque el cliente al dejarlo minimisado no sigue funcionando, esto lo que hace si no mal me equivoco es que aunque este minimizado siga funcionando (usando el pc) :v Asi esto solo deja en pausa los graficos del juego y cuando abres de nuevo inicia desde ese instante, ya como algunos saben el juego normal al minimizar sigue ejecutando los graficos pero en un tipo de "pausa" y cuando salimos de minimizar empieza a cargar desde el momento que minimizaste, nos damos cuenta por el lag acumulado y por ejemplo en el logo de gm que empieza a acelerar los frames hasta "llegar" a los actuales. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.