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

Internet móvel do Brasil é medíocre na escala global, aponta relatório

Telefonia móvel brasileira é bem inferior à europeia ou à de países como Japão e Coreia do Sul - Getty Images/iStockphoto
Telefonia móvel brasileira é bem inferior à europeia ou à de países como Japão e Coreia do Sul Imagem: Getty Images/iStockphoto

Renan Dionisio

Colaboração ao UOL

29/05/2019 03h00

Resumo da notícia

  • Em levantamento da OpenSignal, Brasil ficou longe do topo dos rankings das cinco categorias avaliadas
  • Países europeus e do leste e sudeste asiático obtiveram os melhores resultados
  • Nenhum país obteve avaliação excelente na qualidade de vídeos gerados pela conexão móvel

Alguma vez já precisou fazer alguma pesquisa rápida na internet, tanto pelo computador quanto pelo celular, e se deparou com a demora no carregamento da página? Ou estava assistindo a um vídeo ou série na Netflix que, de repente, travou porque a rede caiu? Isso ocorre porque a internet brasileira está distante das melhores do mundo.

Isso foi comprovado pela OpenSignal, empresa independente que recolhe dados da internet móvel mundial através da experiência real dos usuários, que publicou um relatório comparativo entre o desempenho da rede móvel de 87 países em cinco métricas: velocidade de e , latência, disponibilidade 4G e vídeo.

Esses dados foram coletados de janeiro a março deste ano, logo antes dos serviços de 5G começarem a funcionar na Coreia do Sul e nos Estados Unidos.

De acordo com a OpenSignal, os grandes mercados pretendem implementar a nova tecnologia já nos próximos anos. Porém, vai demorar até que a tecnologia esteja presente na vida da maioria dos usuários, por conta do tempo e custo para fazer essa transição.

O 5G vai oferecer, além da maior velocidade, uma capacidade de cobertura muito maior, uma banda larga de alta frequência que vai impedir o congestionamento de dados, além de melhorias na latência.

O relatório publicado, no entanto, teve como fonte de dados as médias de cada operadora com a conexão LTE, a partir de uma medição feita pelos usuários da OpenSignal.

Consideradas todas as categorias analisadas, o Brasil ficou longe dos 25 melhores em todas elas, indicando que ainda há muito a melhorar. O início do 5G é uma oportunidade para este salto, mas, enquanto ele não chega, apresentamos o desempenho do país em cada requisito avaliado pela OpenSignal.

Velocidade de

Nessa métrica o líder é a Coreia do Sul, com 52,4 Mbps (megabit por segundo) de . A diferença para Noruega, segunda colocada, foi de 4 Mbps. O top 10 é fechado pelo Japão, com velocidade de 33 Mbps. De acordo com os dados do relatório, a média global de velocidade de é de 17,6 Mbps, número superior à velocidade brasileira, que conta com 13 Mbps de velocidade e ocupa a 50ª posição. No fim da lista está o Iraque com 1,6 Mbps.

Velocidade de

A velocidade de é geralmente bem mais baixa que a de , porém, em um contexto no qual as pessoas compartilham e criam muito conteúdo, esse número tem aumentado. O primeiro colocado dessa métrica é a Dinamarca com 15,3 Mbps, seguida de perto pela Coreia do Sul, com 15,1 Mbps. Fechando o top 10 está o Canadá com 10,2 Mbps. O Brasil ocupa, novamente, a parte inferior da tabela: média de 4,5 Mbps de velocidade de .

Latência

Latência é o tempo que demora para um sinal ou pacote de informação sair do seu ponto de origem e chegar no seu destino. Nessa métrica, cinco países europeus ficaram no Top 10, mas o país com a internet mais rápida neste quesito foi Cingapura com 30,7ms, sendo o único país perto da barreira dos 30ms. Logo atrás está Hungria com 33,4ms. Austrália fecha a lista dos dez melhores com 37,7ms. Brasil apresentou latência equivalente a 71,5ms, uma das piores da América Latina.

Disponibilidade 4G

No quesito disponibilidade, podemos dizer que o 4G é praticamente onipresente no mundo. Nos 87 países, a média da disponibilidade do 4G é de 80% das conexões móveis. No top 15 dessa categoria, a penetração do 4G é de 90%. A Coreia do Sul lidera mais um quesito com 97,5%, enquanto o Japão ficou em segundo com 96,3%. O Brasil ocupa a 69ª posição com 72%.

Vídeo

Baseado na qualidade de vídeos no mobile, essa métrica conta com um sistema de pontuação de 0 a 100. Até 40 pontos, a conexão é considerada pobre; de 40 a 55, regular; de 55 a a 65, boa, de 65 a 75, muito boa; e mais de 75 pontos excelente.

Nenhum país chegou à categoria excelente, mas 25 países que alcançaram ficaram na muito boa (65-75), sendo 19 deles europeus. A Noruega foi quem levou a maior nota na experiência de vídeo, 74,7. Brasil ficou na categoria regular, com 52,1 pontos.