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ć....
Zasoby komputera
- Pitol
- Moderator
- Posty: 987
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Zasoby komputera
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ą
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.
- Nowszy
- Posty: 504
- Rejestracja: 30 maja 2008 08:33
- Wersja środowiska: LabVIEW 2011
- Lokalizacja: Katowice
- Kontakt:
Zasoby komputera
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.
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
Edu4Industry
Re: Zasoby komputera
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...

- Pitol
- Moderator
- Posty: 987
- Rejestracja: 19 lip 2007 00:00
- Wersja środowiska: LabVIEW 2019
- Lokalizacja: Kraków
Zasoby komputera
eee no, nic nie cieszy bardziej niż własny kawałek kodu
dasz radę, wierzymy w Ciebie!!

- wino
- Posty: 549
- Rejestracja: 23 gru 2005 00:00
- Wersja środowiska: Nie mam LabVIEW
- Lokalizacja: Kraków
Re: Zasoby komputera
a do jakiego rodzaju pliku zapisujesz?
Re: Zasoby komputera
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
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