Odchylenia okresu i zacinanie się wyświetlania poprawiamy, zaczynając od pomiaru.
Chcą Państwo monitorować urządzenie w stałym okresie. Chcą ograniczyć liczbę pominiętych pomiarów. Chcą zachować reakcję ekranu także podczas przetwarzania danych. KomuraSoft porządkuje takie wymagania czasowe aplikacji dla systemu Windows i wspiera ich projektowanie, implementację oraz modyfikacje.
Problemy, z którymi można zwrócić się do nas o konsultację
- Odstępy między wykonaniami zadań okresowych są nierówne albo z czasem się przesuwają.
- Podczas monitorowania urządzeń lub pomiarów występują opóźnienia albo pomijane są dane.
- Wyświetlanie się zacina, odświeżanie ekranu zatrzymuje się albo aplikacja przestaje reagować na operacje.
- Interfejs, komunikacja, logowanie i oczekiwanie wzajemnie się splatają, więc nie wiadomo, gdzie powstaje opóźnienie.
- Przy długotrwałej pracy lub dużym obciążeniu pogarsza się czas reakcji.
Najpierw ustalamy wymagane warunki czasowe
Przez miękki czas rzeczywisty rozumiemy tu projekt ograniczający opóźnienia i rozrzut okresu na zwykłym systemie Windows. Nie jest to gwarancja twardego czasu rzeczywistego, czyli zapewnienie, że wszystkie operacje zawsze zakończą się w wyznaczonym terminie.
Porządkujemy docelowy okres, dopuszczalne opóźnienie, operacje, których pominięcie jest dopuszczalne, i dane, które trzeba zachować, a także docelowe komputery i warunki obciążenia. Następnie ustalamy, co będziemy mierzyć i według jakich warunków ocenimy poprawę.
Zakres prac programistycznych i usprawnień
Przetwarzanie cykliczne i monitorowanie urządzeń
Przeglądamy timery, odpytywanie, sposoby oczekiwania i powiadomienia o zdarzeniach, a następnie rozważamy architekturę odpowiednią do wymaganego okresu. W komunikacji z urządzeniami uwzględniamy w projekcie także limity czasu, ponowne łączenie i wykrywanie awarii.
Renderowanie i reakcja na operacje
Rozdzielamy aktualizację interfejsu, renderowanie i przetwarzanie w tle oraz sprawdzamy, jakie obciążenie przeszkadza w wyświetlaniu i obsłudze. Weryfikujemy równowagę między częstotliwością odświeżania a ilością przetwarzania, aby ograniczyć zacinanie się i zatrzymywanie reakcji.
Pomiar i długotrwała praca
Wprowadzamy logi i punkty pomiarowe pozwalające śledzić czas przetwarzania i oczekiwania. Sprawdzamy zachowanie podczas długotrwałej pracy, w tym uruchamianie i zatrzymywanie przetwarzania, jego anulowanie oraz obsługę wyjątków, np. z użyciem Generic Host / BackgroundService.
Jak prowadzimy zlecenie
- Ustalamy cele i warunki. Porządkujemy okres, opóźnienie, urządzenia, obciążenie i priorytetowe operacje.
- Mierzymy opóźnienia. Rozdzielamy komunikację, oczekiwanie, renderowanie, logowanie i inne operacje oraz sprawdzamy, które miejsca zajmują najwięcej czasu.
- Poprawiamy architekturę. W zależności od przyczyny zmieniamy podział zadań, sposób oczekiwania i przekazywanie danych.
- Porównujemy w tych samych warunkach. Wykonujemy pomiary przed zmianami i po nich oraz sprawdzamy długotrwałą pracę, a następnie porządkujemy to, co udało się poprawić, i pozostałe ograniczenia.
Można zasięgnąć konsultacji już na etapie, gdy chcą Państwo „ocenić, na ile da się to zrealizować w systemie Windows”. Prosimy o informację o obecnych objawach oraz docelowym okresie i czasie reakcji, jeśli są ustalone.