atualmente, eu possuo um monitor curvo da samsung, o cf390 . ele é um modelo relativamente simples, mas com características muito boas para a faixa de preço:
oficialmente, este monitor suporta apenas 60 hz de taxa de atualização. simplificando bastante, você pode pensar nisso como a frequência com que a imagem é atualizada na tela.
em teoria, este seria o limite do monitor — mas aparentemente existe uma certa margem além do especificado pela samsung.
como eu utilizo arch linux, este guia será focado em sistemas linux usando xorg e xrandr.
primeiro, instale os seguintes programas:
xrandrcvt
o hwinfo é opcional, mas extremamente útil para verificar as
capacidades do monitor e os modos suportados.
$ hwinfo --monitor
41: None 00.0: 10002 LCD Monitor
[Created at monitor.125]
Unique ID: rdCR.mXlV7spGjJ0
Parent ID: GBI1.nQ88yxGraaD
Hardware Class: monitor
Model: "SAMSUNG C24F390"
Vendor: SAM "SAMSUNG"
Device: eisa 0x0d2c "C24F390"
Serial ID: "HX5T302090"
Resolution: 720x400@70Hz
Resolution: 640x480@60Hz
Resolution: 640x480@67Hz
Resolution: 640x480@72Hz
Resolution: 800x600@56Hz
Resolution: 800x600@60Hz
Resolution: 800x600@72Hz
Resolution: 1024x768@60Hz
Resolution: 1024x768@70Hz
Resolution: 1280x720@60Hz
Resolution: 1280x1024@60Hz
Resolution: 1920x1080@60Hz
Size: 521x293 mm
Year of Manufacture: 2022
Week of Manufacture: 12
Detailed Timings #0:
Resolution: 1920x1080
Horizontal: 1920 2008 2052 2200 (+88 +132 +280) +hsync
Vertical: 1080 1084 1089 1125 (+4 +9 +45) +vsync
Frequencies: 148.50 MHz, 67.50 kHz, 60.00 Hz
Driver Info #0:
Max. Resolution: 1920x1080
Vert. Sync Range: 50-72 Hz <-- interessante...
Hor. Sync Range: 30-81 kHz
Bandwidth: 148 MHz
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #14 (VGA compatible controller)
a linha mais interessante aqui é:
Vert. Sync Range: 50-72 Hz
isso indica que o monitor é capaz de receber sinais verticais de até 72 hz.
então por que ele é vendido como um monitor de 60 hz?
aparentemente existe uma margem de tolerância interna além do que é oficialmente especificado pela samsung.
e é isso que vamos explorar.
o comando cvt (coordinated video timing) calcula os parâmetros
exatos do sinal de vídeo.
a sintaxe é:
cvt largura altura taxa
no meu caso:
$ cvt 1920 1080 72
# 1920x1080 71.91 Hz (CVT) hsync: 81.11 kHz; pclk: 210.25 MHz
Modeline "1920x1080_72.00" 210.25 1920 2056 2256 2592 1080 1083 1088 1128 -hsync +vsync
esse amontoado de números é basicamente a "receita" do sinal.
guarde a linha começando em Modeline, porque vamos usá-la no
próximo passo.
agora, usaremos a modeline gerada pelo cvt para criar um novo
modo com o xrandr.
xrandr --newmode "1920x1080_72.00" 210.25 1920 2056 2256 2592 1080 1083 1088 1128 -hsync +vsync
em seguida, precisamos adicionar este modo à saída de vídeo:
xrandr --addmode HDMI-A-0 "1920x1080_72.00"
obviamente, substitua HDMI-A-0 pela saída correta do seu sistema.
você pode descobrir isso executando:
xrandr
se tudo deu certo, o novo modo aparecerá no final da lista:
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
HDMI-A-0 connected primary 1920x1080+0+0
1920x1080 60.00*+ 50.00 59.94
1680x1050 59.88
1600x900 60.00
1280x1024 60.02
1440x900 59.90
1280x800 59.91
1280x720 60.00 50.00 59.94
1024x768 70.07 60.00
800x600 72.19 60.32 56.25
720x576 50.00
720x480 60.00 59.94
640x480 72.81 66.67 60.00 59.94
720x400 70.08
1920x1080_65.00 64.93
1920x1080_68.00 67.93
1920x1080_72.00 71.91 <-- AHA!
agora só resta ativar o novo modo:
xrandr --output HDMI-A-0 --mode 1920x1080_72.00
executando xrandr novamente, veremos o asterisco indicando
que o modo está ativo:
1920x1080_72.00 71.91*
honestamente? não é uma mudança gigantesca.
mas os 12 hz extras deixam a interface um pouco mais fluida e permitem que o monitor exiba até 72 quadros por segundo.
considerando que muitos monitores modernos vendem justamente taxas mais altas como diferencial, achei interessante conseguir extrair um pouco mais de um hardware relativamente simples sem gastar nada.
nem todo overclock de monitor é realmente estável.
em alguns casos, o monitor aceita o modo novo, mas começa a descartar quadros internamente (frame skipping).
para verificar isso, utilizei o TestUFO.
o teste pede que você fotografe a animação exibida na tela com a câmera do celular. se os quadrados aparecerem interrompidos ou inconsistentes, significa que existe perda de quadros.
no meu caso, tudo parece estar funcionando corretamente — pelo menos até agora.
os modos criados com xrandr --newmode não persistem após reiniciar
o sistema ou encerrar a sessão gráfica.
para reaplicar automaticamente o overclock ao iniciar a sessão, você pode
colocar os comandos abaixo no seu .xprofile,
.xinitrc ou no autostart do ambiente gráfico:
xrandr --newmode "1920x1080_72.00" 210.25 1920 2056 2256 2592 1080 1083 1088 1128 -hsync +vsync
xrandr --addmode HDMI-A-0 "1920x1080_72.00"
xrandr --output HDMI-A-0 --mode 1920x1080_72.00
substitua HDMI-A-0 pela saída correta do seu sistema.
e é isso.
o overclock realmente funcionou no meu monitor e permaneceu estável durante os testes.
se algo der errado, basta voltar ao modo padrão:
xrandr --auto
ou simplesmente reiniciar o sistema.
obrigado por ler até aqui.