Cuando usted revisa datos de telemetría que Mozilla recopila sobre bloqueos en su navegador web Firefox, notará que los problemas relacionados con los complementos están sobrerrepresentados allí.

Actualizar: La situación ha cambiado significativamente en los últimos años. Firefox eliminó el soporte para casi todos los complementos en las versiones recientes del navegador. El soporte de Adobe Flash se descontinúa a fines de 2020 y eso marca el final del soporte de complementos en el navegador web Firefox. Fin

Los complementos en este contexto se refieren exclusivamente a los complementos NPAPI que admite el navegador web Firefox, como Adobe Flash.

Siempre que un usuario de Firefox visita una página web que ejecuta código que requiere complementos, los complementos deben inicializarse.

Aaron Klotz rompió los escalones en su publicación de blog en junio de 2014:

  1. Lanzamiento del proceso plugin-container.
  2. Llamar a la función NP_Initialize para cargar el complemento.
  3. Llamar a la función NPP_New para crear instancias.
  4. Llamar a la función NPP_NewStream para instancias de carga de datos.
  5. Para instancias que se pueden programar, llame a NPP_GetValue.

La causa de bloqueo más frecuente es la creación del proceso de contenedor de complementos seguido del proceso de inicio del complemento que tarda demasiado en seguir los pasos enumerados anteriormente.

Aaron trabajó en mejoras para el proceso en 2014 al inicializar complementos de forma asincrónica. En particular, cargará los primeros cuatro pasos de forma asincrónica para mejorar el tiempo de carga y reducir la probabilidad de bloqueos o ralentizaciones causados ​​por la inicialización.

Vea el video de demostración a continuación que muestra un prototipo temprano que creó Aaron. Demuestra la carga de una página utilizando Flash con y sin inicialización de complemento asincrónico.

Como puede ver en la demostración, la carga es más rápida y fluida con la inicialización asincrónica del complemento habilitada en el navegador.

Mozilla lanzó la función en Nightly ayer. Esto significa que los usuarios de Firefox Nightly pueden usarlo ahora mismo, siempre que hayan actualizado la versión del navegador a la última versión.

complementos asincrónicos de firefox

Sin embargo, debe habilitarse antes de que pueda usarse:

  1. Escriba about: config en la barra de direcciones y presione enter.
  2. Confirme que tendrá cuidado si se muestra un mensaje.
  3. Buscar dom.ipc.plugins.asyncInit usando el formulario de búsqueda en la parte superior.
  4. Haga doble clic en el nombre que aparece en la búsqueda para establecerlo en cierto.

Esto habilita la función y debería mejorar significativamente la inicialización del complemento en Firefox. La función se está probando actualmente y Mozilla pide a los usuarios que errores de archivo si notan problemas mientras usan Firefox con él habilitado.

Aún no está claro cuándo aterrizará en la versión estable del navegador, pero espero que se lance en la primera mitad de 2015.

Los usuarios de Firefox que cargan sitios que usan complementos regularmente en el navegador deberían ver mejoras notables en el tiempo de carga y una disminución en los bloqueos o ralentizaciones después de activar la nueva función.