[D]ELARO ✓ Publicado 8 de Diciembre del 2021 Reportar Compartir Publicado 8 de Diciembre del 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 reacciono a esto 1 Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
CHELO Publicado 8 de Diciembre del 2021 Reportar Compartir Publicado 8 de Diciembre del 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 Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
MiGueLiT0 Publicado 11 de Diciembre del 2021 Reportar Compartir Publicado 11 de Diciembre del 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 Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
[D]ELARO ✓ Publicado 11 de Diciembre del 2021 Author Reportar Compartir Publicado 11 de Diciembre del 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. Citar Enlace para comentar Compartir en otros sitios Mas opciones de compartir...
Mensajes recomendados
Unirse a la conversación
Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.