Ops

DevOps

Por: Cesar Estiven Calderón Sarmiento – DevOps consultant

Hover Image

Mi Odisea Optimizando Minecraft: De 20 FPS a 144 FPS

El Problema: Cuando tu PC sufre más que tu personaje

Todo comenzó cuando decidí construir una ciudad masiva en Minecraft. Mi vieja laptop con 4GB de RAM y una Intel HD Graphics 620 lloraba cada vez que cargaba el mundo. 20 FPS en el mejor de los casos, stuttering constante, y ni hablar de usar shaders. Era hora de una intervención técnica seria.

Primera Fase: Optimización de Software (El Arte de Exprimir tu Hardware)

1.La Revolución de OptiFine y Sodium

Mi primer descubrimiento fue OptiFine, pero luego conocí Sodium para Fabric, que cambió completamente el juego:

Configuración base (sin mods): 20-25 FPS FPS Con OptiFine: 30-40 FPS Con Sodium + Lithium + Phosphor: 55-65 FPS

La diferencia era abismal. Sodium optimiza el renderizado de chunks de manera mucho más eficiente que el motor vanilla de Minecraft.

2.Ajustes de JVM: El Poder Oculto de Java

Aquí es donde las cosas se pusieron interesantes. Minecraft es notoriamente malo manejando memoria, así que investigué parámetros de JVM optimizados:

  • Xmx6G -Xms6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled

  • XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions

  • XX:+DisableExplicitGC -XX:+AlwaysPreTouch

  • XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40

  • XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20

  • XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4

  • XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90

  • XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32

  • XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1

Resultado: Reducción del stuttering en un 80% y ganancia de 10-15 FPS adicionales.

3.Configuraciones In-Game Cruciales

  • Render Distance: De 32 chunks a 12 chunks (ganancia masiva de rendimiento)

  • Biome Blend: Off (impacto mínimo visual, gran ganancia de FPS)

  • Entity Distance: 75% (menos entidades = mejor rendimiento)

  • VSync: Off (latencia reducida)

Segunda Fase: Upgrade de Hardware (Donde la Magia Real Sucede)
El Salto Cuántico: De Laptop a PC Gaming

Después de meses optimizando software, era hora del upgrade:

Setup Anterior:
  • Intel i5-7200U (2 núcleos, 4 threads)

  • 4GB RAM DDR4

  • Intel HD Graphics 620

  • HDD 5400 RPM

Setup Nuevo:
  • AMD Ryzen 5 5600X (6 núcleos, 12 threads)

  • 16GB RAM DDR4-3200 (dual channel)

  • RTX 3060 Ti

  • NVMe SSD

Resultados inmediatos: Sin shaders: 144+ FPS constantes (limitado por monitor) Con BSL Shaders Medium: 80-90 FPS Con raytracing (usando sus1's sus raytracing): 45-60 FPS Mundos masivos (20+ chunks): 60-80 FPS

Experimento Loco: Minecraft en Google Colab

Por curiosidad científica (y aburrimiento), intenté algo absurdo: ¿se puede jugar Minecraft en Google Colab?

El Setup Experimental

# Instalación de Minecraft Server en Colab

!apt update
!apt install openjdk-17-jdk-headless -y
!wget https://piston-data.mojang.com/v1/objects/server.jar
!echo "eula=true" > eula.txt

# Configuración de túnel con ngrok para acceso remoto

!pip install pyngrok
from pyngrok import ngrok
public_url = ngrok.connect(25565)
print(f'Servidor disponible en: {public_url}')

Los Resultados (Spoiler: No Era Práctico)
Pros:
  • Tesla T4 GPU
    gratis

  • 12GB de RAM

  • Acceso desde cualquier lugar

Contras:
  • Latencia horrible (200-
    500ms)

  • Desconexiones frecuentes
    Límite de 12 horas de sesión

  • Solo para servidor, no cliente

Conclusión: Genial para hostear servers temporales, terrible para jugar.

Optimizaciones Avanzadas: Entrando en Territorio Enthusiast
1.Overclocking Inteligente

  • Con el nuevo setup, experimenté con overclocking: CPU: 4.6GHz all-core (desde 3.7GHz base)


  • GPU: +150 core, +500 memory

  • RAM: XMP profile activado (3200MHz CL16)

Ganancia: 15-20% en situaciones CPU-intensivas (generación de chunks, muchas entidades).

2.Mods de Rendimiento Extremo

Descubrí el ecosistema de mods de optimización:
  • Sodium Extra: Configuraciones adicionales de Sodium

  • Reese's Sodium Options: UI mejorada para configuración

  • LazyDFU: Acelera inicio del juego

  • FerriteCore: Reduce uso de RAM

  • Starlight: Reescribe el motor de iluminación

Pack completo de mods: Consistentemente sobre 100 FPS, incluso en mundos
complejos.

3.Configuración de Sistema Operativo

Optimizaciones de Windows para gaming:
  • Game Mode activado

  • Hardware-accelerated GPU scheduling

  • Procesamiento de audio en tiempo real deshabilitado

  • Actualizaciones automáticas pausadas durante gaming

El Análisis de Cuellos de Botella

Monitoring en Tiempo Real

Usé MSI Afterburner + RTSS para analizar performance:

Descubrimientos interesantes:
  • Minecraft raramente usa más del 60% de GPU (incluso
    con shaders)

  • CPU single-thread performance es CRÍTICA

  • RAM speed impacta más de lo esperado

  • Java Garbage Collection causa micro-stutters predecibles

El Misterio del Single-Thread

Minecraft sigue siendo principalmente single-threaded para lógica de juego:

Core 0: 90-100% (lógica principal)
Core 1: 30-40% (renderizado)
Cores 2-11: 5-15% (tareas menores)


Esto explica por qué un i9 con 16 núcleos no siempre supera a un Ryzen con mejores clocks single- core.

Resultados Finales y Lessons Learned
Benchmark Final
  • Mundo vanilla grande: 144+ FPS (V-Sync limitado)

  • Modpack pesado (200+ mods): 60-80 FPS

  • Shaders + texture packs 4K: 45-70 FPS

  • Raytracing experimental: 30-45 FPS

Lecciones Clave

  1. Software optimization primero: Puedes ganar 200-300% de rendimiento sin gastar dinero

  2. CPU matters más que GPU: Para Minecraft vanilla, un buen CPU supera una GPU cara

  3. RAM speed es subestimada: DDR4-3200 vs DDR4-2133 mostró 15-20% diferencia

  4. Java tuning es un arte: Los parámetros correctos de JVM transforman la experiencia

  5. Mods pueden optimizar mejor que Mojang: Sodium demuestra que el motor vanilla necesita trabajo

Consejos Para Tu Propia Optimización

Si tienes hardware limitado:
  1. Instala Sodium + Lithium + Phosphor

  2. Baja render distance a 8-12 chunks

  3. Usa los parámetros de JVM que compartí

  4. Desactiva animaciones innecesarias

Si planeas upgrade:
  1. Prioriza CPU con buen single-thread performance

  2. 16GB RAM DDR4-3200+ en dual channel

  3. SSD NVMe para mundos grandes

  4. GPU mid-range es suficiente (RTX 3060/4060 tier)

Para enthusiasts:
  1. Experimenta con mods de rendering alternativos

  2. Aprende Java profiling para identificar bottlenecks

  3. Considera Minecraft Bedrock para performance extrema

  4. Explora shaders optimizados como ComplementaryShaders

Reflexión Final

Mi journey optimizando Minecraft me enseñó más sobre arquitectura de computadoras, gestión de memoria, y optimización de software que muchos cursos formales. Minecraft puede parecer simple, pero debajo del capó es un beast técnico que recompensa el conocimiento profundo.

¿Vale la pena todo este esfuerzo por un juego de bloques? Absolutamente. No
solo por los FPS ganados, sino por el conocimiento adquirido en el proceso.

¿Tienes tus propias optimizaciones de Minecraft? ¿Algún setup loco que hayas
probado? Comparte en los comentarios tu experiencia optimizando este maravilloso
juego de bloques.


VOLVER AL BLOG