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

iPhone 14 pode ser lançado com câmera de 48 MP; iPhone 15 com 'super zoom'

Câmeras do iPhone 13 Pro Max em detalhe - Bruna Souza Cruz/Tilt
Câmeras do iPhone 13 Pro Max em detalhe Imagem: Bruna Souza Cruz/Tilt

Marcella Duarte

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

23/12/2021 13h06

O iPhone 14 Pro, possível lançamento da Apple no ano que vem, deve contar com uma câmera que produz fotos com resolução de até 48 megapixels —os modelos atuais utilizam 12 MP. É o que aponta um dos rumores mais recentes sobre o aparelho.

Outra aposta, segundo o analista de mercado Ming-Chi Kuo, que costuma antecipar novidades, é que o iPhone 15 terá um sensor periscópio, que aproxima objetos distantes, em 2023.

Segundo o rumor, o sensor de 48MP será usado apenas a câmera principal dos modelos top de linha iPhone 14 Pro e iPhone Pro Max (os nomes ainda não forma confirmados). As lentes ultrawide e telefoto continuariam com 12 MP.

A Apple é conhecida por priorizar a qualidade dos sensores e lentes, aliada ao desempenho dos softwares de processamento, para imagens de mais qualidade, em vez de simplesmente oferecer números enormes de megapixels. Por isso, o uso de uma lente de 48 MP, se confirmado, será algo inusitado.

Os celulares de 2022 também devem permitir gravação de vídeos em 8K e compatível com os óculos de realidade aumentada da Apple, que também pode ser lançado em 2022.

Kuo já havia sinalizado que o iPhone 14 Pro poderia usar o processo chamado de pixel binning (que envolve combinação de pixels). Na prática, significa que o futuro iPhone: sob condições de muita luz, tiraria fotos com 48MP; sob menos luz, com 12 MP, para preservar a qualidade e poupar espaço.

Essa tecnologia já é utilizada em alguns modelos Android, como o Samsung Galaxy S21 Ultra.

Para comparação, o iPhone 13 Pro e iPhone 13 Pro Max possui um sistema de três câmeras e todas fazem fotos com 12 MP e gravam vídeo em 4K.

iPhones mais simples

Os próximos modelos de entrada, que podem ser chamados iPhone 14 e iPhone 14 mini continuarão com dois sensores de 12 MP, principal e ultrawide. Os upgrades dos próximos anos utilizarão componentes da empresa taiwanesa Largan Precision.

iPhone 15

Para 2023, a previsão do analista é pelo menos um modelo de iPhone 15 —provavelmente, a versão Pro — com lente periscópio, que permite um aumento significativo na capacidade de fazer uma foto com zoom óptico (da própria câmera), sem perda de qualidade. É como uma lente dobrada, como um prisma, que absorve muito mais luz, mantendo o design compacto.

A linha iPhone 13 é limitada ao zoom óptico de 3x. Já o Huawei P40 Pro+, por exemplo, possui uma lente periscópio com zoom de 10x. Combinado com digital, pode chegar a mais de 100x.

Os novos iPhones devem ser anunciados apenas em setembro de 2022. Até lá, muitos rumores e vazamentos ainda devem ocorrer. Por enquanto, esperamos quatro modelos em dois tamanhos diferentes: iPhone 14 e 14 Pro (6,1 polegadas), 14 Max e 14 Pro Max (6,7 polegadas).