sobota 7. března 2015

ramdisk

Vzhledem k tomu, že tvůrci FSX nezveřejnili algoritmus, který program resample.exe používá na naimportování grafických souborů do souboru bgl není možné*,  abych do svého programu zahrnul metodu přímého zápisu a konverze pozemních textur do bgl. Proto nejspíš naprogramuju svůj program tak, aby mohl využívat resample.exe. Je to nepříjmená závislost, protože to znamená, že si budete muset nainstalovat FSX SDK nebo jinak opatřit resample.exe a dále budete potřebovat sehnat si program na vytvoření ramdisku z operační paměti. Protože můj program pak bude dělat to, že načte jpg soubory z databáze a ty uloží ve formátu BMP. Následně vytvoří soubor. inf a pak spustí resample.exe aby vytvořil scenérii bgl. Jelikož BMP budou zabírat poměrně dost místa, bylo by dost neefektivní je ukládat na disk a hlavně zbytečné. Proto se určitě vyplatí nainstalovat si RAMdisk. Ramdisk vytvoří z části vaši paměti disk, takže vám sníží kapacitu vaší operační paměti. Jelikož můj program budete používat v po etapách (nejdříve zpracujete obrazy a uložíte je do databáze). Až to budete mít tak budete vytvářet scenérie, tak operace náročné na paměť jsou pouze ty grafické operace. Operace potřebná na převod do bgl by snad neměla vyžadovat tolik paměti. Každopádně pokud budete mít PC s 4GB paměti tak byto mělo stačit. Nevím přesně jak velký disk bude třeba ale myslím, že několik set by bylo dostačující. Nevím jestli resample.exe umí využívat více jader procesoru najednou, ale pokud ne, mohu spustit více procesů najednou a to bude znamenat vyšší nárok na paměť. Čím více jader, tím větší nárok. Pokud teda odhadnu, že program resample bude potřebovat 200MB na jeden proces, tak by to mělo být 800MB pro 4 jádrový procesor. Musíme však počítat i se soubory bmp v paměti.

Na této stránce jsem našel seznam 12ti programů, které toto umí:
12 benchmarked programs for RAMdisk

Nyní teda hledám vhodný program.

SoftPerfect Ramdisk

Tenhle program se mi líbí. Stačí tři kliknutí a disk o velikosti až 4GB je vytvořen. Já si vytvořil na zkoušku disk o velikosti 1024 GB. Ovládání je lehké a vzhled jednoduchý.

Stáhnout ho můžete zde: SoftPerfect Ramdisk (pozor, ta stránka je záludná, je třeba kliknout na tlačítko, které je úplně dole ať nestáhnete nežádoucí program). Pokud chcete kliknout přímo na instalačku: ramdisk_setup.exe
Rychlost je velice slibná:

poznámka z praxe:
Při práci s tímto Ramdiskem jsem rozbaloval archiv zip cca 11MB  4.862 souborů a 1524 složek a když jsem to dělal v rámci jednoho RAMdisku tak se objevila neskutečně dlouhá doba na rozbalení asi hodina a dvacet minut. Proto jsem vytvořil ještě jeden RAMdisk do kterého jsem dal ten soubor na rozbalení a pak jsem to rozbaloval do toho většího RAMdisku. Trvalo to jen 15 minut, ale bylo to tou metodou že to tak dlouho trvalo. Pak překopírování na disk bylo otázkou mžiku. To jen tak abyste věděli že někdy může být lépe vytvořit zvlášť zdrojový a zvlášť cílový RAMdisk. Jo a lidi, nikdy nepoužívejte na takové věci zip, protože ve Winraru jsem to měl zabalené asi za 3 sekundy (rozbalené taksamo), rychlá komprese a přitom archiv zabírá o několik kB méně než zip.

Další Ramdisky

S programy níže jsem už nebyl tak spokojen

Hned z prvního obrázku vídíte jak pomalý je zápis na pevný disk (a čtení z něj) a z dalších obrázků vidíte jak rychlé to je pokud to provádíme jen v rámci paměti.

Zaujal mě tento program jakožto nejrychlejší Ramdisk (freeware): Bond Disc
ale jeho limit je max. 640MB prostoru ramdisku (což není zrovna moc ideální by bylo min. 1GB-2GB).




Lepším programem se zdá být DataRam ramdisk, ten nabízí 4GB v rámci freeware licence, i když nedosahuje tak velké rychlosti jako předchozí program. Tento se mi ale bohužel nepovedlo nainstalovat na Windows XP x86 (ale píšou tam že je třeba x86 nebo x86 a min. Windows server 2003).

Poznámka:

Aktuálně pracuji na zkušebním programu, který načítá hlavičku souboru bgl a zjistil jsem že tam je údaj o kompresi. Není tedy pravda, že metoda komprese je neznámá. Je však otázka jestli najdu způsob jak soubor dekomprimovat. Možná nenajdu, avšak ramdisk se bude každopádně hodit. Můžete si plugin Save images nastavit přímo tak aby vám ukládal obrázky přímo na ten disk, čímž se urychlí celá operace. Zápis na disk totiž bývá pomalejší než čtení z disku, jak můžete vidět na obrázku níže:


čím méně MB/s tím pomalejší ...

Žádné komentáře:

Okomentovat