Files
Warlock-Studio-Universal/Manual/Manual_ES.tex
T
Iván Eduardo Chavez Ayub fc10b45098 Add files via upload
2025-07-17 22:47:19 -06:00

443 lines
26 KiB
TeX

% ---------------------------------------------------------------------------------------
% CONFIGURACIÓN DEL DOCUMENTO
% ---------------------------------------------------------------------------------------
% \documentclass define el tipo de documento y las opciones base.
% - 11pt: Tamaño de fuente base. Un buen equilibrio entre densidad y legibilidad.
% - a4paper: Define el tamaño del papel estándar internacional.
\documentclass[11pt, a4paper]{article}
% %%% --- IMPORTACIÓN DE PAQUETES --- %%%
% Los paquetes añaden nuevas funcionalidades a LaTeX.
% --- Paquetes Esenciales ---
\usepackage[utf8]{inputenc} % Permite escribir caracteres UTF-8 (acentos, ñ) directamente.
\usepackage[T1]{fontenc} % Codificación de fuentes moderna para una correcta visualización y copiado de PDF.
\usepackage[spanish,es-noshorthands]{babel} % Soporte para el idioma español. La opción 'es-noshorthands' es
% CRÍTICA para evitar conflictos con otros paquetes.
% --- Configuración de Página y Diseño ---
\usepackage{geometry} % Para configurar los márgenes y el diseño de la página.
\usepackage{graphicx} % Para incluir imágenes (\includegraphics).
\usepackage{fancyhdr} % Para personalizar encabezados y pies de página.
\usepackage{xcolor} % Para usar colores por nombre o código (HTML, RGB, etc.).
\usepackage{float} % Proporciona el especificador [H] para "flotar aquí exactamente".
% --- Tipografía y Estilo de Texto ---
% \usepackage{firasans} % EJEMPLO: Fuente Sans-Serif moderna (mantener comentada si no está instalada).
\usepackage{textcomp} % Provee símbolos adicionales como el de copyright.
\usepackage{fontawesome5} % Permite usar iconos de Font Awesome (ej: \faInfoCircle).
% --- Tablas, Listas y Cajas ---
\usepackage{booktabs} % Para crear tablas de aspecto profesional (\toprule, \midrule, \bottomrule).
\usepackage{longtable} % Para tablas que pueden ocupar varias páginas.
\usepackage{tabularx} % Para tablas con columnas de ancho flexible que ocupan todo el ancho del texto.
\usepackage{array} % Herramientas avanzadas para columnas en tablas.
\usepackage{enumitem} % Para un control avanzado sobre el formato de las listas (itemize, enumerate).
\usepackage{tcolorbox} % Para crear cajas de texto coloreadas y personalizables.
\usepackage{titlesec} % Para personalizar el formato de los títulos de sección (\section, \subsection).
\usepackage{titletoc} % Control sobre la tabla de contenidos.
% --- Utilidades y Enlaces ---
\usepackage{hyperref} % Para crear hipervínculos dentro del documento y a URLs externas.
% Es una buena práctica cargarlo al final.
% %%% --- CONFIGURACIÓN DE GEOMETRÍA DE LA PÁGINA --- %%%
% Se definen los márgenes y espacios para el encabezado/pie de página.
\geometry{
a4paper, % Tamaño de papel
margin=2.5cm, % Margen uniforme para todos los lados
headheight=15pt, % Altura reservada para el encabezado
footskip=30pt % Distancia desde el final del texto hasta el pie de página
}
% %%% --- PALETA DE COLORES PERSONALIZADA --- %%%
% Se define una paleta de colores corporativa para mantener la consistencia visual.
% Se usa el modelo HTML para una fácil selección desde herramientas de diseño.
\definecolor{WarlockRed}{HTML}{C11919}
\definecolor{WarlockGold}{HTML}{ECD125}
\definecolor{WarlockDark}{HTML}{212325}
\definecolor{WarlockGray}{HTML}{333333}
\definecolor{WarlockLightGray}{HTML}{F5F5F5}
\definecolor{WarlockBlue}{HTML}{005A9B}
\definecolor{InfoBlue}{HTML}{E7F3FE}
\definecolor{WarnYellow}{HTML}{FFFBE6}
\definecolor{WarnBorder}{HTML}{FFBE0B}
% Se establece el color de texto por defecto para todo el documento.
\color{WarlockGray}
% %%% --- CONFIGURACIÓN DE HIPERVÍNCULOS --- %%%
% Se personaliza la apariencia de los enlaces generados por 'hyperref'.
\hypersetup{
colorlinks=true, % Los enlaces serán coloreados en lugar de encajonados.
linkcolor=WarlockRed, % Color para enlaces internos (a secciones, figuras, etc.).
filecolor=WarlockRed, % Color para enlaces a archivos locales.
urlcolor=WarlockRed, % Color para enlaces a URLs externas.
pdftitle={Warlock-Studio 3.0 Guía de Usuario 6 Documentación Técnica}, % Metadatos del PDF.
pdfauthor={Iván Eduardo Chavez Ayub (Revisado por IA)} % Metadatos del PDF.
}
% %%% --- ESTILO DE TÍTULOS DE SECCIÓN --- %%%
% Se usa 'titlesec' para definir un estilo personalizado para las secciones.
% \titleformat{command}[forma]{formato}{etiqueta}{separación}{código-antes}
\titleformat{\section}
{\normalfont\Large\bfseries\color{WarlockRed}} % Formato del título: Fuente normal, grande, negrita, color rojo.
{\thesection.} % Etiqueta: El número de la sección seguido de un punto.
{1em} % Separación horizontal entre la etiqueta y el título.
{} % Código a ejecutar antes del título (en este caso, ninguno).
\titleformat{\subsection}
{\normalfont\large\bfseries\color{WarlockRed!70!black}} % Similar a \section, pero con un color más oscuro.
{\thesubsection.}
{1em}
{}
% \titlespacing*{command}{espacio-izq}{espacio-arriba}{espacio-abajo}
\titlespacing*{\section}
{0pt} % Espaciado a la izquierda del título.
{3.5ex plus 1ex minus .2ex} % Espaciado vertical ANTES del título (con flexibilidad).
{2.3ex plus .2ex} % Espaciado vertical DESPUÉS del título (con flexibilidad).
% %%% --- DEFINICIÓN DE CAJAS DE TEXTO PERSONALIZADAS --- %%%
% Se usa 'tcolorbox' para crear entornos de "cajas" para información y advertencias.
\tcbuselibrary{skins, breakable, shadows} % Se cargan bibliotecas adicionales para más estilos.
% 'breakable' permite que las cajas se dividan entre páginas.
% 'shadows' añade efectos de sombra.
% Caja para información general.
\newtcolorbox{infobox}{
colback=InfoBlue, % Color de fondo de la caja.
colframe=WarlockBlue, % Color del borde.
fonttitle=\bfseries, % Fuente del título de la caja (negrita).
coltitle=WarlockBlue, % Color del texto del título.
title=\faInfoCircle\hspace{0.5em} Información, % Contenido del título (icono + texto).
breakable, % Permite que la caja se parta entre páginas.
pad at break=2mm, % Espaciado interno cuando la caja se rompe.
enhanced, % Activa modos de renderizado avanzados.
drop shadow={WarlockGray!50!white} % Añade una sombra sutil.
}
% Caja para advertencias importantes.
\newtcolorbox{warnbox}{
colback=WarnYellow,
colframe=WarnBorder,
fonttitle=\bfseries,
coltitle=WarnBorder!80!black,
title=\faExclamationTriangle\hspace{0.5em} Advertencia,
breakable,
pad at break=2mm,
enhanced,
drop shadow={WarnBorder!50!white}
}
% Comando personalizado para formatear código en línea.
% \newcommand{nombre}[argumentos]{definición}
\newcommand{\inlinecode}[1]{\colorbox{WarlockLightGray}{\small\texttt{#1}}}
% %%% --- CONFIGURACIÓN DE ENCABEZADO Y PIE DE PÁGINA --- %%%
% Se usa 'fancyhdr' para controlar el contenido de encabezados y pies.
\pagestyle{fancy}
\fancyhf{} % Limpia todos los campos del encabezado y pie de página.
% \fancyhead[L/C/R]{...} define el contenido de la cabecera (Izquierda, Centro, Derecha).
\fancyhead[L]{\textit{Warlock-Studio 3.0}}
\fancyhead[R]{\leftmark} % \leftmark muestra el nombre de la sección actual.
% \fancyfoot[L/C/R]{...} define el contenido del pie de página.
\fancyfoot[L]{\includegraphics[height=0.8cm]{logo.png}} % Asume que 'logo.png' está en la misma carpeta.
\fancyfoot[C]{\thepage} % Muestra el número de página actual.
\fancyfoot[R]{\textcopyright~2025 Warlock-Studio}
% Se definen los grosores de las líneas de separación.
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.4pt}
% Se redefine cómo se genera la marca de sección para que incluya el número.
\renewcommand{\sectionmark}[1]{\markboth{\thesection. #1}{}}
% =======================================================================================
% INICIO DEL CUERPO DEL DOCUMENTO
% =======================================================================================
\begin{document}
% %%% --- PÁGINA DE TÍTULO --- %%%
% Se crea una portada impactante y profesional usando un 'tcolorbox' a toda página.
\begin{titlepage}
\begin{tcolorbox}[
%--- Estilo de la caja ---
colback=WarlockDark, % Fondo oscuro.
colframe=WarlockGold, % Borde dorado.
sharp corners, % Esquinas rectas en lugar de redondeadas.
boxrule=1.5pt, % Grosor del borde.
%--- Alineación y Tamaño ---
halign=center, % Alineación horizontal del contenido.
valign=center, % Alineación vertical del contenido.
height=\dimexpr\textheight-1cm\relax % Altura de la caja (toda la altura del texto menos 1cm).
]
%--- Contenido de la Portada ---
\centering % Centra los elementos internos.
\includegraphics[width=0.5\textwidth]{logo.png}\par % Logo.
\vfill % Espacio flexible para empujar el contenido.
\color{white} % Cambia el color del texto a blanco para contraste.
{\Huge\bfseries Warlock-Studio\par}
\vspace{0.7cm} % Espacio vertical fijo.
{\Large -- Manual Técnico del Usuario y Documentación --\par}
\vspace{0.2cm}
{\Large Versión 3.0\par}
\vfill % Otro espacio flexible.
{\large Iván Eduardo Chavez Ayub\par}
\href{https://github.com/Ivan-Ayub97}{\texttt{\color{WarlockGold}@Ivan-Ayub97 en GitHub}}\par % Enlace con estilo.
\vspace{1.5cm}
{\large \today\par} % Muestra la fecha de compilación.
\end{tcolorbox}
\thispagestyle{empty} % Oculta el encabezado y pie de página en la portada.
\end{titlepage}
% %%% --- RESUMEN Y TABLA DE CONTENIDOS --- %%%
\pagestyle{fancy} % Restaura el estilo de página 'fancy' después de la portada.
% El entorno 'abstract' crea un resumen del documento.
\begin{abstract}
\noindent % Evita la sangría en la primera línea.
Este documento es una guía técnica exhaustiva para Warlock-Studio 3.0. La información ha sido validada y enriquecida con un análisis profundo del código fuente para proporcionar detalles precisos sobre su arquitectura, una guía de optimización avanzada y un manual de solución de problemas robusto.
\end{abstract}
\newpage % Salto de página antes de la tabla de contenidos.
\tableofcontents % Genera la tabla de contenidos automáticamente.
\newpage % Salto de página después de la tabla de contenidos.
% %%% --- CUERPO PRINCIPAL DEL MANUAL --- %%%
% --- Sección 1: Introducción ---
\section{Introducción}
Warlock-Studio es una suite de mejora y escalado de medios impulsada por IA, diseñada para ofrecer resultados de alta calidad a través de una interfaz de usuario accesible. La versión 3.0 introduce mejoras clave en gestión de GPU, manejo de errores y eficiencia de rendimiento. Se consolida como una herramienta poderosa para creadores de contenido profesionales.
\subsection{Novedades en la Versión 3.0}
La última versión aporta las siguientes mejoras clave:
% Se usa 'itemize' para listas con viñetas. [leftmargin=*] alinea la lista con el margen del párrafo.
\begin{itemize}[leftmargin=*]
\item \textbf{Soporte mejorado de modelos IA:} Nuevos modelos de última generación como Real-ESRGAN, RIFE y GFPGAN se han integrado para un superior escalado e interpolación.
\item \textbf{Gestión avanzada de GPU:} Mejora en el manejo de errores para optimizar el rendimiento incluso en configuraciones de VRAM más bajas.
\item \textbf{Gestión optimizada de memoria:} Incluye técnicas proactivas de optimización de memoria y mejor soporte de hilos para un procesamiento fluido.
\item \textbf{Mejora en GUI y preferencias de usuario:} Una interfaz más amigable con opciones de configuración mejoradas y actualizaciones dinámicas en tiempo real.
\item \textbf{Codificación de video mejorada:} Soporta múltiples codificadores acelerados por hardware de NVIDIA, AMD e Intel para un rendimiento óptimo.
\end{itemize}
\subsection{Características Principales}
\begin{itemize}[leftmargin=*]
\item \textbf{Escalado por IA:} Utiliza modelos de última generación como Real-ESRGAN, BSRGAN y SRVGGNetCompact.
\item \textbf{Interpolación de Fotogramas:} Aumenta los FPS o crea efectos de cámara lenta fluidos usando modelos RIFE.
\item \textbf{Reducción de Ruido:} Incluye modelos IRCNN dedicados a la limpieza de imágenes y videos.
\item \textbf{Restauración de Rostros:} Modelo GFPGAN para mejorar y restaurar rostros en fotos.
\item \textbf{Aceleración por Hardware:} Usa el motor ONNX Runtime con el proveedor DirectML (\texttt{DmlExecutionProvider}) para una aceleración por GPU compatible con DirectX 12.
\item \textbf{Codificación de Video Avanzada:} Soporte para codificadores acelerados por hardware de NVIDIA (NVENC), AMD (AMF) e Intel (QSV).
\end{itemize}
% --- Sección 2: Instalación ---
\section{Instalación y Arquitectura del Programa}
\subsection{Requisitos del Sistema}
% Se usa 'table' para tablas que no se dividen entre páginas. [H] fuerza su posición.
\begin{table}[H]
\centering % Centra la tabla en la página.
% 'tabular' es el entorno que dibuja la tabla. {ll} define dos columnas alineadas a la izquierda.
\begin{tabular}{ll}
\toprule % Línea superior de la tabla (de booktabs).
\textbf{Componente} 6 \textbf{Requisito} \\
\midrule % Línea media de la tabla (de booktabs).
Sistema Operativo 6 Windows 10 (64-bit) o posterior \\
Memoria RAM 6 8 GB (Mínimo), 16 GB (Recomendado) \\
Tarjeta Gráfica (GPU) 6 Compatible con \textbf{DirectX 12}. \textbf{Recomendado: 4+ GB VRAM}. \\
Almacenamiento 6 2 GB de espacio libre. Se recomienda un SSD para un mejor rendimiento. \\
\bottomrule % Línea inferior de la tabla (de booktabs).
\end{tabular}
\caption{Requisitos de hardware y software para Warlock-Studio 3.0.}
\end{table}
\subsection{Estructura de Archivos y Dependencias}
\begin{infobox}
Warlock-Studio es una aplicación autocontenida. Los siguientes componentes se incluyen en la instalación y no requieren acción por parte del usuario.
\end{infobox}
\begin{itemize}[leftmargin=*]
\item \inlinecode{ffmpeg.exe:} Ubicado en la carpeta \texttt{Assets}, es el motor para toda la manipulación, codificación y decodificación de video.
\item \inlinecode{exiftool.exe:} También en \texttt{Assets}, se utiliza para leer y escribir metadatos (EXIF, XMP), asegurando que la información original del archivo se preserve.
\item \textbf{Modelos IA:} Los modelos en formato \texttt{.onnx} se encuentran en la carpeta \texttt{AI-onnx}.
\item \textbf{Preferencias de Usuario:} Se guarda un archivo \inlinecode{Warlock-Studio_3.0_UserPreference.json} en la carpeta de \textbf{Documentos} del usuario.
\item \textbf{Registros (Logs):} Los archivos de registro se almacenan en \texttt{Documentos\textbackslash Warlock-Studio_3.0_Logs}.
\end{itemize}
% --- Sección 3: Guía de Modelos ---
\section{Guía Detallada de Modelos de IA}
La elección del modelo de IA es el factor más importante para la calidad y el tiempo de procesamiento.
\subsection{Tabla Comparativa de Modelos}
La siguiente tabla detalla el uso relativo de VRAM de cada modelo.
% 'longtable' es para tablas que pueden ocupar varias páginas. La definición de columnas es similar a 'tabular'.
% Se usa 'p{ancho}' para la última columna, creando un párrafo de ancho fijo con ajuste de línea automático.
\begin{longtable}{l l c c p{6.5cm}}
\toprule
\textbf{Modelo} 6 \textbf{Función Principal} 6 \textbf{Escala} 6 \textbf{Peso VRAM} 6 \textbf{Caso de Uso Recomendado} \\
\midrule
\endhead % \endhead define el encabezado que se repetirá en cada página.
\multicolumn{5}{c}{\textit{Modelos de Reducción de Ruido (Denoising)}} \\
\midrule
\texttt{IRCNN\_Mx1} 6 Denoise 6 x1 6 4.0 6 Ruido moderado. \\
\texttt{IRCNN\_Lx1} 6 Denoise 6 x1 6 4.0 6 Ruido intenso. \\
\midrule
\multicolumn{5}{c}{\textit{Modelos de Escalado - Alta Calidad (Lentos)}} \\
\midrule
\texttt{BSRGANx4} 6 Upscale 6 x4 6 0.6 6 Fotografías realistas. Excelente detalle fino. \\
\texttt{BSRGANx2} 6 Upscale 6 x2 6 0.7 6 Similar a x4 pero para un escalado menor. \\
\texttt{RealESRGANx4} 6 Upscale 6 x4 6 0.6 6 Uso general, bueno para texturas. \\
\texttt{RealESRNetx4} 6 Upscale 6 x4 6 2.2 6 Alternativa a RealESRGAN, puede ser más rápido. \\
\midrule
\multicolumn{5}{c}{\textit{Modelos de Escalado - Alta Velocidad (Ligeros)}} \\
\midrule
\texttt{RealESR\_Gx4} 6 Upscale 6 x4 6 2.2 6 Escalado rápido, ideal para videos. \\
\texttt{RealESR\_Animex4} 6 Upscale 6 x4 6 2.2 6 Optimizado para anime y dibujos animados. \\
\midrule
\multicolumn{5}{c}{\textit{Modelos de Restauración de Rostros}} \\
\midrule
\texttt{GFPGAN} 6 Restablecer 6 x1 6 1.8 6 Mejora y restauración de rostros. \\
\midrule
\multicolumn{5}{c}{\textit{Modelos de Interpolación de Fotogramas (Solo Video)}} \\
\midrule
\texttt{RIFE} 6 Interpolar 6 N/A 6 N/A 6 Máxima calidad de interpolación. \\
\texttt{RIFE\_Lite} 6 Interpolar 6 N/A 6 N/A 6 Versión más rápida, ideal para GPUs con c 4 GB VRAM. \\
\bottomrule
\caption{Guía de selección de modelos de IA y su impacto en VRAM.}
\label{tab:modelos} % \label para poder referenciar la tabla con \ref{tab:modelos}.
\end{longtable}
% --- Sección 4: Optimización ---
\section{Configuración y Optimización del Rendimiento}
\subsection{Parámetros Críticos de Rendimiento}
\begin{itemize}[leftmargin=*]
\item \textbf{Input Resolution \%:} El ajuste más efectivo para la velocidad. Reduce la resolución antes de procesarla con IA. Un valor entre \textbf{50\% y 75\%} suele ser ideal.
\item \textbf{GPU VRAM Limiter (GB):} Defina la VRAM de su GPU. Se usa para calcular el tamaño de los \textit{tiles} de procesamiento y evitar errores de memoria.
\item \textbf{AI Multithreading:} Solo para videos. Procesa varios fotogramas en paralelo. Acelera el proceso pero consume más VRAM y CPU.
\item \textbf{AI Blending:} Combina la imagen original con la procesada. Útil para reducir artefactos cuando se usa un \textit{Input Resolution} bajo.
\item \textbf{Generación de fotogramas:} Para modelos RIFE, permite crear fotogramas interpolados para mayor FPS o efectos de cámara lenta.
\end{itemize}
\subsection{El Fichero de Preferencias de Usuario}
El archivo \inlinecode{Warlock-Studio_3.0_UserPreference.json} guarda su configuración.
% Se usa 'tabularx' para que la tabla ocupe automáticamente el 100% del ancho del texto.
% La columna 'X' es una columna flexible que se expande para llenar el espacio disponible.
\begin{table}[H]
\centering
\small % Reduce el tamaño de la fuente dentro de la tabla.
\begin{tabularx}{\textwidth}{l X}
\toprule
\textbf{Clave JSON} 6 \textbf{Descripción} \\
\midrule
\texttt{default\_AI\_model} 6 El último modelo de IA seleccionado. \\
\texttt{default\_AI\_multithreading} 6 El número de hilos de procesamiento para video. \\
\texttt{default\_gpu} 6 La última GPU seleccionada (Auto, GPU 1, etc.). \\
\texttt{default\_keep\_frames} 6 Si se deben conservar los fotogramas de video ("ON" o "OFF"). \\
\texttt{default\_image\_extension} 6 Extensión de imagen por defecto (\texttt{.png}, \texttt{.jpg}, etc.). \\
\texttt{default\_video\_extension} 6 Extensión de video por defecto (\texttt{.mp4}, \texttt{.mkv}, etc.). \\
\texttt{default\_video\_codec} 6 El codificador de video por defecto (x264, hevc\_nvenc, etc.). \\
\texttt{default\_blending} 6 El nivel de mezcla seleccionado (Low, Medium, High). \\
\texttt{default\_output\_path} 6 La última ruta de salida seleccionada. \\
\texttt{default\_input\_resize\_factor} 6 El valor del porcentaje de resolución de entrada. \\
\texttt{default\_output\_resize\_factor} 6 El valor del porcentaje de resolución de salida. \\
\texttt{default\_VRAM\_limiter} 6 El valor del limitador de VRAM de la GPU. \\
\bottomrule
\end{tabularx}
\caption{Claves guardadas en el archivo de preferencias del usuario.}
\end{table}
% --- Sección 5: Solución de Problemas ---
\section{Guía Avanzada de Solución de Problemas}
\begin{warnbox}
La causa \textbf{Número 1} de errores son los \textbf{caracteres especiales} en rutas y nombres de archivo. Evite usar: \texttt{', ", @, \#, \$, \%, \&, *, [, ], ?, etc.}.
\end{warnbox}
% 'description' es para listas de definiciones.
% [style=nextline] coloca el texto en la línea siguiente al término.
\begin{description}[leftmargin=*, style=nextline, itemsep=0.8em]
\item[\faBan\ Error: "FFmpeg encoding failed: Invalid argument"]
\textbf{Causa:} Nombre de archivo o ruta no válida.
\textbf{Solución:} Renombre el archivo y/o la carpeta eliminando caracteres especiales.
\item[\faMemory\ Error: "out of memory" o cierre inesperado]
\textbf{Causa:} La GPU se quedó sin memoria de video (VRAM).
\textbf{Solución:}
% 'enumerate' es para listas numeradas. 'nosep' reduce el espacio entre ítems.
\begin{enumerate}[nosep, leftmargin=*]
\item Reduzca el \textbf{VRAM Limiter} a un valor igual o inferior al de su GPU.
\item Baje el \textbf{Input Resolution \%} a 75\% o menos.
\item Para videos, disminuya los hilos de \textbf{AI Multithreading} o apáguelo.
\item La aplicación intentará recuperarse de este error automáticamente.
\end{enumerate}
\item[\faTachometerAlt\ Error: "cannot convert float NaN to integer"]
\textbf{Causa:} Timeout del driver de la GPU, a menudo por sobrecarga o sobrecalentamiento.
\textbf{Solución:} Reinicie el proceso \textbf{sin borrar la carpeta de fotogramas}. El programa reanudará el trabajo donde se quedó.
\item[\faVolumeMute\ Problema: Video de salida sin audio]
\textbf{Causa:} El video original no tenía audio, se usó un modo \textit{Slowmotion} o el códec de audio era incompatible.
\textbf{Solución:} El programa intenta copiar el audio, si falla, lo re-codifica a AAC. Si todo falla, guarda el video sin audio. Usar \inlinecode{.mkv} en la salida puede ayudar.
\item[\faQuestionCircle\ Problema: La aplicación no se abre]
\textbf{Causa:} Configuración corrupta, falta de permisos o error del entorno.
\textbf{Solución:}
\begin{enumerate}[nosep, leftmargin=*]
\item Elimine el archivo \inlinecode{Warlock-Studio_3.0_UserPreference.json} en su carpeta de \textbf{Documentos}.
\item Revise los archivos de registro en \texttt{Documentos\textbackslash Warlock-Studio_3.0_Logs}.
\item Asegúrese de que sus controladores de GPU estén actualizados.
\end{enumerate}
\item[\faExclamationTriangle\ Problema: La interpolación de fotogramas no funciona]
\textbf{Causa:} Modelos RIFE no seleccionados o formato de video incompatible.
\textbf{Solución:} Asegúrese de haber seleccionado un modelo RIFE (RIFE o RIFE\_Lite) y que la opción de generación de fotogramas esté correctamente configurada.
\end{description}
% --- Sección 6: Arquitectura ---
\section{Arquitectura y Procesos Avanzados}
\subsection{Motor de Inferencia y Aceleración por Hardware}
Warlock-Studio utiliza \textbf{ONNX Runtime} con el proveedor \textbf{DirectML} (\inlinecode{DmlExecutionProvider}). Este traduce las operaciones de IA a llamadas de \textbf{DirectX 12}, garantizando una amplia compatibilidad con GPUs de NVIDIA, AMD e Intel.
\subsection{Sistema de Tiles y Gestión de Memoria}
Para manejar archivos de alta resolución, la aplicación divide cada fotograma en fragmentos (\textit{tiles}). El tamaño de estos se calcula dinámicamente usando el \textbf{VRAM Limiter}. Además, se invoca al recolector de basura de Python (\inlinecode{gc.collect()}) para forzar la liberación de memoria y garantizar estabilidad.
\subsection{Funcionalidad de Reanudación y Checkpoints}
Si un proceso de video se interrumpe, los fotogramas procesados se guardan. Al reiniciar la tarea, la función \inlinecode{check\_video\_upscaling\_resume} detecta estos archivos y continúa el trabajo desde donde falló, ahorrando tiempo.
\subsection{Escritura Asíncrona de Fotogramas}
Durante el escalado de video, los fotogramas procesados se envían a un hilo de escritura separado. Esto permite a la GPU procesar el siguiente lote sin esperar a que la escritura en disco (más lenta) termine, maximizando el rendimiento.
\subsection{Pipeline de Interpolación de Fotogramas}
Los modelos RIFE utilizan un pipeline de interpolación especializado que analiza el movimiento entre fotogramas para generar fotogramas intermedios suaves. Esto permite mayores tasas de cuadros o efectos de cámara lenta con artefactos mínimos.
% =======================================================================================
% FIN DEL DOCUMENTO
% =======================================================================================
\end{document}