Különbség

Magyar webshop: 4500 HUF + postaköltség

ebay: 735 HUF + ingyen szállítás

Windows boot time

Az újabb Windows verziók kapcsán – kivéve Windows 10 – a Microsoft kiemelt figyelmet fordított az operációs rendszer teljesítménye. Az ez irányú törekvések emlékét őrzik az egyre jobb performancia elemző eszközök, mint pl. a Task Manager (és az onnan elérhető Resource Monitor). Bár ezek továbbra sem váltják ki a jó öreg Process Explorer, Process Monitor-t, de az esetek egy részében a problémák már detektálhatók natív windows-os eszközökkel (is).

A szuper optimalizált windows-om a napokban ismét lehetőséget biztosított, hogy foglalkozzak vele kicsit, mert login előtt megállt, és várt vagy 20 másodpercet, ezután dobott a login képernyőre. Mivel itt még boot fázisról beszélünk, sajnos a fenti eszközök egyike sem használható. Első körben megnéztem az event log-ot, hátha találok benne valami érdekeset (ahogy a mondás tartja, aki keres az talál), de ennek a várakozáshoz sajnos nem volt köze.

Egyéb okokból már telepítve volt a gépen a Windows Assessment and Deployment Kit (Windows ADK) Windows Performance Analyzer komponense, ami lehetőséget biztosít trace-k készítésére, azok elemzésére, akár boot idő alatt is.

A használatához rá kell venni a windows-t, hogy trace fájlt generáljon, melyből majd kideríthetjük, hogy mi is történik a vizsgált időszakban. Régen ehhez pár száz karakterből álló parancssort kellett készíteni (xbootmgr…), de a Microsoftnál is sejthették, hogy ez ebben a formában nem valami jó, és egy szorgalmas fejlesztőnek hála ma már ezt konfigurálhatjuk grafikus felületen is (na jó a felület képességeit nem vitték túlzásba, de hát ki a kicsit nem becsüli…).


wprui.exe

Az ily módon megkeletkezett fájlt (pl.: boot_1.etl) a Windows Performance Analyzer-rel tudjuk alaposabban megvizsgálni. Mivel az én problémám a boot alatt jelentkezett, de még login előtt, az első nézet amit bekapcsoltam a Boot Phases volt. Itt már látszott, hogy a bejelentkezés előtt a Winlogon init 31 másodpercig tartott, ami gombócból is sok, nem hogy boot időből…

A fenti nézethez hozzádobtam még a Processes nézetet, hogy látszódjon milyen alkalmazások indultak el ezen idő alatt.

 

A processeket vizsgálgatva feltűnt egy alkalmazás ami a login inittel indult, és 29.9 másodpercig futott… Ez az alkalmazás pedig nem volt más, mint az OriginWebHelperService.exe…

Ezután eszembe jutott, hogy nemrég elindítottam az Origin-t, és frissítette magát… A process egyébként service-ként települt, a frissítés rakta fel/kapcsolta be, ott kellett kikapcsolni, és a probléma megszűnt… Ezúton is köszönöm az EA-nak a fejtörőt, szórakoztatóbb volt, mint a legtöbb mostani játékuk 😉

 

Google spreadsheet duplikált sorok

Táblák kezelése kapcsán előfordul néha, hogy bizonyos dupla előfordulásokat szeretnénk megjelölni/kitörölni. Ezt a Google spreadsheet-ek esetén script segítségével tehetjük meg.

Az alábbi script pirossal jelöli azon sor előfordulásokat, ami a táblázatban már egyszer szerepelt:


function markDuplicates() {
   var sheet = SpreadsheetApp.getActiveSheet();
   var range = sheet.getDataRange();
   var newData = new Array();
   for(var i = range.getRow(); i < range.getLastRow(); i++){
      var row = range.offset(i, 0, 1);
      var rowData = row.getValues();
      for(j in newData){
         if(rowData.join() == newData[j].join()){
            row.setBackgroundRGB(255, 0, 0);
         }
      }
      newData.push(rowData);
   }
}

A kód készítése során az alábbi források segítettek:

Tutorial: Removing Duplicate Rows in a Spreadsheet

Google Spreadsheet: Script to Change Row Color when a cell changes text

Windows PC optimalizálás

Réges rég elkövettem azt a hibát,  hogy windows alapú gépen kezdtem el zenélni. Aztán hozzászoktam, megszerettem, és bár azóta volt szerencsém más operációs rendszereket is kipróbálni, a végén mindig visszatértem hozzá. A számítógépen történő zenélés nagyon furcsa dolog, ha menet közben bármi megakad, akkor lehet újracsinálni a munka egy részét, és vannak olyan pillanatok, amiket később már nem lehet, vagy nagyon nehéz újracsinálni, tehát ehhez egy elég stabil rendszer kell. Sokan ezen a ponton alapból lemondanak a windows-ról, pedig kitartó munkával (és nem kevés utánajárással) meglepő eredményeket lehet elérni, hozzáállás kérdése az egész. Míg egy debiant szépen lassan épít fel az ember, a windowsnál épp az ellenkezőjét kell csinálni, szépen lassan lebontani a rétegeket.

tl;dr: Az optimalizált windows olyan mint egy jó versenyautó: Gyors, de egyáltalán nem kényelmes. Átlag felhasználóként a driverek frissítése az egyetlen szükséges lépés, a többi beállítás inkább problémát fog okozni, és érezhető előnyt nem jelent.

Mi is az optimalizálás célja: az alkalmazásunk működése és a hw komponensek között a lehető legkisebb késleltetés történjen, és ebbe az operációs rendszer lehetőleg ne keverjen bele.

Hardware:

  • lehetőleg dedikált hangkártyát használjunk (pci / firewire)
  • az usb eszközök számát minimalizáljuk (ps/2 billentyűzet)
  • usb hub-ot semmiképp se használjunk

BIOS:

  • kapcsoljuk ki a hyper threadingot
  • mindenféle virtualizáció támogatást
  • HPET-et
  • Integrált videó és hangkártyát

Driverek:

Ha ezzel megvagyunk, akkor állhatunk neki a windows-nak. Alapesetben én azt javaslom, hogy mindenből a legfrissebb drivert rakjuk fel, de a driver-ek minőségének megállapítása során csak a folyamatos mérések nyújthatnak támpontot. A driverek frissítésére kiválló a Snappy Driver Installer, a driverek minőségének ellenőrzésére a LatencyMon alkalmazást tudjuk használni.

Windows komponensek:

Ezek után el kell távolítani a windows összes olyan összetevőjét, amit valószínűleg sosem fogunk használni:

– Internet Exploder
– Windows Location Provider
– Work folders client
– XPS services
– XPS viewer

Én a print services-t is levettem, nem szándékozok papírra nyomtatni a közeljövőben.

Windows:

A főbb alapvetéseket a Focusrite elég jól összefoglalta, érdemes követni a leírásukat. A lényeg kivonatolva:

  • Power management -> high performance, cpu minimum és maximuma is 100% legyen
  • Rendszerhangok kikapcsolása
  • Processzor prioritás: Background services
  • Tűzfal, vírusírtó kikapcsolás
  • Vizuális effektek

És egy dolog, amit itt nem írnak: fix (min  == max) méretű swap file használata.

Hálózat:

Ha ez megvan, akkor kikapcsolhatjuk az összes olyan dolgot, amire nincs szükségünk a hálózaton (és lássuk be elég kevés dologra van szükségünk valójában):

snap75

Az IPV6 kikapcsolásához már a registry-t kell átírnunk: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\

new DWORD (32-bit) Value ->  DisabledComponents = 0xff

(forrás)

Amennyiben a hálózat késleltetése számít nekünk, akkor a szükséges optimalizációkat elvégezhetjük a TCPOptimizer nevű alkalmazással, de ez inkább streaming, és játékok esetén lehet hasznos.

Szolgáltatások:

Ezek után már csak azt kell elérnünk, hogy csak azok a programok fussanak, amire tényleg szükségünk van. Mivel a windows a legtöbb komponensét szolgáltatásokon keresztül indítja, itt is kell leállítanunk őket. Ezt a services.msc futtatásával tehetjük meg.

Bizonyos szolgáltatásokat viszont nem nagyon tudunk leállítani (mint pl. a Task Scheduler) mert a windows ezt nem engedi. Ezeket a registry segítségével tudjuk kikapcsolni.

A szolgáltatások kulcsait itt találjuk: HKLM\SYSTEM\CurrentControlSet\Services

A szolgáltatások rövid névvel kerülnek ide elmentésre, de azokat láthatjuk a service listában is, az adott szolgáltatás Properties oldalán (pl. a Task Scheduler neve Schedule)

Az indítás módát a Start tartalmazza, a 4 érték jelenti a Disabled beállítást. (forrás)

A szükséges szolgáltatások:

snap76

A többi dolog nem szükséges.

A TCP/IP NetBIOS helper szolgáltatás a SAMBA megosztások eléréséhez szükséges.

Amennyiben fájlokat szeretnénk megosztani, el kell indítani a Server szolgáltatást.

Amennyiben a Windows Update-t szeretnénk használni, akkor előtte el kell indítani az alábbi szolgáltatásokat:

  • Network List Service
  • Network Location Awareness
  • Background Intelligent Transfer Service
  • Windows update

Figyelem:

  • a BITS az operációs rendszer más dolgaihoz is kellhet (pl. nyelvek telepítése, DISM és SFC javításokhoz), csak akkor állítsuk le, ha ezek már mind rendben vannak.
  • a Task Scheduler leállítása után nekünk kell futtatni azokat a dolgokat, amik az operációs rendszer hatékony működését biztosítják, és a Task Scheduler időzítve futtatta őket (pl. a WinSxS könyvtár takarítását).

Alkalmazások:

Bár a fentiek után ezt külön kiemelni nem is érdemes, fontos, hogy a gépen csak az az alkalmazás fusson, amit használni akarunk, ezért a Task Manager Startup szekciójából mindent állítsunk disabled-re. Ez nem csak a rendszer teljesítményére lesz jó hatással, hanem a boot time-ra is (nálam jelenleg 5 másodperc alatti). Amire még szükségünk lehet az a ctfmon alkalmazás (C:\Windows\System32\ctfmon.exe) ami a tray-en a billentyűzet nyelvének állítását teszi lehetővé. De lehetőleg ezt is csak akkor indítsuk el, ha szükségünk van a magyar billentyűzetre, és utána zárjuk is be szépen.

A fentiek után már kész is a szuper munkára fogható windows-unk, ami valahogy így fog kinézni:

15036412_1241479802592529_2999654407216518174_n