Open inetol opened 4 months ago
Quizás sea por el editor Monaco, ya que es bastante completo y necesita cargar varias cosas, por lo que veo no hay re-renders innecesarios, ni siquiera cuando se escribe en el editor (ya que no usa React), lo único que noto es que hay bastante peso en la carga inicial de JS
Monaco es bastante grande
En cuanto a carga de CPU, si es verdad que hay varios scripts demasiado lentos, voy a ver qué se puede hacer
~Monaco en sí se carga todo de golpe, he añadido un parche para que cargue algunas partes del documento en paralelo y el tiempo de carga inicial se ha reducido un poco~
Haciendo que el servidor renderice el Editor (desconozco el impacto en el rendimiento con múltiples conexiones) he conseguido bajar el peso de la página al abrirla, sería beneficioso en móviles y cosas que no tengan demasiada potencia (?)
Debería, además todo está fuertemente cacheado por CF, así que el servidor no debería recibir mucha carga
El commit 896d325 incluye algunas mejoras de optimización para remediar más o menos este problema
He activado optimizaciones en el lado de CF, debería ser mejor ahora Por cierto, la sección de controles a veces no aparece cuando se activa la carga dinámica, voy a revertir el cambio para ese componente
sin embargo los tiempos siguen siendo bastante malos
He activado optimizaciones en el lado de CF, debería ser mejor ahora Por cierto, la sección de controles a veces no aparece cuando se activa la carga dinámica, voy a revertir el cambio para ese componente
Ya deberia estar arreglado
sin embargo los tiempos siguen siendo bastante malos
Si tio, no sé qué más hacerle para reducir la carga al cliente. Ya se me ocurrirá algo
Dw, se puede aparcar porque el problema no es tan grande y solo afectará notablemente a los dispositivos de bajo rendimiento
Dw, se puede aparcar porque el problema no es tan grande y solo afectará notablemente a los dispositivos de bajo rendimiento
El Rocket Loader de CF da más problemas que otra cosa, apuesto a que por el simple hecho de existir la carga de scripts va más lenta
Lo voy a quitar
Podriamos probar con lo de cloudflare que analiza que es lo que hace que cargue lento
Con el último commit de la rama dev veo que el problema que tiene el sitio es que tiene saturado el hilo principal porque más de un 90% es puro JS que se ejecuta a la vez. Se podría usar preload con algunos recursos o retrasar la carga por ejemplo del componente de ajustes hasta que abrieses el menú, como casi todo lo maneja NextJS no sé todavía como hacerlo adecuadamente.
Probando de quitar la carga dinámica se recorta casi a la mitad la cantidad de peticiones que se hace al servidor y eso se puso por si le colaba al cliente de cargar recursos cuando lo necesitase, así que de momento se va a fuera
El rocket loader de cloudflare o algun servicio de caching de la misma no ayudaría?
Genial, yo activé esta opción https://nextjs.org/docs/app/building-your-application/optimizing/scripts#offloading-scripts-to-a-web-worker-experimental
Ah, pero no funciona en app directory aún
El rocket loader de cloudflare o algun servicio de caching de la misma no ayudaría?
Prácticamente nada, además es propenso a romper la página
@tnfAngel Sería posible mover todos los Modals para que carguen dinámicamente? Ahora mismo todo eso se incluye en la carga inicial de la página y se podría evitar bastante overhead.
Intente hacerlo en #57 pero como no funcionaba correctamente lo deshice
@tnfAngel Sería posible mover todos los Modals para que carguen dinámicamente? Ahora mismo todo eso se incluye en la carga inicial de la página y se podría evitar bastante overhead.
Intente hacerlo en #57 pero como no funcionaba correctamente lo deshice
Vale, voy a mirar
según lo que leo, los modals son "lazy" por defecto https://github.com/chakra-ui/chakra-ui/discussions/5569, y no se renderizan ni se agregan al HTML hasta que los abres, lo unico que sería adecuado es "separarlos" del chunk principal
según lo que leo, los modals son "lazy" por defecto chakra-ui/chakra-ui#5569, y no se renderizan ni se agregan al HTML hasta que los abres, lo unico que sería adecuado es "separarlos" del chunk principal
Mierda es verdad, y separarlos en otro chunk no debería de arreglarlo, como mucho se podrían liberar 10kB, si lo comparas con Monaco son bastante insignificantes
según lo que leo, los modals son "lazy" por defecto chakra-ui/chakra-ui#5569, y no se renderizan ni se agregan al HTML hasta que los abres, lo unico que sería adecuado es "separarlos" del chunk principal
Mierda es verdad, y separarlos en otro chunk no debería de arreglarlo, como mucho se podrían liberar 10kB, si lo comparas con Monaco son bastante insignificantes
ya, tienes razón
El frontend (para producción) ahora mismo genera una carga demasiado alta para el procesador cuando un usuario accede al sitio, Next.js no parece estar optimizando correctamente, generando caché o renderizando el sitio de forma óptima.
Se tendrá que leer "el librito" para mitigar este problema cuanto antes mejor.