Depurar errores como un pro · Lección 3/3 · 9 min
Aislar el problema y cazar el lag
Divide y vencerás para encontrar el bug; y usa resmon para encontrar el recurso que te come los FPS.
Aislar: divide y vencerás
Si una función larga falla y no sabes dónde, comenta la mitad. ¿Sigue fallando? Está en la otra mitad. ¿Deja de fallar? Está en lo que comentaste. Repite hasta acorralar la línea. En 4-5 pasos lo tienes.
Cazar el lag con resmon
# En la consola del cliente (F8):
resmon
# Te lista cada recurso y cuánto CPU (ms) usa por frame.
# Verde < 1ms = bien. Amarillo/rojo = ese recurso te come FPS.resmon
- Un recurso por encima de ~1-2ms en reposo es sospechoso (recuerda los Wait dinámicos del módulo anterior).
- Si un recurso da picos (hitches), suele ser un bucle sin Wait o una consulta MySQL en cada frame.
- Quita recursos de uno en uno para confirmar cuál causa el problema.
Y cuando te atasques de verdad: pega el error y el código en el chat de Crxative-M. Para eso está: te dice la causa raíz y el fix sin que pierdas la tarde.
Practica lo aprendido
0/3En resmon, un recurso en VERDE (< 1ms por frame) significa que...
Pista
Piensa en un semáforo: verde es 'todo bien'.
Este hilo congela al cliente porque nunca descansa. Arréglalo añadiendo un Wait dentro del bucle.
Este código tiene un fallo:
CreateThread(function() while true do DibujarMarcador() endend)Reescríbelo corregido:
Pista
Un 'while true do' sin Wait monopoliza el hilo. Mete un Wait(0) (o mayor) al final del bucle.
Tu servidor va a tirones. Ordena los pasos para encontrar el recurso culpable.
Coloca las líneas en el orden correcto con las flechas.
Revisa su código: busca bucles sin Wait o MySQL por frameMira qué recurso está en amarillo o rojo (ms altos)Quita ese recurso y comprueba si mejora el rendimientoAbre la consola (F8) y escribe: resmonPista
Primero mides (resmon), luego identificas, luego aíslas, y al final corriges la causa.
Reto: prográmalo tú
Tu servidor va a tirones. Describe el plan paso a paso para encontrar qué recurso lo causa.
Escríbelo tú en tu editor (VS Code) y pruébalo en tu servidor. Aquí se aprende haciéndolo, no copiando.
Ver pista
resmon → mira ms por recurso → aísla quitando recursos → revisa Wait(0) y MySQL por frame.
Escribe aquí tu solución:
