Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPU Tuner

App que acha sozinho os melhores pontos da sua placa NVIDIA. Você deixa uma carga rodando (FurMark, um jogo, o que for), escolhe o que quer buscar — undervolt, overclock ou eficiência — e ele varre, mede e ranqueia os candidatos. No fim, salva o escolhido como perfil do MSI Afterburner.

Suporta RTX 40xx (Ada) e RTX 50xx (Blackwell). Nada é hardcoded por modelo: o app lê da própria placa a curva V/F, os limites de power e o range de memória que o driver permite.

Por que existe

Ferramentas de tuning mostram sliders; nenhuma responde "qual é o melhor ponto da MINHA placa?". Achar isso na mão é dezenas de ciclos de aplicar → medir → anotar → repetir — e é fácil medir errado sem perceber. Este app automatiza o ciclo e carrega as guardas que impedem medição falsa.

Como usar

  1. Abra o GPU-Z (é dele que sai a tensão real — sem isso não dá pra validar undervolt) e o RTSS/overlay do Afterburner (fps).
  2. Rode GPUTuner.bat (pede admin — precisa pra power limit e trava de clock).
  3. Medir stock pra estabelecer a referência → escolha o modo → BUSCAR.
  4. Clique num resultado → Salvar como perfil → vai pro slot do Afterburner que você escolher. Aplicar depois: MSIAfterburner.exe -ProfileN.

A carga de teste

O app abre e fecha a carga sozinho (FurMark, se instalado) — você não precisa preparar nada. Se preferir medir dentro de um jogo (mais realista que FurMark), deixe o jogo rodando e escolha ele em "Medir usando"; nesse caso o app não mexe no processo, só mede.

Medições avulsas

  • Monitor ao vivo: tensão, clock de core/memória, watts, temp da GPU e da VRAM, carga e fps, a cada segundo. Mostra a fonte (GPU-Z = com tensão real, nvidia-smi = sem).
  • Medir perfil atual — mede o que estiver aplicado sem alterar nada. É como você descobre quanto rende o perfil que já usa.
  • Medir stock (referência) — aplica stock, mede e guarda como referência. A partir daí a tabela ganha a coluna %stock e o log mostra delta de watts e eficiência.

Controle de fan

Slider de 0-100% que faz duas coisas:

  • Aplica na hora que você solta o slider — dá pra usar como controle de fan avulso, independente de estar buscando algo.
  • Vale durante as buscas e no perfil salvo — o fan escolhido é gravado no perfil.

Tem também a caixa automático, que devolve o controle pra curva da placa (zero-RPM em idle volta a funcionar).

O fan é aplicado via NVAPI, não pelo campo de perfil do Afterburner — em várias placas o Afterburner simplesmente ignora o fan gravado no perfil.

Os três modos

Modo O que faz Quando usar
Undervolt Menor tensão que segura o desempenho (você define a perda máxima aceita, ex. 3%) Menos calor/consumo mantendo fps
Overclock Sobe o alvo de clock até parar de ganhar fps ou dar problema Máximo desempenho
Eficiência Varre o power limit e acha o melhor fps/W + o "joelho" da curva Melhor performance por watt

Placas com muita folga de potência (ex.: BIOS de 800W num modelo de 575W) podem ignorar o cap de tensão — a placa roda alto mesmo com a curva capada. O app detecta isso (coluna cap) e avisa pra usar o modo Eficiência, que age via power limit e sempre morde.

As guardas (por que os números aqui são confiáveis)

Cada guarda existe porque o artefato correspondente já invalidou medições reais durante o desenvolvimento:

# Artefato Guarda
1 Janela da carga redimensionada → fps incomparável Mede o tamanho da janela; invalida se mudar
2 Duas instâncias de FurMark → carga dupla Conta instâncias antes e durante
3 Cap de tensão que não morde → mede stock achando que mediu OC Compara tensão real (GPU-Z) com o setpoint
4 Perfil escrito no cfg errado (cross-flash muda o subsystem) Descobre o cfg pelo device/subsystem atual
5 Deriva térmica entre rodadas Re-mede a âncora (stock) a cada busca

Requisitos

  • Windows + Python 3 (usa só a stdlib — tkinter já vem junto)
  • MSI Afterburner (o app escreve a curva V/F no cfg dele)
  • GPU-Z aberto (tensão real) e RTSS (fps) — opcionais, mas sem eles a busca perde precisão
  • Driver NVIDIA (nvidia-smi no PATH)
  • Rodar como administrador

Estrutura

gputuner.py          GUI (tkinter, sem dependência externa)
gputuner_core.py     detecção, telemetria, guardas, aplicação de perfil
gputuner_search.py   motores de busca (undervolt / overclock / eficiência)
GPUTuner.bat         launcher com elevação
tools/               utilitários CLI independentes:
  nvfan.py             fan via NVAPI (o Afterburner ignora fan de perfil em várias placas)
  gpuz_read.py         lê sensores do GPU-Z pela memória compartilhada
  gpu_monitor.py       monitor CLI (nvidia-smi + fps do RTSS)
  gpupower.py          power limit, inclusive abaixo do piso do vBIOS (via cap de clock)

Avisos

  • Undervolt/OC instável pode travar ou reiniciar o PC. Não danifica, mas salve seu trabalho antes. O app restaura o stock ao terminar e tem botão Restaurar stock.
  • FurMark é ótimo pra térmica/potência, mas tolera clock que jogo real crasha. Valide o perfil escolhido em jogo (ou OCCT com detecção de erro) antes de adotar.
  • O app usa o slot 4 do Afterburner como rascunho durante a busca — não guarde nada importante nele.
  • Testado a fundo numa RTX 5090. Em RTX 40xx a lógica é a mesma (nada hardcoded), mas o comportamento do cap de tensão costuma ser mais previsível que na 50xx.

Licença

MIT

Releases

Packages

Contributors

Languages