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

TV


LG lança nova TV 'dobrável': plana para ver filmes ou curvada para jogar

TV com tela curva da LG será exibida na IFA, maior feira de tecnologia europeia - Divulgação/LG
TV com tela curva da LG será exibida na IFA, maior feira de tecnologia europeia Imagem: Divulgação/LG

Siouxsie Rigueiras

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

31/08/2022 16h44

A imersão vem sendo um tema recorrente para agradar fãs de tecnologia e games. E as fabricantes de TV sabem bem disso. Nesta quarta-feira (1º), a LG apresentou a sua nova televisão Oled Flex modelo LX3, que pode ser usada completamente plana ou com a tela curva em diferentes ângulos.

A novidade faz parte dos lançamentos exibidos durante a IFA (International Fiscal Association) 2022, feira de tecnologia mais importante da Europa, que acontece nesta semana na Alemanha.

O modelo tem 42 polegadas. A ideia os consumidores consigam ter uma experiência de visualização personalizada entre os vinte níveis de curvatura — com uma inclinação até 10 graus ou afastamento de até 5 graus, segundo a LG.

Além disso, o produto conta com um e regulável de altura (140 para cima e para baixo milímetros) para atender a diferentes públicos; tudo isso pelo controle remoto.

Gamers e streaming

Novas TVs da LG permitem ajuste de formato de tela - Divulgação/LG - Divulgação/LG
Nova TV da LG permite ajuste de formato de tela
Imagem: Divulgação/LG

O novo modelo de TV é voltado, principalmente, para o público que deseja maior imersão durante os jogos online e transmissões ao vivo, além de, claro, quem consome bastante conteúdo de streaming. De acordo com a LG, o produto oferece conforto aos olhos mesmo para quem fica muito tempo em frente aos televisores.

Falando em jogos, a LX3 possui funções e recursos exclusivos, podendo escolher entre 32 ou 27 polegadas de utilização para cada gênero de jogo específico.

O modelo com tela curva também promete melhor contraste nas imagens, cores precisas com 100% de fidelidade, tempo de resposta de 0,1 milissegundos entre um comando e a resposta na tela.

O processador inteligente (Alpha) 9 Gen 5 também promete melhor desempenho, unindo velocidade e algoritmos inteligentes para melhor exibição das cenas.

O antirreflexo (SAR) da marca também é algo a ser considerado, visto que auxilia na concentração máxima dos usuários por conta da redução de distrações visuais na tela.

"Os fãs de RPGs, jogos de corrida ou plataformas provavelmente vão querer usar todas as 42 polegadas da tela, enquanto os jogadores de estratégia em tempo real ou de tiro em primeira pessoa podem preferir uma tela de 32 ou 27 polegadas", destaca a LG em seu comunicado.

Aplicativo para gamers

Exclusivamente na LX3, o aplicativo Game permite e para protetores de tela personalizados e atalhos de aplicativos como Twitch e YouTube, populares entre o público gamer. Também existem configurações personalizáveis de som e uma diversificada gama de áudio e imagem para os jogadores, de acordo com o comunicado da empresa.

O sistema Multi View permite que o usuário consiga ver o conteúdo de duas fontes diferentes de transmissão ao mesmo tempo e ainda escolher o áudio que deseja ouvir; característico de quem joga enquanto vê ou ouve um vídeo do YouTube, por exemplo.

A LG ainda não divulgou preços e nem quando o modelo chega ao mercado.