Zasoby komputera

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
celsjsuz
Posty: 13
Rejestracja: 02 lut 2010 19:22
Wersja środowiska: LabVIEW 8.5

Zasoby komputera

Post autor: celsjsuz »

Witam.. Jak w tytule mam problem z obciążeniem komputera w miarę pracy programu. Program zbiera próbki co 2s (max 20 pomiarów) i zapisuje w 2D Array'a plus wszystkie bajery jakie udało mi się wymyślić (oraz z pomocą kolegów z forum zaimplementować). To znaczy wykres, bargrafy i zapis danych do pliku TXT w kolumnach. Symptomy są następujące: po około 8000 tyś zebranych pomiarach mój Core2Duo zaczyna głośno sapać (obciążenie procesora 79% i wiecej) - wydaje mi się że powodem są te trzymane i na bieżąco odtwarzane (na wykresie XYGraph i w tabeli) tysiące próbek.
Od niedawna zajmuje się LV wiec pewnie jest to wina kulawo napisanego programu. W najbliższym czasie planuje niezależnie od wszystkiego przekształcenie mojego programu w strukturę event'owa - jednakże w kontekście tych tysięcy próbek w pamięci nie sądzę by to działanie jakoś znacząco wpłynęło na opisywany problem.
Można by było skorzystać z jakiejś formy bufora FIFO (znalazłem kilka przykładów na tym forum), kóry utrzymywałby ostatnie 1000 - 2000 pomiarów w pamięci, nadpisujac na bieżąco te starsze.
Problem w tym że, jak już się przekonałem, są sytuacje w których chciałbym wrócić (na wykresie lub w tabeli) do pomiarów z przed powiedzmy godziny, kiedy program nadal zbiera dane...
Da się z tym może coś zrobić....
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Zasoby komputera

Post autor: Pitol »

da się... zebrane próbki zapisuj do pliku, a gdy odświeżasz wykres odczytuj z pliku ;)
poza tym, jeśli odświeżanie wykresów nie jest jakoś wybitnie niezbędne to możesz je wykonywać rzadziej niż próbki przychodzą
Ostatnio zmieniony 20 mar 2010 17:44 przez Pitol, łącznie zmieniany 1 raz.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
Nowszy
Posty: 504
Rejestracja: 30 maja 2008 08:33
Wersja środowiska: LabVIEW 2011
Lokalizacja: Katowice
Kontakt:

Zasoby komputera

Post autor: Nowszy »

Cześć

Trudno ci coś doradzić nie znając twojego programu. Zależnie od twoich wymagań, możesz go napisać tak, żeby nie wszystkie dane były wypisywane na grafie. Gdybyś korzystał z charta, to on ma wbudowaną historię o określonej długości. W przypadku Grapha, trzeba kombinować:
http://digital.ni.com/public.nsf/allkb/ ... 3D006EFF7C

Taka szybka podpowiedź/pomysł - zmniejsz wielkość wyświetlacza na panelu czołowym i sprawdź czy obciążenie spadnie - powinno.
Pozdrawiam, Maciek Antonik
Edu4Industry
celsjsuz
Posty: 13
Rejestracja: 02 lut 2010 19:22
Wersja środowiska: LabVIEW 8.5

Re: Zasoby komputera

Post autor: celsjsuz »

heh ... dokładnie jak kolega powiedział "zapisuj dane do pliku, po czym odczytuj je z pliku na wykres + tabelka :)" + do tego takie FIFO, tak bym mógł zdefiniować ile próbek chciałbym z pliku zaczytać oraz tak bym mógł się poruszać po zapisywanym na bieżąco pliku. Ma może któryś z kolegów kawałek pasowitego kodu...
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Zasoby komputera

Post autor: Pitol »

eee no, nic nie cieszy bardziej niż własny kawałek kodu :) dasz radę, wierzymy w Ciebie!!
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Re: Zasoby komputera

Post autor: wino »

a do jakiego rodzaju pliku zapisujesz?
celsjsuz
Posty: 13
Rejestracja: 02 lut 2010 19:22
Wersja środowiska: LabVIEW 8.5

Re: Zasoby komputera

Post autor: celsjsuz »

Zapisuje, funkcją "Write to txt file" do pliku txt.
Plik tego typu nie rozrasta się to gigantycznych rozmiarów w miarę pracy programu, nawet jeżeli liczba pomiarów idzie w tysiące.
Nie ma też problemu z późniejszym powrzucaniem danych gdziekolwiek by się chciało - np. do Excela
Załączniki
zapis.JPG
ODPOWIEDZ