Parandame perioodi nihkeid ja kuva sujuvuse puudumist mõõtmise põhjal.
Soovite seadet jälgida kindla perioodiga. Soovite vähendada mõõtmiste kaotsiminekut. Soovite, et ekraan reageeriks ka andmete töötlemise ajal. KomuraSoft täpsustab Windowsi rakenduste ajalised nõuded ning toetab disaini, teostust ja muudatusi.
Probleemid, mille kohta võite nõu küsida
- Perioodilise töötluse käivitusintervall on ebaühtlane või nihkub aja jooksul.
- Seadmete jälgimisel või mõõtmisel tekib viivitusi või andmeid läheb kaduma.
- Joonistamine on tõrkuv, kuva uuendamine peatub või rakendus ei reageeri toimingutele.
- Kasutajaliides, side, logimine ja ootamine on omavahel põimunud ning viivituse tekkekoht pole selge.
- Pikaajalisel töötamisel või suure koormuse korral reageerimine halveneb.
Esmalt täpsustame vajalikud ajatingimused
Siin käsitletav pehmereaalaeg (soft real-time) on disain, mis piirab viivitusi ja perioodi ebaühtlust tavalisel Windowsil. See ei ole range reaalaja (hard real-time) garantii, st ei taga, et iga töötlus lõpeb kindlasti tähtaja jooksul.
Selgitame välja sihtperioodi, lubatud viivituse, töötluse, mille võib vahele jätta, ja andmed, mis tuleb säilitada, sihtarvuti ning koormustingimused. Seejärel otsustame, mida mõõta ja millistel tingimustel parandust hinnata.
Arendus ja parendused, mida teeme
Perioodiline töötlus ja seadmete jälgimine
Vaatame üle Timeri, pollimise, ootamise viisi ja sündmustest teavitamise ning kaalume vajalikule perioodile sobivat ülesehitust. Seadmesideme puhul hõlmab disain ka ajalõppe, taasühendumist ja tõrgete tuvastamist.
Joonistamine ja toimingutele reageerimine
Eraldame kasutajaliidese uuendamise, joonistamise ja taustatöötluse ning uurime koormust, mis kuva ja toiminguid segab. Kontrollime kuvamissageduse ja töötluse mahu tasakaalu ning vähendame sujuvuse kadumist ja reageerimise seisakuid.
Mõõtmine ja pikaajaline töö
Loome logid ja mõõtepunktid, mis võimaldavad töötlus- ja ooteaega jälgida. Kontrollime pikaajalise töö käitumist, sealhulgas Generic Hosti / BackgroundService’i jms abil tehtava töötluse käivitamist ja peatamist, tühistamist ning erandite käsitlemist.
Kuidas töö kulgeb
- Otsustame eesmärgid ja tingimused. Täpsustame perioodi, viivituse, sihtseadmed, koormuse ja eelistatud töötluse.
- Mõõdame viivitusi. Eristame side, ootamise, joonistamise, logimise ja muud töötluse ning kontrollime, kus aega kulub.
- Parandame ülesehitust. Vaatame põhjusele vastavalt üle töötluse jaotuse, ootamise viisi ja andmete edastamise.
- Võrdleme samadel tingimustel. Mõõdame enne ja pärast muudatusi, kontrollime pikaajalist tööd ning selgitame välja, mida õnnestus parandada ja millised piirangud jäävad.
Nõu võite küsida juba etapis, kus soovite otsustada, „kui kaugele Windowsis jõuda saab“. Andke palun teada praegune sümptom ning sihtperiood ja reageerimisaeg, kui need on teada.