Усуваємо зміщення періодів і ривки відображення — на основі вимірювань.
Потрібно відстежувати стан обладнання з постійним періодом. Потрібно зменшити кількість пропущених вимірювань. Потрібно, щоб інтерфейс залишався чутливим навіть під час обробки даних. KomuraSoft допомагає впорядкувати такі вимоги до часових характеристик застосунків для Windows, а також їх спроєктувати, реалізувати й доопрацювати.
Завдання, щодо яких можна проконсультуватися
- Інтервали виконання періодичної обробки нестабільні або поступово зміщуються
- Під час моніторингу обладнання чи вимірювань виникають затримки й пропуски
- Відтворення зображення рветься, оновлення на екрані зупиняється, інтерфейс не реагує на дії
- Інтерфейс, обмін даними, журнали й очікування переплелися, і незрозуміло, де саме виникає затримка
- Відгук погіршується під час тривалої роботи або за високого навантаження
Спочатку визначаємо потрібні часові умови
Під м’яким реальним часом ми розуміємо проєктування, яке зменшує затримки й розкид періодів у звичайній Windows. Це не гарантії жорсткого реального часу, тобто не гарантія того, що всі операції неодмінно завершаться в межах строку.
Ми уточнюємо цільовий період, допустиму затримку, обробку, яку можна пропускати, і дані, які слід зберігати, комп’ютери, на яких працюватиме застосунок, та умови навантаження. Після цього визначаємо, що вимірювати і за яких умов оцінювати покращення.
Розробка й покращення, які ми виконуємо
Періодична обробка та моніторинг обладнання
Ми переглядаємо таймери, опитування, способи очікування та сповіщення про події й добираємо архітектуру, що відповідає потрібному періоду. Під час обміну даними з обладнанням ми проєктуємо також тайм-аути, повторне підключення та виявлення збоїв.
Відтворення зображення та відгук на дії
Ми розділяємо оновлення інтерфейсу, відтворення зображення та фонову обробку й досліджуємо навантаження, що заважає відображенню й діям користувача. Перевіряємо баланс між частотою відображення та обсягом обробки й зменшуємо ривки та затримки відгуку.
Вимірювання та тривала експлуатація
Ми додаємо журнали й точки вимірювання, за якими можна простежити час обробки та очікування. Перевіряємо також поведінку під час тривалої експлуатації, зокрема запуск і зупинку обробки за допомогою Generic Host / BackgroundService тощо, скасування та обробку винятків.
Як ми працюємо
- Визначаємо цілі та умови. Уточнюємо період, затримку, обладнання, навантаження та пріоритетну обробку.
- Вимірюємо затримки. Розділяємо обмін даними, очікування, відтворення зображення, журнали та інші операції й перевіряємо, де витрачається час.
- Покращуємо архітектуру. З огляду на причини переглядаємо розподіл обробки, способи очікування й передавання даних.
- Порівнюємо за тих самих умов. Виконуємо вимірювання до та після доопрацювання і перевірку тривалої роботи, а потім систематизуємо, що вдалося покращити і які обмеження залишаються.
Проконсультуватися можна ще на етапі, коли потрібно «оцінити, наскільки Windows підходить для вашого завдання». Повідомте про поточні симптоми та, якщо вони є, цільові період і час відгуку.