Diskeeper Pro Premier 2007

7. 5. 2007

Sdílet

Diskeeper Pro je zástupcem tzv. defragmentačních utilit, které po nástupu NTFS trochu ustoupily do pozadí, ale přesto stále nabízejí zajímavé možnosti uspořádání dat na disku počítače a zrychlení práce

linux_sprava_tip

V dobách Windows 98 byly defragmentační utility důležitou součástí každé sady aplikací, sloužící ke zvýšení výkonu vašeho počítače. Po nástupu souborového systému NTFS se však situace změnila a programy tohoto typu jako by ustoupily do pozadí zájmu uživatelů. Snahu o změnu tohoto stavu dobře demonstruje právě Diskeeper, jenž dotahuje možnosti uspořádání dat (tedy defragmentace) na vašem disku téměř k dokonalosti.

Diskeeper je uživatelům distribuován ve třech základních verzích: Home, Professional a Pro Premier. Tyto verze se liší jednak maximální velikostí defragmentovatelné diskové jednotky (768 GB pro verze Home a Professional, 2 TB pro verzi ProPremier), ale také dostupností speciálně vyvinutých technologií pro zvýšení výkonu vašeho PC. Instalace programu nezabere mnoho prostoru a probíhá naprosto standardním způsobem. Poté je nutné Diskeeper aktivovat.


Integrované řídící centrum je dnes standardem

Ovládání aplikace je integrované do dnes obvyklého řídícího centra, jež je rozděleno na tři základní části. Vlevo najdete menu s rychlými odkazy na jednotlivé funkce, nahoře ikony se stejným posláním. Prává část patří hlavnímu oknu zobrazujícímu v základu seznam diskových jednotek a jejich zadaných parametrů. Prvotním posláním Diskeeperu je analýza a defragmentace diskových jednotek. Tyto operace však dokáže (na rozdíl od konkurentů) provádět automaticky na pozadí, díky instalaci vlastního enginu jako samostatně běžící služby ve Windows XP. Uživatel tak v podstatě ani netuší, že program pracuje a postupně rovná jeho data podle nastavení.

Možnosti konfigurace automatické defragmentace jsou opravdu bohaté. Na přehledné časové ose lze určit, v jakých hodinách nesmí Diskeeper defragmentovat, podporována jsou i mobilní zařízení ve formě možného zákazu všech aktivit v případě chodu počítače na baterie. Jestliže není možné manipulovat s některými soubory za běhu Windows, máte k dispozici takzvanou BootTime defragmentaci, která proběhne při plánovaném (v přehledném kalendáři) restartu vašeho PC. V případě potřeby je samozřejmě možné vyvolat proces srovnání dat i "ručně", včetně kompletní analýzy pevného disku. Veškeré výstupy programu jsou logovány a poté dostupné v grafické podobě ve vestavěném prohlížeči.


Dialog nastavení podpůrných technologií

Výrobce se nespokojil s klasickou formou srovnávání dat a vyvinul vlastní technologie, které by měly přispět k dalšímu zvýšení výkonu. Jednou z nich je I-FAAST, jež monitoruje frekvenci využití jednotlivých souborů a ty pak v reálném čase přemisťuje na oddíly disku s rychlejším přístupem. InvisiTasking zase sleduje použité prostředky vašeho PC a ty volné poté využívá v době, kdy jste mu povolili vaše data defragmentovat. Minimalizuje tak zátěž počítače a vy můžete pohodlněji pracovat. FragShield je zase jakýmsi štítem, hlídajícím nejdůležitější systémové soubory a zamezujícím jejich nežádoucímu přemístění a následnému poškození operačního systému.


Dialog konfigurace celého programu s nastavením sběru dat

Mezi další vlastnosti Diskeeperu patří schopnost vyčlenění libovolných souborů z vlastního procesu defragmentace. Program rovněž obsahuje jednoduchou konfiguraci přístupových práv, umí se sám aktualizovat ze stránek výrobce, případně umožní uživateli zapnout automatickou defragmentaci samočinně na každou nově připojenou jednotku. Najdete v něm i analytické nástroje, které umí na požádání spustit a získané informace uložit do přehledného logu (jehož velikost a rozsah lze opět definovat). Správce systému získává přehled o kondici pevných disků, aniž by musel analýzu sám provádět.

Diskeeper Pro Premier 2007 je příjemně svižný a snadno ovladatelný automatický defragmentační nástroj, který dobře poslouží začínajícímu uživateli a rozmanitostí nastavení uspokojí i pokročilého odborníka. Použité technologie nejsou sice převratně inovátorské, nicméně i při jejich plné aktivaci a spuštění samotného procesu rovnání dat o programu v podstatě ani nevíte. Neexistující lokalizaci je možné u takto speciálně zaměřené utility minimálně tolerovat.

K recenzi poskytla firma: Diskeeper Corp., www.diskeeper.com
Cena: 3 200 Kč včetně DPH

- - Jan Povolný

'; 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'; } }