![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 14.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pojawiła się potrzeba narysowania wykresu, modyfikacji, zobaczenia go w różnej skali i tego typu operacji - jakoś sobie poradziłem znalazłem coś o CANVAS i VML i metoda prób i błędów rysuje, ale że jestem mało obeznany z tematem to mam parę pytań
1)co się stanie gdy "puszczę" rysowanie wykresu - czyli zapuszczę cyklicznego ajaxa, który z bazy pobiera ewentualne zmiany stanu i dorysowuje coraz to kolejny odcinek - czy istnieje możliwość przepełnienia np tablicy, zbierającej punkty [x,y] przepełnienia canvasa czy vml-a? Czy gdy na canvasie będzie np 1000 czy 100000 wyrysowanych odcinków to czy będzie to problem dla wydajności? Wiem, że to jest w jakims stopniu uzależnione od sprzetu klienta, ale czy można sprzętowi jakoś ulżyć 2)odświerzanie wykresu np przy przesuwaniu, pomniejszaniu, powiększaniu. Gdy tworzę na canvasie linie złożoną z n-odcinków to mi ją zamyka (nie wiem co robię źle) no to tworzę na razie linię jednoodcinkowe. Czy to jest jakiś problem wydajnościowy, czy lepiej tworzyć linie wieloodcinowe, czy nie ma różnicy dla wydajności? i jak zrobić żeby nie zamykało 3)jako, że danych może być sporo to jak sprawdzić czy JS uciągnie, np mam tablicę, a właściwie strukturę wyglądającą mniej wiecej tak Kod obiekty = new Array(); obiekty[i] = new Object; obiekty[i].id = id;//jakieś id obiektu z bazy - aby można było np po kliku przesłac i pobrac jakieś obiekty[i].kolor = kolor; obiekty[i].punkt = new Array(); obiekty[i].punkt[j] = new Object; obiekty[i].punkt[j].x = x; obiekty[i].punkt[j].y = x; //jako że punkty przychodzą po ID, a nie zawsze każdy obiekt się zmienia, a przychodzą te które się zmieniły to zrobiłem tablicę powiązań powiazania = new Array(); powiazania[id]=i;//id -> id obiektu w bazie. i -> indeks w tablicy obiekty //dzięki temu jak cos przychodzi mogę zrobić tak - np dodac nowy punkt obiekty[powiazania[i]] .punkty[/*OBECNA DLUGOSĆ TABLICY*/]=new Object(); obiekty[powiazania[i]] .punkty[/*OBECNA DLUGOSĆ TABLICY*/].x=y; obiekty[powiazania[i]] .punkty[/*OBECNA DLUGOSĆ TABLICY*/].y=x; czy taka organizacja jest wydajna - czy mozna to jeszcze zoptymalizować poprzez inną organizację no i ile tego może sie pomieścić np - ktoś sobie zapuszcza to na cały dzień i mu się uzbiera np 100MB, albo i 500MB - nie wiem czy to jest moziwe, czy to jest realne, dlatego pytam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Nie wiem, czy to chodzi o coś takiego: http://code.google.com/p/flot/
Cytat 3)jako, że danych może być sporo to jak sprawdzić czy JS uciągnie, np mam tablicę, a właściwie strukturę wyglądającą mniej wiecej tak Jakiś czas temu czytałem, że przeglądarki radzą sobie z tablicami do około 6000 obiektów, ale nie jestem w 100% pewien. Choć wydaje mi się, że już narysowanych elementów nie trzeba już trzymać w pamięci, gdyż zostają one na płótnie. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 16:55 |