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

text
# 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/3
Test

En resmon, un recurso en VERDE (< 1ms por frame) significa que...

Pista

Piensa en un semáforo: verde es 'todo bien'.

Corrige el error

Este hilo congela al cliente porque nunca descansa. Arréglalo añadiendo un Wait dentro del bucle.

Este código tiene un fallo:

1CreateThread(function()
2 while true do
3 DibujarMarcador()
4 end
5end)

Reescríbelo corregido:

Pista

Un 'while true do' sin Wait monopoliza el hilo. Mete un Wait(0) (o mayor) al final del bucle.

Ordena el código

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 frame
Mira qué recurso está en amarillo o rojo (ms altos)
Quita ese recurso y comprueba si mejora el rendimiento
Abre la consola (F8) y escribe: resmon
Pista

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:

¿Qué tal esta lección?