Red de conocimiento informático - Material del sitio web - Cómo usar Profiler para probar el código Lua

Cómo usar Profiler para probar el código Lua

1. Lua solo es adecuado para escribir lógica de CPU liviana, generalmente UI, que básicamente se activa mediante eventos. Incluso sé que Perfect tiene un grupo que prohíbe por completo el uso de actualizaciones en Lua;

2. Por el contrario, la lógica con uso intensivo de CPU debe escribirse en C#. Escuché que la lógica, como las habilidades y el combate, están escritas en Lua, y el juego apesta.

3. Por lo tanto, es probable que el problema restante con Lua sea un problema de memoria en lugar de una sobrecarga de ejecución de la CPU. Es imposible realizar una inspección detallada de Lua utilizando el generador de perfiles que viene con unity3d, porque no puede identificar estos contenidos en absoluto;

4. De hecho, es posible que se haya filtrado. Hay algunos ejemplos en este sitio. La idea general es recorrer todos los objetos de Lua y luego encontrar los que se filtraron. Excepto Feng Yun, que escribió una instantánea, es de código abierto, pero no los he probado, es solo como referencia;

5. C# en el cliente Por otro lado, es posible que algunos objetos registrados como datos de usuario no se liberen. Puede imprimirlos para ver cuáles se filtraron.

6. Presta atención a gc. Al cortar una escena, debes llamar a Collect Garbage ("recoger") tú mismo.

7. Preste atención al uso de tablas débiles. El uso de tablas débiles en el caché puede aliviar este problema.

8. Los recursos se pueden encontrar en el generador de perfiles y no tienen nada que ver con Lua en sí, por lo que no es necesario que te preocupes.