Kolísání periody a trhavé zobrazení zlepšíme na základě měření.
Chcete sledovat zařízení v pevné periodě. Chcete omezit vynechaná měření. Chcete, aby aplikace reagovala i během zpracování dat. KomuraSoft Vám pomůže upřesnit požadavky na časové chování aplikací pro Windows a podpoří jejich návrh, implementaci i úpravy.
Jaké problémy s námi můžete konzultovat
- Interval spouštění periodických úloh kolísá nebo se v průběhu času postupně vzdaluje od požadované periody.
- Při sledování zařízení nebo měření dochází ke zpoždění či vynechání měření.
- Vykreslování je trhavé, aktualizace zobrazení se zastaví nebo aplikace přestane reagovat na ovládání.
- Uživatelské rozhraní, komunikace, logování a čekání se vzájemně ovlivňují a není jasné, kde zpoždění vzniká.
- Při dlouhodobém provozu nebo za vysokého zatížení se odezva zhoršuje.
Nejprve upřesníme potřebné časové podmínky
Soft real-time, o kterém zde mluvíme, znamená návrh, který v běžném systému Windows omezuje zpoždění a kolísání periody. Neposkytujeme záruku hard real-time, tedy záruku, že se všechny úlohy vždy dokončí v termínu.
Upřesníme cílovou periodu, přípustné zpoždění, úlohy, které lze vynechat, data, která je nutné uchovat, cílové počítače a podmínky zatížení. Na tomto základě určíme, co se bude měřit a za jakých podmínek se bude zlepšení hodnotit.
Vývoj a zlepšení, která zajišťujeme
Periodické zpracování a sledování zařízení
Přehodnotíme časovače, dotazování, způsob čekání a oznamování událostí a navrhneme architekturu, která odpovídá požadované periodě. U komunikace se zařízeními navrhujeme i časové limity, opětovné připojení a detekci poruch.
Vykreslování a odezva ovládání
Oddělíme aktualizaci uživatelského rozhraní, vykreslování a zpracování na pozadí a zjistíme, jaká zátěž brání zobrazení a ovládání. Ověříme vyváženost mezi frekvencí zobrazování a objemem zpracování a omezíme trhavé zobrazení i zasekávání odezvy.
Měření a dlouhodobý provoz
Zavedeme logy a měřicí body, z nichž lze sledovat dobu zpracování a čekání. Včetně spouštění a zastavování úloh, rušení a zpracování výjimek pomocí Generic Host / BackgroundService a podobných prostředků ověříme chování při dlouhodobém provozu.
Jak zakázka probíhá
- Stanovíme cíle a podmínky. Upřesníme periodu, zpoždění, cílová zařízení, zatížení a úlohy s vyšší prioritou.
- Změříme zpoždění. Rozdělíme komunikaci, čekání, vykreslování, logování a další zpracování a zjistíme, kde se ztrácí čas.
- Zlepšíme architekturu. Podle příčiny přehodnotíme rozdělení úloh, způsob čekání a předávání dat.
- Porovnáme za stejných podmínek. Provedeme měření před úpravou a po ní a ověření při dlouhodobém provozu a shrneme, co se zlepšilo a jaká omezení zůstávají.
Poradit se s námi můžete už ve fázi, kdy chcete zjistit, „jak daleko lze ve Windows zajít“. Sdělte nám současné příznaky a cílovou periodu či dobu odezvy, pokud je máte určenou.