sobota 4. dubna 2015

Doba spouštění FSX a nový tweak

Mnoho lidí má problém s extrémně dlouhou dobou spouštění Flight Simulatoru X. Docela mě zajímalo, co na to má největší vliv, a tak jsem si stáhl a spustil program Process Monitor a nechal ho zanalyzovat kompletní proces spuštění.


Docela mě překvapilo, že FSX během spouštění načítá postupně všechny soubory ze složek, kde je nainstalován a také v souvisejících složkách v AppData. Pokud startuji Flight Simulator poprvé po spuštění počítače, trvá mi celý proces až do naběhnutí hlavního menu přibližně 8 minut. Z toho 3 minuty se načítá knihovna MTL IVAO (Multiplayer Traffic Library, tedy knihovna letadel okolního provozu), 2 minuty se načítají scenerie, jednu minutu letadla a zbytek času ostatní soubory.


Zajímavé je, že scenerie se načítají všechny, nezáleží na tom, jestli jsou ve Scenery Library aktivované nebo ne. Deaktivace nepotřebných scenerií vám sice může zabránit v přetečení paměti, ale spuštění simulátoru to neurychlí.

Pokud tedy chcete urychlit spouštění simulátoru, doporučuji kompletně odinstalovat staré a nepotřebné scenerie a letadla, se kterými již nelétáte. Také je výhodné méně používaná letadla přesunout z adresáře SimObjects\Airplanes někam mimo adresář FSX a přesouvat je zpět pouze pokud s nimi opravdu poletíte. To zároveň urychlí také otevření menu pro výběr letadel. Pokud létáte na IVAO, tak si můžete stáhnout jen ty nejpoužívanější typy letadel do MTL, protože více jak polovinu typů letadel při většině letů nepotkáte ani jednou.

Největší výhodu mají majitelé SSD, kde je načítání velkého množství malých souborů mnohem rychlejší, než na tradičních pevných discích. Běh z SSD sice nepřidá FPS, ale snižuje rozmazávání textur nebo "mikrozáseky" během letu.

Na závěr jsem si nechal jeden nově objevený tweak. Původně byl zmíněn pouze v souvislosti Prepar3D, ale někteří uživatelé potvrdili jeho funkčnost i v FSX. Do sekce [SIM] v souboru fsx.cfg nacházejícího se v %AppData%/Microsoft/FSX přidejte následující řádek:

[SIM]
OPTIMIZE_PARTS=1

V Prepar3D již v souboru Prepar3D.cfg daný parametr existuje, stačí jen změnit hodnotu 0 na 1. Nikdo sice přesně neví, co daný parametr konkrétně dělá, ale u mě došlo k nárůstu průměrně 2 FPS na letišti v Brně s PMDG 737 NGX (což je ale ještě na hranici odchylky měření). Zkuste to taky a uvidíte.

8 komentářů:

  1. Tak jsem to vyzkoušel na FSX:SE.. provedl jsem to pomocí FSXMark11, tedy uloženou pozici s přednastaveným letovým plánem, což znamená, že pokaždé letadlo letí totožnou trasu v totožných podmínkách (zataženo, hustě obydlená oblast, nízká výška). Oproti tomu jak se má ten test provádět FSX spouštím se svým standardním nastavením, taktéž se svým obvyklým profilem grafické karty. Pomocí fraps se pak měří průměrné FPS po dobu 5 minut. Test se spustí 4x po sobě, první výsledek se ignoruje.

    Test bez tohoto nastavení:
    18.280
    18.013
    18.010

    Test s tímto nastavením:
    18.437
    18.223
    18.087

    zdá se to tedy jako mírný nárust výkonu, ale v tomto případě je to fakt jen nějaká odchylka, která třeba za pěkného počasí nad méně obydlenou oblastí udělá klidně celý 1 frame/s... nevidím pro použití téhle volbyve FSX:SE důvod,

    V Prepar3D to asi bude jiné kafe. Tohle nastavené se objevilo s poslední verzí, kde si lidé i s high end sestavami stěžovali na výkonostní propad oproti předchozím verzím. S tímto nastavení už to bylo ok.

    OdpovědětSmazat
  2. Díky za sdílení vlastních poznatků. Alespoň si můžeme být jistí, že přidáním tweaku OPTIMIZE_PARTS=1 nedojde v FSX ke zhoršení FPS :)

    Pravděpodobně ale bude určen pouze pro majitele Prepar3D. I když kdoví, až teprve nedávno jsem zjistil, že se dá poměrně jednoduše v FSX zapnout dynamické stínování kokpitu, stejné jako je v Prepar3D.

    OdpovědětSmazat
    Odpovědi
    1. Ani v Prepar3D v2.5. nevnímám vliv optimize_parts. Zřejmě nemám dostatečně komplexní letadlo - nejkomplexnější je Turbine Duke od Real Airu.

      Teď si s Prepar3D hraju... dám tomu ještě nějaký čas a dávám dohromady pro a proti. Zřejmě ale k přechodu na P3D dojde. Diametriky odlišný vizuální dojem a hlavně poladěný výkon autogenu - žádné dávkové aktualizace a přeposování, prostě to tam prdne ve zvoleném rádiusu a hotovo... krajina tak nežije jak ve FSX.

      Smazat
  3. Jinak to nahrávání 8 minut je nějaké divné. Start do menu mi rozhodně netrvá déle než půl minuty. Ano mám SSD, ale když člověk koukne kolik je tam I/O operací, tak toho moc není a peek při čtení je asi 150MB/s. použití plotnového disku vidím na spoždění v řádu sekund, ne minut.

    Načítání letu už je horší, tam to jednu dobu trvalo asi 1,5 minuty... nicméně promazal jsem vygenerované indexy scenérek a hned to bylo urychlení a jsem pod minutou. Opět. SSD disk v tom výraznou roli hrát nebude. Moc se toho nepřečte. Třeba P3D mám na X let starém WD green disku vytaženým z externího rámečku (potlačená rychlost hlav kvůli eliminaci hluku hlaviček, jen 8MB cache) a načítání samotného letu vnímám o kapku pomalejší než u FSX.

    Za letu to už vůbec rozdíl nehraje. V extrému FSX čte něco jako 80MB/s a to dává i ten můj obstarožní zelený disk. Stačí defragmentovat a samozřejmě na tom samém disku nemít systém (mít v dnešní době systém na čemkoli co není SSD mi přijde jako velká chyba).

    OdpovědětSmazat
    Odpovědi
    1. Nicméně mě teď napadá proč ten start může trvat dlouho.

      Při startu se prochází scenery indexy. To jsou soubory které si generuje FSX při prvním startu po přidání nové scenérie. Ty indexy lze kompletně smazat a ty se pak vygenerují komplet znovu a tady, pokud to má člověk trošku ošperkované to skutečně může na plotnách trvat dlouho, protože to opravdu přečte každý soubor ve složkách scenérek. Záleží na tom kolik toho je. U mě má aktuálně instalace FSX kolem 200GB se vším a i na SSD to nějakou tu minutku zabere.

      Vyzkoušel bych pohledat tady, jestli se ty indexy třeba nemažou nebo něco podobného.

      Smazat
  4. Jak jsem již psal v článku, nejdéle trvá načítání knihovny MTL IVAO. To je v podstatě soubor tisíců různých variant letadel, které slouží k tomu, aby se mi při online létání zobrazovala okolní letadla ve správných zbarveních. Ten kdo nelétá online na IVAO tuto knihovnu samozřejmě nemá, a tak jeho start FSX může být mnohem rychlejší.

    Tady mě opravdu nenapadá žádná možnost urychlení, kromě promazání těch variant letadel, které moc často na síti používané nejsou. To by ale asi bylo zbytečně pracné a neospravedlnilo by to těch pár sekund, o které by se spouštění zkrátilo.

    OdpovědětSmazat
    Odpovědi
    1. V manuálu se píše:

      You may notice that Flight Sim takes long to load up due to the amount of MTL installed. You can reduce this time by hiding the MTL, which will not affect your Flightsim or IVAO experience. This can be done by visiting Start Menu → All Programs → IVAO → IvAp - IVAO Virtual Pilot Client → MTL Hide Aircraft. The following program may take a number of minutes to complete so even if it looks like your PC isn't doing anything, it is. Eventually, the MS-DOS window will open up again.

      třeba pomůže... pomoct může defragmentace disku, pokud je plotnový.

      Nicméně i bez té knihovny load trvá 5 minut což je zatraceně hodně a hledal bych problém v tom proč to trvá tak dlouho.

      S ohledem na to IVAO někdo psal že mu to zpomalilo load FSX asi o 20s, pokud to pak poměrově spočítám na tvé časy, tak load FSX mu trvá 30s + 20s za ivao, což bych bral i jako normální časy.. load FSX kolem 30s.

      Smazat
    2. Ještě jsem si všiml že to celé pravděpodobně běží na mašině s jedním 320GB diskem. Pokud na tom disku běží FSX i systém, tak bych FSX doporučil oddělit na samostatný disk. Ne oddíl, ale skutečně na fyzický disk, tím zátěž, kterou na disk kladou WIN nebude omezovat rychlost čtení pro potřeby FSX.

      Smazat