Nové mobilní procesory od MediaTeku chtějí konkurovat Snapdragonům

21. 1. 2021

Sdílet

Autor: Mediatek
Vliv MediaTeku roste. Jeho nové čipy Dimensity 1100 a 1200 se dle vyjádření firmy mohou poměřovat s těmi nejlepšími.

Tchajwanský výrobce MediaTek představil mobilní procesory Dimensity 1100 a 1200, které mají konkurovat Snapdragonu od Qualcommu. Pro doložení svého tvrzení firma zveřejnila výsledky sice jen dvou benchmarkových testů, technické specifikace obou čipů jsou však srovnatelné s nejnovějším čipem Snapdragon 888, dokonce slibují vyšší frekvenci.

Zatímco Qualcomm je předním výrobcem procesorů pro prémiové telefony, MediaTek je vůbec největším výrobcem mobilních procesorů na světě s tržním podílem dosahujícím 31 %. Ve třetím kvartálu loňského roku překonal právě Qualcomm, zejména díky vyšší prodejnosti telefonů střední třídy a úspěchu na indickém a dalších asijských trzích. Agresivní cenová strategie firmy přispěla ke snížení cen 5G telefonů a zároveň napomohla růstu výrobců typu Xiaomi.

A nejen v Xiaomi, ale také ve Vivo, Oppo nebo Realme už nové čipy Dimensity nepochybně netrpělivě vyhlížejí. ¨

„Standard 5G si bude nadále nacházet cestu do telefonů všech cenových kategorií a my budeme pokračovat v tom, abychom ho zpřístupnili každému,“ říká manažer prodejů MediaTeku Finbarr Moynihan.

Dimensity 1200 sází na rychlost

Design Dimensity 1200 připomíná Snapdragon: ukrývá jedno „ultra“ jádro a k němu tři další „super“ jádra pro ty nejnáročnější úkoly, další čtyři „efficiency“ jádra pro méně náročné. Modelu 1100 „ultra“ jádro chybí, místo něj má čtvrté „super“ jádro. Oba jsou vyrobeny 6nm technologií. Co je však zajímavé nejvíc, tak to, že Dimensity 1200 slibuje vyšší takt než Snapdragon 888.

Zatímco jeho „prime“ jádro X1 je nataktované na 2,84 GHz, tři jádra Cortex-A78 na 2,4 GHz a zbylá A55 jádra na 1,8 GHz, Dimensity 1200 má jádra nataktována následovně: 3 GHz Cortex-A78 coby „ultra“, 2,6 GHZ Cortex-A78 coby tři „super“ a čtyři 2 GHz A55. Oba čipy Dimensity pak disponují devítijádrovou Arm Mali-G77 GPU.

Klíčovou rozdílnost tak představuje jádro X1 v Snapdragonu, které je dle Qualcommu o 20 % výkonnější než Cortex-A78. Je tedy Dimensity stejně výkonný jako Snapdragon 888? Z papírových technických specifikací těžko říct, takt modelu 1200 je oproti konkurenci vyšší jen o 6 %. Jedno přímé srovnání nabídnout můžeme.

MediaTek se odkazuje na test GFXBench Manhattan, v němž Dimensity zachytil 130 snímků za sekundu, což je ovšem méně než dříve vykázané skóre Snapdragonu 888: 169 snímků za sekundu. Jak však poznamenal Moynihan, v MediaTeku se prý snažili najít ideální rovnováhu mezi maximálním výkonem a výkonem udržitelným.

S ohledem na rostoucí popularitu videoher – zvlášť v Asii, na kterou se MediaTek orientuje primárně – Dimensity 1200 podporuje obnovovací frekvenci displejů až 168 Hz (u 1100 je to 144 Hz), ray tracing a součástí je i funkce, která uživateli umožňuje pokračovat v hraní i během telefonického hovoru.

Cyber25

Co Dimensity přináší na poli audio/video

Oba čipy v sobě mají pětijádrovou jednotku schopnou zachytit fotografie s rozlišením až 200 Mpx, respektive 108 Mpx. Slibují také AI schopnosti pro portrétní snímky s ještě lepší hloubkou ostrosti, až o 29 % lepší HDR či kvalitnější noční snímky. ISP jednotka je též schopná natáčet 4K video v HDR. Na poli audia oba procesory Dimensity podporují Bluetooth 5.2 umožňující streamování do více zařízení současně, LC3 kodek anebo true wireless stereo s ultra nízkou latencí.

'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »