Ir ao conteúdo
  • Cadastre-se

Análise de frametimes e porque isso importa: introdução aos 0.1% e 1% “lows”


Posts recomendados

Vamos falar sobre um assunto que infelizmente não é muito discutido, mas muito importante na hora de recomendar componentes para um PC Gamer: qualidade e consistência dos frames entregues pelos componentes(sendo eles GPUs ou CPUs) que podem fazer a diferença entre uma jogatina suave e uma experiência frustrante cheia de engasgos\stuttering.

 

Trago aqui uma introdução ao que são “0.1% e 1% lows” e analises de frametimes juntamente do porque disso importar na hora de recomendar componentes ou escolher seu próximo "PC gamer".

 

Porque FPS Medio sozinho não serve?

 

Medias não são precisas, sozinhas, para medir performance em jogos pois por sua natureza eliminam justamente os pontos que definem se uma jogatina é suave ou não, consistência de frametimes.

 

O que são frametimes?

 

image.png

 

Frametime, ou tempo de frame, é o tempo que demora para um frame ser substituído por outro na sua tela em milissegundo(ms), se um frame demorar de mais você vai sentir um “engasgada” devido a queda de fps(frames por segundo). Por exemplo:

Em testes Maquina X apresentara FPS médio mais alto, mas devido a inconsistência de entrega de frametimes a experiência vai ser pior que Maquina Y, mesmo entregando FPS médio inferior ela entrega frametimes de forma mais consistente, mas, veremos mais sobre isto abaixo:

 

 

Porque FPS mínimo não serve?
 

Como o “mínimo” pega o numero mais baixo, este valor pode ser um pico que ocorre em apenas um momento, seja por limitação de hardware ou software, um pico não é representativo da experiência de alguém.

 

image.png


O que são 0.1% e 1% lows?
 

Um complemento para FPS medio, utilizado para medir a "suavidade" e/ou consistência dos frametimes registrados por uma ferramenta que grave estes dados, como o FRAPs, por exemplo:

 

image.png

 

Se fosse ordenado em uma lista e 1000 dos frametimes mais rapidos até os mais lentos em um teste rápido, 0.1% lows reprentaria uma media dos 10 frametimes mais lentos registrados, enquanto 1% Low representaria os 90 frametimes mais lentos acima destes.

 

Observe o exemplo abaixo:

 

image.png

 

image.png

 

Olhando apenas pelo FPS médio, mínimo e Máximo Componente X parece mais potente com +15 no FPS Médio e +15 no FPS mínimo(além de +20 no FPS Max), mas analisando mais a fundo:

 

image.png

 

É observado que comp. X, mesmo entregando mais FPS médio devido a sua inconsistência de frametimes acaba sendo pior que Comp. Y que entregou menos na media mas tem frametimes mais consistentes proporcionando uma experiência mais fluida.

 

Exemplo:

 

image.png

 

Representa em torno de 5min de gameplay de GTA V utilizando um processador FX6100 overclockado para 4.5Ghz, acompanhado de 3x4Gb DDR3 1600Mhz e uma GTX970 4Gb G1 Gaming. Mostra claramente a variação brusca de frametimes, e o mais importante, a frequência que elas ocorrem.

 

[Atualizado: 21/04/2018]

Equalizado com blog, link para post no blog: Analise de Frametimes: entendendo 0.1% e 1% Lows

  • Curtir 36
Link para o comentário
Compartilhar em outros sites

Teoria bem explicada! Nem sempre FPS a mais é sinônimo de desempenho sólido.
E na prática, o 1% seria aquelas quedas bruscas de FPS (por exemplo, média de 200 FPS e fica uns 2 segundos rodando a 80) que acontecem de forma as vezes frequentes, enquanto o 0,1% seria o menor FPS atingido na gameplay (que chegam a causar aquelas travadinhas momentâneas)?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Pode-se usar o desvio padrão para analisar a consistência dos frames. 

Colocando os dados exemplo X e Y:

O Desvio padrão Y = 58,38

O Desvio padrão X = 90,18

 

O desvio padrão, diz basicamente o quanto os máximos e mínimos se distanciaram da média. Sendo assim, uma das melhores formas de analisar isso, porém, tem que quantificar esse valor de uma forma a se entender melhor ele. E é aí que entra o 1% e o 0,1%, não sei explicar exatamente no momento, porém vou pesquisar e trago informações sobre como é feita essa amostragem dos 0,1% e os 1%.

adicionado 2 minutos depois

@Raul Melo 0,1% e 1% é uma ferramenta estatistica, você analisa os dados, vê o quanto os mesmo desviam da média pelo desvio padrão, utilizando esse desvio, você separa todos os dados em conjuntos, assim você vê quais se distanciaram para mais e para menos da média, e é utilizado essa curva.

Blog Mania de Mayemática Model (1).png

  • Curtir 5
Link para o comentário
Compartilhar em outros sites

7 minutos atrás, Flávio Santana Lima disse:

não sei explicar exatamente no momento


Acho que ninguém sabe! hahahaha
Eu entendo o motivo desta análise, já que quanto maior a mínima obtida nestes 1 e 0,1% , menos chances do jogo travar e dar quedas de frames (assim penso).
O negócio é fazer um abaixo-assinado para o mestre Gabriel Torres explicar em um artigo. :P

Link para o comentário
Compartilhar em outros sites

4 minutos atrás, Lost Byte disse:

já que quanto maior a mínima obtida nestes 1 e 0,1% , menos chances do jogo travar e dar quedas de frames (assim penso).

Isso me lembra da minha experiencia com o jogo GTA V

Onde tenho fps baixos (~30 ~45) mas não vejo diferença na game play

 

Mas de novo, isso n depende do jogo?

Digo isso pois... se a placa é mais robusta, ela é mais robusta e ponto. não tem como uma placa antiga ser melhor que uma nova. OU TEM?

Link para o comentário
Compartilhar em outros sites

Ele está falando sobre a estabilidade do frame time. O que acontece é que se o seu sistema tem um frame time instável você pode sentir ele engasgando.

Na prática, processadores mais simples costumam apresentar frame times mais instáveis, por isso, um i5 é melhor do que um i3, mesmo que tenham FPS semelhantes na maioria dos jogos. Placas de vídeo também influenciam na estabilidade do frame time.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Lost Byte Eu vou explicar depois de uma forma mais tranquila, mas precisaria de tempo para revisar alguma bibliografia, é muito interessante essa análise, e se você ver na curva, ele diz exatamente isso. 

Na imagem o simbolo Mi(o do centro) é a média, o Rô(é o desvio padrão), assim se você pega a média menos desvio padrão e a média mais desvio padrão, você nota que ela engloba 68,26% dos dados, ou seja, o que sobra é são os 15,87% HIGH e os 15,87 % LOW. Na medida que você vai tirando mais desvios padrões, você aumenta a amplitude. 

 

@Raul Melo sim, depende do jogo e da sua config, pois os dados são os fps dos jogos, 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

2 minutos atrás, Raul Melo disse:

Mas de novo, isso n depende do jogo?

Digo isso pois... se a placa é mais robusta, ela é mais robusta e ponto. não tem como uma placa antiga ser melhor que uma nova. OU TEM?


Não necessariamente depende do jogo, já que a linha Ryzen mesmo mantém suas média bem melhores, causando menos mínimas que a linha Intel, onde apesar de se obter mais FPS, a variação é bem maior.
Por exemplo, no Ryzen você joga de boa em 80 FPS e do nada cai para 50 e volta para 80. Até aí tudo bem; No i7 está bem rodando a 100 FPS e então cai para 30 e volta para 100 aos poucos, o que é horrível a experiencia. Foi o que eu peguei sobre o assunto.

adicionado 13 minutos depois

@Flávio Santana Lima
Eu entendi boa parte da teoria, mas que tinhosos isso é afetado na prática? Aqueles engasgos perceptíveis mesmo em FPS altos (por algum marcador) ou a variação dos FPS ao longo do jogo? (sim, eu sei que FPS e frametime é diferente)

Link para o comentário
Compartilhar em outros sites

@Lost Byte Simples, você conseguindo analisar essa porcentagem certinha, você consegue ver a quantidade de dados que estão nesses 0,1% e 1% low, ou seja se tiver MUITOS dados, quer dizer que você ta tendo muito stutering, e algo está causando isso, se for poucos dados, terá menos travamentos como stutering. 

 

E é nisso que o desvio padrão entra, ele relaciona a média (fps médio) com os máximos e minimos, e com a frequência em que eles ocorrem, tipo, você pode ter esses dois dados com mesma média:

MAX : 200

MÉDIO: 125

MINIMO: 50

 

MAX : 150

MÉDIO: 125

MINIMO: 100

 

Porém você vê claramente que no A ele possui uma variação bem maior, de 50 a 200. Por ter uma alta variação, se tratando de jogos, você terá mais travamentos, e nisso maior stutering, e por conta dessa variação. você pode ver que o desvio padrão do A vai ser maior do que o Desvio padrão do B, pois os dados de A estão mais distantes da média do que os de B.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

No caso, você registra os frametimes e organiza eles do menor para o maior.

 

Segundo 1 gerou 50 frames

Segundo 2 gerou 51 frames

segundo 3 gerou 1 frame  --- Engasgou

Segundo 4 gerou 60 frames --- voltou

Segundo 5 gerou 20 --- engasgou

Segundo 6 gerou 21

Segundo 7 gerou 60 frames

(..) estável

Segundo 60 gerou 50 frames

Segundo 61 gerou 24 frames

Segundo 62 gerou 30 frames

(..) estável

Segundo 90 gerou 60 frames

Segundo 91 gerou 35 frames

Segundo 92 gerou 60 frames

Segundo 93 gerou 31 frames

Segundo 94 gerou 61 frames

Segundo 95 gerou 60 frames

 

Pegando a lista de frametimes, você organiza do menor para o maior pegando 0.1% dos mais lentos.

Segundo 3 + segundo 5 + segundo 6 = 42 / 3 = 14 como valor de 0.1% lows

Pegando dessa mesma lista de frametimes, você pega 1% dos frames mais lentos - os que você ja tirou a media

Segundo 61 + segundo 62 + segundo 91 + segundo 93 = 120 / 4 = 30 como valor de 1% lows

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

1 hora atrás, Atretador disse:

Quanto maior a distancia entre a media e os 0.1%/1% lows, maior a instabilidade de frames --mesmo que a media seja 300fps, você ainda vai sentir quando 0.1% ou 1% dos frames totais forem ruins.


Junto com o que o @Flávio Santana Lima falou antes, consegui entender melhor.
Só uma única dúvida para eu não confundir... Os frames em questão não são aqueles FPS obtidos na diferença de lugares abertos cheios de movimento e em um lugares fechados sem muita ação, certo? Digo, é o esforço do CPU em manter os frames sempre na mesma margem e na mesma situação né?

Link para o comentário
Compartilhar em outros sites

@Lost Byte normalmente testes são reproduzidos igualmente em plataformas diferentes de forma a replicar ou simular a experiência normal de um jogador ou quando disponível as ferramentas de benchmark do jogo assim limitando as diferenças de resultado a performance dos componentes em si e não por variações bruscas de situação.

 

GTA V por exemplo, seria realizando uma missão passando por áreas diferentes  --normalmente reviewers usam a primeira missão na qual personagem A(não lembro o nome xP ) rouba um carro e "passeia" pela cidade, assim simulando a experiência que um jogador teria.

Link para o comentário
Compartilhar em outros sites

@Atretador
Entendo isto, mas me refiro se o 1% e o 0,1% está ligado diretamente na mudança de FPS em uma cena com constante movimentação ou em uma cena parada?
Digamos assim, no caso de constante movimento... (onde ocorre mudança de forma brusca)
FPS Máximo (obtido quando se está parado e todos na volta andando): 150
FPS Médio (obtido andando normalmente): 100
FPS Mínimo (obtido correndo e cheio de explosões na volta): 50
Nesta condições, o 1% e 0,1% obtido foi 65

No caso de cena parada, foi analisado 5 minutos... (onde o computador se esforça para manter os mesmos frames sempre)
E dentro deste tempo:
FPS Máximo: 120
FPS Médio: 100
FPS Mínimo: 80
Nesta condição, tendo a variação de frames mesmo parado, o 1% e 0,1% obtido foi 83

Sendo assim, resumidamente, os 1% e 0,1% são mais preocupantes na gameplay (1º caso) ou na tentativa de estabilidade contínua (2º caso)? Desculpe se pareceu confuso! :P

Link para o comentário
Compartilhar em outros sites

@Lost Byte Normalmente o cenário 1 é o mais representativo da experiência de usuários e o que de fato testa os componentes, em uma cena parada não há tanto esforço.

 

Um exemplo disso é os benchmarks de CS:GO no youtube, há dois tipos: um durante gameplay com players\bots(cenario 1) outro em mapas vazios(cenario 2).

Link para o comentário
Compartilhar em outros sites

@Atretador Nisso eu tenho experiencia pra falar ioajwdoisajçkoasfn

no CSGO, uma partida com bot (na qual você é o host) você perde 10fps pra cada bot.

Já uma partida sem bot, você n tem nd pra calcular, então o fps é normal.

Voltando ao bot.. além do calculo do bot, temos a renderização do personagem, e só isso você já perde fps (GRAÇAS A MARAVILHOSA ENGINE DA VALVE <3 )

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Atretador Da hora mano...

 

0.1% e 1% para mim é mais importante que FPS máximo. É o mesmo principio que sempre falamos aqui, é necessário equilíbrio entre os hardwares p/ ter um bom setup.

 

Quando vejo reviews de GPU sem 0.1% e 1%, pra falar a real nem analiso, só passo por cima pra ver a metodologia e tal. Mas só confio quando é colocado todas as informações.

 

@Flávio Santana Lima

 

Vendo você falando de média, desvio padrão e etc, lembro do meu prof na facu ensinando(tentando) nós.

 

Pra fazer a fica cair ele deu um exemplo pratico:

 

- 2 pilotos de avião acabaram de formar, ambos com nota final(média) 5. Foram feitas 2 provas, uma de decolagem e uma de pouso, qual deveríamos escolher?

 

Parece fácil, pois ambos tiveram a msma nota final, só que o piloto A tirou 10 na prova de decolagem e 0 na de pouso(média 5) e o piloto B tirou 5 na prova de decolagem e 5 na prova de pouso(média 5).

 

Nunca mais esqueci dessa aula :)!

  • Curtir 7
  • Obrigado 2
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...