;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Vinte e Dois

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

O charme subestimado dos Jogos 4 nos playoffs da NBA

Giannis Antetokounmpo reage durante jogo do Milwaukee Bucks contra o Phoenix Suns na final da NBA - Justin Casterline/Getty Images/AFP
Giannis Antetokounmpo reage durante jogo do Milwaukee Bucks contra o Phoenix Suns na final da NBA Imagem: Justin Casterline/Getty Images/AFP

Vitor Camargo

Colunista do UOL

13/07/2021 04h00

Quando falamos dos melhores jogos em uma série de playoffs na NBA, a maioria das pessoas costumam ter o seu favorito na ponta da língua: Jogos 7. E não sem motivo: eles são o equivalente a uma final de partida única, o matar-ou-morrer onde tudo está em jogo e as margens de erro são mínimas. Se vencer, você avança; se perder, acabou a temporada.

Mas, embora nada possa se comparar a Jogos 7 em termos de emoção, drama e narrativas, eles são também bastante raros e, sendo sincero, não costumam ser os mais bonitos e bem jogados. São partidas mais brigadas e nervosas, e embora isso seja parte do charme, ainda pode acabar sendo cansativo. Em vez disso, eu tenho uma opinião diferente sobre quais meus jogos favoritos em séries de melhor de 7: Jogos 4.

O problema com Jogos 4, é claro, é quando uma equipe já abriu 3 a 0, uma vantagem que nunca foi revertida na história da NBA. Nesses casos, as partidas tendem a ser das mais chatas: um time já sabendo que está praticamente eliminado, o outro pouco interessado na partida - especialmente se for fora de casa. Mas o mais comum é que um dos envolvidos chegue vencendo a série por 2 a 1, e quando isso acontece é quando os Jogos 4 mostram todo o seu potencial.

Talvez isso se dê por ser a situação onde os possíveis resultados da partida oferecem mais disparidade para o desenrolar da série: se o time em desvantagem ganha, a série volta à estaca zero em 2 a 2 e vira basicamente uma nova série de melhor de 3. Caso contrário, o adversário abre 3 a 1 na série, vantagem que apenas 13 times na história da NBA já reverteram em pós-temporadas.

É uma diferença gigantesca entre os dois cenários, e por isso costuma ser um jogo onde todos trazem todas as cartas para a mesa - um para se colocar em uma vantagem quase decisiva, e o outro para evitar se colocar nesse buraco. Desnecessário dizer, então, que eu estou bastante animado para o duelo de quarta-feira.

É nesse ponto que as Finais da NBA se encontram após o Milwaukee Bucks vencer o Jogo 3, com mais uma performance magistral de Giannis Antetokounmpo - e eles fizeram isso basicamente da mesma forma que eu avisei na coluna de domingo. Nela, eu disse que tinha alguma confiança que os Bucks venceriam o Jogo 3 por causa da sua boa atuação no Jogo 2, no qual perderam em grande parte por causa dos 50% de aproveitamento do Phoenix Suns nas bolas longas e das péssimas atuações de Kris Middleton e Jrue Holiday, fatores que não deveriam se repetir no Jogo 3, ainda mais com a série indo para Milwaukee. E, quando eles voltassem à normalidade, eu achava que os Bucks tinham boas chances de levar vantagem.

E, adivinhe, foi exatamente o que aconteceu: as bolas de três pontos dos Suns pararam de cair (29% na partida), Middleton e Holiday combinaram para 39 pontos e 15 assistências, e de repente foram os Bucks que pareceram o time mais dominante em quadra, vencendo por 20 pontos e massacrando qualquer oposição. Phoenix ainda tem a vantagem, sem dúvida, mas agora precisa também encontrar algumas respostas em quadra.

Acima de tudo, é isso que tem feito dessa série tão interessante: tirando talvez o primeiro jogo, nenhum time realmente parece ter encontrado uma supremacia sobre o outro. É um duelo completamente parelho, decidido muitas vezes nos detalhes e na variância - porque agora é Phoenix que provavelmente vai apontar para seus 29% nos chutes de trás do arco (que tende a subir), os minutos que Deadre Ayton ou com problemas de falta e os 3-14 nos arremessos de Devin Booker para argumentar esse jogo foi fora da curva para eles, e que a regressão deve os favorecer dessa vez. O que, aliás, é verdade.

Por melhor que Milwaukee tenha sido no Jogo 3, a vantagem final de 20 pontos provavelmente também é um pouco enganosa para refletir a diferença entre as duas equipes. E, conforme esses fatores fora da curva vão se normalizando, o que sobra é a enorme paridade entre dois excelentes times, em uma série que tem tudo para ser decidida nos detalhes.

O que nos traz novamente para o Jogo 4. Apesar de toda essa paridade e do basquete bem jogado que vimos nesse começo das Finais, nenhum time até agora parece ter realmente usado todas as suas cargas na manga e ido aos extremos do que pode fazer dentro de quadra. Milwaukee provavelmente chegou mais perto disso no Jogo 3, especialmente por finalmente ter usado em maior volume seu quinteto mais baixo com Giannis de pivô - os resultados ainda não foram os desejados principalmente por causa de Phoenix (e em especial Cam Johnson) pegando fogo nesses minutos, mas tem sido a melhor formação dos Bucks na pós-temporada e uma que eles tem recorrido nos momentos de maior pressão. Mas Bud ainda está um pouco frouxo demais com sua rotação, insistindo demais em minutos inúteis para Bryn Forbes e Jeff Teague, dois jogadores que não podem ficar em quadra.

Os Suns estão melhores em termos de minutagem, mas seu ataque ainda tem seguido um padrão conhecido, sem grandes mudanças ou concentrando demais a bola nas suas estrelas para que tomem conta do jogo sozinhas. Se esse time tem ou não uma marcha extra guardada para esses momentos tem sido a pergunta sobre eles desde o começo do ano. Embora ainda não tenham precisado mostrar isso até aqui (um testamento ao quão bom é o seu "normal"), pode ser a hora de ver exatamente o que mais Phoenix tem em reserva.

O Jogo 4, nesse sentido, é o momento perfeito para ambos os times colocarem todas suas fichas no centro da mesa; Milwaukee sabe que esse é um compromisso decisivo e que não pode voltar para Phoenix perdendo por 3 a 1, enquanto os Suns não podem jogar fora sua vantagem inicial agora que Giannis cada vez mais está tomando conta da série.

Esse é o jogo para ambos começarem a mostrar seus extremos: ambos os times têm desmoronado sem seus principais jogadores de garrafão (Giannis e Ayton), e embora o grego tenha questões de saúde envolvidas, a tendência é que os dois comecem a jogar cada vez mais minutos, perto dos 48 totais. Phoenix também deve abandonar de vez a experiência Frank Kaminsky e abraçar em tempo integral a rotação com Jae Crowder e Cam Johnson como pivôs de small ball nesses poucos minutos sem Ayton em quadra.

Milwaukee precisa enxugar essa rotação, mas sem perder de vista o que fez tão bem com seu ataque no segundo quarto... e, claro, deixar Giannis continuar sua dominação no garrafão. Não é sobre mudanças radicais, mas continuar girando o medidor cada vez mais na direção de um extremo para minimizar ao máximo sua margem de erro, mesmo que isso signifique jogar alguns dos seus principais jogadores por 45, 48 minutos.

As Finais da NBA até agora têm correspondido às expectativas, em parte porque Giannis está conseguindo não só jogar, mas dominar depois da sua lesão no joelho. A vitória dos Bucks no Jogo 3 foi gigante para nós nesse sentido, pois impossibilita uma varrida, estende a série e, claro, nos oferece esse delicioso Jogo 4 que se desenha na nossa frente.