;(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

Copa do Mundo, shows e eSports: como o 5G vai revolucionar grandes eventos

Amistoso da Seleção Brasileira contra Gana: Copa do Mundo do Catar fará amplo uso do 5G - Damien Meyer/AFP
Amistoso da Seleção Brasileira contra Gana: Copa do Mundo do Catar fará amplo uso do 5G Imagem: Damien Meyer/AFP

Thaime Lopes

Colaboração para Tilt, em São Paulo

05/10/2022 04h00

Um jogador da Seleção Brasileira faz o primeiro gol do país na Copa. Você é a única pessoa na sala que ainda não tem uma camisa da Seleção. Ao apontar a câmera do celular para a TV, o e-commerce já te direciona para a página da camisa do autor do gol. Em questão de poucos minutos, sua compra é confirmada e daqui uns dias você vai ver mais um jogo do Brasil, agora de camisa nova.

Não é uma realidade tão distante assim: o foi sugerido por Luciano Saboia, gerente de pesquisa e consultoria em telecomunicações da IDC Brasil, que está de olho nas tendências do 5G no país. Segundo suas análises, o futuro dos eventos (esportivos ou não) será criar novas formas de imersão, viabilizadas pela rápida transmissão de dados.

"O 5G é um grande capacitador de distribuição de o a internet ou de aplicações. Com ele, é possível pensar novas maneiras de fazer eventos. Os shows podem ser mais interativos, as marcas podem fazer inserções de novas formas. A gente pode pensar de um jeito diferente porque o 5G permite coisas que o 4G não permitia, por limitações de alcance e desenvolvimento", explica.

Arthur Igreja, especialista em tecnologia e inovação digital, cita os ingressos digitais utilizados no Rock in Rio este ano. Foram o primeiro o de um processo completo de digitalização que será padrão nos próximos anos.

"O que vimos no show do Coldplay, por exemplo, com a ativação das pulseiras durante as músicas, vai ser ultraado daqui um tempo. Com o 5G, não temos limitação de conexão, como acontecia com o 4G. Então, usando a internet, poderemos pensar em ações mais rápidas e em tempo real", comenta.

As pulseiras 'mágicas' do Coldplay para Rock in Rio - Zô Guimarães / UOL - Zô Guimarães / UOL
As pulseiras 'mágicas' do Coldplay para Rock in Rio 2022
Imagem: Zô Guimarães / UOL

Ei, você! Aí na plateia!

Para Igreja, uma das tendências mais fortes serão ativações baseadas em geolocalização, em um combo que junte 5G com beacon.

Beacons são dispositivos que utilizam tecnologia bluetooth low energy (BLE) para emitir sinais intermitentes de ondas de rádio. Com isso, sua precisão de GPS é muito maior do que a de um GPS comum. Ele consegue definir sua posição com a precisão de centímetros, em vez de metros.

"Será cada vez mais comum que eventos comecem a aproveitar a conectividade do 5G para usar beacons e trabalhar ativações em locais específicos, principalmente em festivais grandes como o Rock in Rio", explica.

O próprio Rock In Rio foi a prova de fogo para outro benefício evidente do 5G que já ajuda mesmo os frequentadores que só têm celular: a estabilidade de sinal. Ele consegue manter a transmissão de dados mesmo em áreas de alta densidade humana. Saboia e Igreja garantem que queda de sinal é algo que vai ficar lá atrás, junto com o 3G e o 4G.

Jogar como nunca antes

FalleN BLAST Premier Fall Finals de CS:GO - Divulgação/HLTV - Divulgação/HLTV
FalleN em torneio de CS:GO, no ano ado: poderia ser virtual?
Imagem: Divulgação/HLTV

Sinal estável é ótimo para fãs de música, mas ainda mais essencial para gamers. Seja no celular ou no PC, quem joga sabe bem a frustração de uma partida online travar bem em um momento crítico.

Mesmo que não trave, sempre existe a latência: o atraso entre o momento que você aciona um comando, ele é transmitido pela rede e depois efetivado nos servidores do game. Para um jogador profissional, esse descomo de microssegundos pode ser o suficiente para errar um tirar letal.

No 4G, a latência média é de 80 milissegundos. Parece pouco, mas no 5G chega a 1 a 5 milissegundos. Ou seja, na pior das hipóteses, o 5G é 16 vezes melhor.

Renan Barreto, gerente geral da Brasil Game Show, maior evento de games da América Latina, que começa no próximo dia 6, conta que a chegada do 5G é uma revolução para todos: quem joga, quem produz conteúdo, quem assiste, quem transmite, e quem realiza eventos.

"Para nós, que trabalhamos com eventos, a conectividade é um assunto muito importante. Ela afeta diretamente a experiência de jogo, uma das nossas promessas aos gamers. O 5G nos ajuda a entregar uma experiência muito mais realista e rápida. Muda completamente a relação da pessoa com o game", conta.

O resto do ecossistema também é beneficiado. "Para uma pessoa que joga e faz stream ao mesmo tempo, essa nova tecnologia é revolucionária, porque deixa o stream muito mais fluido", afirma.

Saboia imagina que os campeonatos presenciais podem até perder espaço. "Um dos motivos pelos quais os torneios presenciais continuam a acontecer é porque as ligas precisam garantir que todos os jogadores tenham a mesma conectividade e latência na hora das partidas oficiais. O 5G chega para mudar isso, porque ele vai melhorar a conexão para todo mundo", explica.