Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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