Tworzenie oprogramowania dla Windows i wsparcie techniczne KomuraSoft

Tworzenie aplikacji Windows działających w trybie miękkiego czasu rzeczywistegoRozjeżdżający się cykl i przycinanie: usprawnienia na podstawie pomiarów.

Zajmujemy się projektowaniem i modyfikacją aplikacji dla systemu Windows do monitorowania, pomiarów i rysowania. Rozdzielamy UI, komunikację, oczekiwanie i obsługę logów oraz sprawdzamy, gdzie powstaje opóźnienie.

Dokumentacja specyfikacji nie jest wymagana. Konsultację można zacząć od tego, co jest znane.

  • Bezpośredni kontakt z inżynierem
  • Konsultacja możliwa przed ustaleniem wymagań
  • Zlecenie tylko w potrzebnym zakresie

Można skonsultować się z nami na takich etapach

Zacznijmy od tego, co sprawia Państwu problem.

Przetwarzanie, które powinno działać w stałym cyklu, stopniowo się rozjeżdża

Mierzymy sposób oczekiwania i czas przetwarzania oraz rozważamy architekturę odpowiednią dla docelowego cyklu.

Ekran zawiesza się podczas komunikacji lub przetwarzania danych

Przeglądamy obciążenie i przekazywanie danych między aktualizacją UI a przetwarzaniem w tle.

Przy dużym obciążeniu pojawiają się opóźnienia i pomijanie zdarzeń lub odczytów

Ustalamy warunki oceny i porównujemy stan przed modyfikacją i po niej w tych samych warunkach.

Z kimś, z kim można porozmawiać o technice wprost, bez upraszczania.

Zdjęcie profilowe Go Komury

Przedstawiciel i inżynier

Go Komura

Inżynier wyspecjalizowany w systemie Windows zajmuje się sprawą od poznania problemu, przez diagnozę i projekt, aż po implementację. Także to, czego nie potrafią Państwo jeszcze w pełni opisać, uporządkujemy, wychodząc od kwestii technicznych.

Zobacz doświadczenie i technologie / Zobacz informacje o firmie

Opublikowane techniczne studia przypadków

Izolowanie przerw w komunikacji z kamerą przemysłową

Porównaliśmy pakiety z zachowaniem systemu operacyjnego, skupiliśmy się na oczekiwaniu na retransmisję TCP i uporządkowaliśmy zmiany konfiguracji oraz procedurę obserwacji.

Przeczytaj o problemie i sposobie diagnozy

Zakres wsparcia

Od wybranej części prac po całość: zakres dobieramy do potrzeb.

Od pojedynczej diagnozy lub modyfikacji po rozwój całej aplikacji. Zakres zlecenia ustalamy zgodnie z Państwa aktualną sytuacją.

Tworzenie aplikacji z przetwarzaniem cyklicznym i monitorujących

Projekt i implementacja monitorowania, pomiarów, odpytywania i przetwarzania okresowego z uwzględnieniem okresu oraz dopuszczalnego opóźnienia.

Ograniczanie opóźnień i rozrzutu okresu

Badamy sposób oczekiwania, zdarzenia, wątki, komunikację i przetwarzanie logów, a następnie wprowadzamy ulepszenia na podstawie pomiarów.

Poprawa renderowania i reakcji na operacje

Rozdzielamy role wątku interfejsu, odświeżania obrazu i przetwarzania w tle, aby ograniczyć zatrzymywanie się wyświetlania i obciążenie.

Integracja z urządzeniami i obsługa długotrwałej pracy

Tworzenie aplikacji monitorujących i pomiarowych z limitami czasu, ponownym łączeniem, wykrywaniem awarii i logowaniem.

Przykłady tego, co sprawdzamy i przekazujemy

  • Uporządkowany cykl, dopuszczalne opóźnienie i warunki oceny
  • Wyniki pomiarów i usprawnione przetwarzanie
  • Porównanie przed modyfikacją i po niej oraz pozostałe ograniczenia

To przykłady zależne od zakresu zlecenia. Zakres i formę rezultatów uzgadniamy przy sporządzaniu wyceny.

Jeśli któryś z tych problemów brzmi znajomo, prosimy najpierw opisać swoją sytuację.

Dokumentacja specyfikacji nie jest wymagana. Konsultację można zacząć od tego, co jest znane.

Koszty i przebieg współpracy

Nie trzeba od razu ustalać wszystkiego.

Zaczynamy od pomiaru stanu obecnego i ustalenia warunków docelowych

Możliwy jest także sam przegląd przetwarzania cyklicznego lub rysowania w istniejącej aplikacji. Zaczynamy od wymaganego cyklu i dopuszczalnego opóźnienia.

Orientacyjne koszty

Wycena zależna od zakresu pomiarów, modyfikacji i rozwoju

Celem jest ograniczenie opóźnień i rozrzutu w zwykłym systemie Windows. To nie jest usługa gwarantująca działanie w trybie twardego czasu rzeczywistego.

Zakres bezpłatnej wstępnej diagnozy i usługi płatne

Wstępna diagnoza w zakresie potrzebnym do sporządzenia wyceny i podjęcia decyzji o przyjęciu zlecenia jest co do zasady bezpłatna, przy założeniu, że w przypadku uznania realizacji za możliwą zlecą Państwo właściwe prace rozwojowe. Długotrwała weryfikacja, budowa dedykowanego środowiska, prototypy i PoC (dowód koncepcji), dostarczenie szczegółowych raportów z diagnozy i podobne prace mogą być płatne.

Jeśli zlecają Państwo samą diagnozę lub przegląd, wyceniamy je jako odrębną usługę płatną. Za każdym razem, gdy usługa jest płatna, przed rozpoczęciem prac informujemy o zakresie i kosztach.

  1. Opis sytuacji

    Prosimy opisać cel, problem i środowisko, którego dotyczy sprawa, w zakresie, w jakim są znane.

  2. Ustalenie zakresu i kosztów

    Przedstawiamy potrzebną diagnozę, zakres wsparcia, rezultaty prac, koszty i sposób prowadzenia prac.

  3. Start po uzgodnieniach

    W trakcie diagnozy lub prac rozwojowych przekazujemy postępy, potwierdzone ustalenia i pozostałe ograniczenia.

  4. Sprawdzenie wyników i przekazanie

    Sprawdzamy wyniki w uzgodnionych warunkach i przygotowujemy wdrożenie lub kolejny krok.

Dla osób, które chcą poznać szczegóły techniczne

Rozwiń obsługiwane technologie i szczegóły przebiegu prac

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

  1. Ustalamy cele i warunki. Porządkujemy okres, opóźnienie, urządzenia, obciążenie i priorytetowe operacje.
  2. Mierzymy opóźnienia. Rozdzielamy komunikację, oczekiwanie, renderowanie, logowanie i inne operacje oraz sprawdzamy, które miejsca zajmują najwięcej czasu.
  3. Poprawiamy architekturę. W zależności od przyczyny zmieniamy podział zadań, sposób oczekiwania i przekazywanie danych.
  4. 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.

Najczęstsze pytania przed zleceniem

Czy jest to usługa zapewniająca gwarancję twardego czasu rzeczywistego?

Nie. Nie gwarantujemy, że na zwykłym systemie Windows wszystkie operacje zawsze zakończą się w wyznaczonym czasie. Porządkujemy wymagany okres, dopuszczalne opóźnienie i warunki obciążenia, a dzięki pomiarom i weryfikacji dążymy do ograniczenia opóźnień oraz ich rozrzutu.

Czy można przejrzeć tylko przetwarzanie cykliczne lub renderowanie istniejącej aplikacji?

Tak. Sprawdzamy zależności między timerami i sposobami oczekiwania, odświeżaniem interfejsu, komunikacją i przetwarzaniem logów, a następnie etapowo poprawiamy miejsca sprawiające problemy. Można zlecić nie tylko nowe oprogramowanie, ale także same pomiary i izolowanie przyczyny.

Czy można zasięgnąć konsultacji, jeśli nie ustalono jeszcze wymaganego okresu ani dopuszczalnego opóźnienia?

Tak, zapraszamy do konsultacji. Sprawdzamy obecne objawy, warunki pracy urządzenia i wpływ na działalność, a następnie ustalamy, co mierzyć i według jakich warunków oceniać poprawę.

Kontakt

Wystarczy kilka zdań o Państwa sytuacji.

Nie potrzebują Państwo szczegółowej dokumentacji specyfikacji ani terminologii technicznej. Prosimy o podanie poniższych informacji w zakresie, w jakim są znane.

  • Problem lub cel, który chcą Państwo osiągnąć
  • Oprogramowanie, urządzenia i środowisko, których sprawa dotyczy
  • Preferowany termin (może być jeszcze nieustalony)

W pierwszej wiadomości nie trzeba dołączać poufnych dokumentów ani haseł.

Przykład wiadomości z prośbą o konsultację

Cykl monitorowania urządzenia jest niestabilny, a ekran czasem się zawiesza. Chcemy skonsultować, co zmierzyć, zaczynając od przeglądu istniejącego przetwarzania.

Dokumentacja specyfikacji nie jest wymagana. Konsultację można zacząć od tego, co jest znane.

Przycisk konsultacji otwiera polską stronę kontaktową ze sposobami nawiązania kontaktu. „Skonsultuj się e-mailem” tworzy wiadomość e-mail z nazwą usługi.