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

Project Scarlett: Microsoft revela como será o novo Xbox, que chega em 2020

Phil Spencer apresentou os detalhes do sucessor do Xbox One na E3 2019 - Christian Petersen/AFP
Phil Spencer apresentou os detalhes do sucessor do Xbox One na E3 2019 Imagem: Christian Petersen/AFP

Rodrigo Trindade

Do START, em São Paulo

09/06/2019 18h39

Resumo da notícia

  • Novo Xbox será quatro vezes mais poderoso que o Xbox One X
  • Console gerará imagens em até 8K e 120 quadros por segundo, com ray tracing
  • Microsoft ainda não deu nome ao videogame, que será lançado no fim de 2020

A Microsoft apresentou neste domingo (9) o Project Scarlett e deu detalhes de como será a quarta geração de consoles da empresa. O sucessor da família Xbox One foi revelado no Microsoft Theatre, em Los Angeles, na conferência de E3 da companhia. Ainda sem um nome oficial, a plataforma será lançada no final de 2020 em conjunto a "Halo Infinite", próximo jogo da franquia mais associada à marca Xbox.

Segundo a empresa, o videogame será quatro vezes mais poderoso que o Xbox One X, o console mais avançado no mercado atualmente. A Microsoft afirma que este será o maior salto tecnológico realizado entre as plataformas produzidas por ela.

Na apresentação, foi dada a ênfase na redução dos tempos de carregamento, com alusões a falsos elevadores e outros truques utilizados por desenvolvedores para que seus jogos pudessem realizar transições entre diferentes ambientes. O desenvolvimento do novo console tem como meta acelerar esses processos, o que será feito por processadores de nova geração da AMD e um SSD, capaz de gerar memória RAM virtual.

Logo antes do trailer que informou as especificações técnicas da plataforma, o chefão do Xbox Phil Spencer deu uma declaração bem diferente daquela que Don Mattrick, seu antecessor no cargo, fez na ocasião da apresentação do Xbox One.

Um console deve ser construído para uma coisa apenas: jogar
Phil Spencer, chefe da divisão Xbox

Outras especificações técnicas da plataforma são as imagens em 8K rodando em até 120 quadros por segundo, combinadas ao ray tracing, técnica de geração de gráficos introduzida em 2018 pela última família placas de vídeo RTX, da Nvidia.

Spencer disse que os responsáveis pelo Project Scarlett são os mesmos que trabalharam no desenvolvimento do Xbox One X, inicialmente chamado de Project Scorpio. "O mesmo time que criou o console mais poderoso do mundo saiu em uma nova missão: criar o futuro dos videogames para você", afirmou.

Halo Infinite - Divulgação - Divulgação
"Halo Infinite" chegará no lançamento do próximo Xbox
Imagem: Divulgação

Jogando na nuvem

Enquanto o novo Xbox só chega no fim do ano que vem, a Microsoft deu uma janela para a chegada do serviço de streaming xCloud: outubro de 2019.

Na apresentação, Spencer explicou que o serviço terá duas modalidades. Uma é o streaming direto dos servidores da Microsoft, enquanto a outra é a transformação de um Xbox One em um servidor da xCloud.

Em outubro, poderemos usar nossa nuvem híbrida para jogar seus jogos, onde você estiver. Onde você vai jogar é completamente sua escolha
Phil Spencer

No caso do Xbox One como servidor, o streaming é feito do console direto a um dispositivo móvel. Quais aparelhos serão compatíveis? A Microsoft não detalhou em seu site, onde está descrito o termo genérico "dispositivo móvel".

Foco total em videogames

A conferência deste domingo prometia muito e deixou um pouquinho a desejar, afinal esperávamos o nome do console. Ainda assim, o cenário apresentado é positivo para quem utiliza o ecossistema Xbox ou quer entrar nele, graças ao rumo que a marca vem tomando desde que Phil Spencer assumiu o comando da divisão em março de 2014.

As decisões tomadas por Spencer até aqui mostram como a Microsoft mudou suas prioridades ao longo da atual geração de consoles. O Xbox One foi apresentado em 2013 por Don Mattrick como o "centro de entretenimento na sala de estar", com grande destaque para o novo Kinect e funções paralelas aos games.

A mudança de foco para entretenimento em geral, não nos jogos, prejudicou a imagem do console, que largou e ficou atrás do PlayStation 4 em vendas.

Bleeding Edge - Divulgação - Divulgação
"Bleeding Edge" é o novo jogo da Ninja Theory, adquirida pela Microsoft em 2018
Imagem: Divulgação

Com o novo chefe de divisão, Kinect e a história de "centro de entretenimento" foram colocados para o escanteio. Spencer estava no comando nos lançamentos do Xbox One S e Xbox One X, revisões da plataforma que trouxeram o foco de volta aos games.

Desde 2014, o Xbox One ou a ser retrocompatível com centenas de jogos do Xbox 360 e do Xbox Original, além de receber um serviço inovador na indústria: o Game . A plataforma também quebrou barreiras de cross play com a Nintendo, criando uma pressão pública para que a Sony cedesse e também permitisse que amigos com videogames diferentes pudessem jogar juntos.

Neste meio tempo, a Microsoft comprou novos estúdios para reforçar o catálogo de games exclusivos de Xbox. Com a aquisição da Double Fine Productions, agora são 13 produtoras trabalhando em jogos de Xbox e Windows, como "Bleeding Edge", feito pela Ninja Theory e revelado na conferência deste domingo.

Com toda essa galera trabalhando em novos títulos, a Microsoft promete que o próximo Xbox não vai sofrer um dos males do Xbox One: a escassez de exclusivos. Essa E3 nos deixa seguros que a linha Xbox tem muito pela frente.