eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwDlaczego dominuje canvas nad svg?
Ilość wypowiedzi w tym wątku: 6

  • 1. Data: 2018-08-11 23:57:00
    Temat: Dlaczego dominuje canvas nad svg?
    Od: Marek S <p...@s...com>

    Witam,

    Gdy patrzę na strony z jakimiś grami, rysowaniem czegoś tam i generalnie
    używa się canvas, sporadycznie SVG. Zapewne czegoś nie wiem więc
    wytłumaczcie mi to. Poniżej moje przemyślenia, być może fałszywe.

    Canvas nie jest w żaden sposób interaktywne z tym co zostało narysowane
    na nim. Np. gdy narysujemy 2 prostokąty, to nie wiadomo, który z nich
    został kliknięty. W SVG każdy obiekt ma swoją obsługę zdarzeń (podobną
    do elementów HTML) więc może oprogramowanie interakcji z użytkownikiem
    jest banalne.

    W canvas aby wykonać przemieszczenie jakiegokolwiek obiektu trzeba
    narysować wszystko od początku plus przemieszczony obiekt. W SVG możemy
    dowolnie poruszać obiektem bez odrysowywania czegokolwiek.

    Canvas to bitmapa więc nie jest skalowalna. SVG to wektor.

    Wydaje mi się, że canvas jest fajne gdy chcemy narysować słupki
    prezentujące dane np. z Excela, choć to samo i w SVG można osiągnąć bez
    przyrostu nakładu pracy.

    Nawet narzędzie Adobe Animation, które miało zstąpić Flasha bazuje na
    canvas. I to pomimo bliźniaczego podobieństwa technologii Flash i SVG,
    Adobe zdecydował się na bazowanie na nieinterakcyjnym canvas.

    Czy z tego wynika, że SVG jest umierającą technologią? Niby W3C po wielu
    latach ignorowania technologii SVG pierdnęło w lipcu 2018 coś na temat
    wersji 2.0 lecz wniosek stąd płynący jest taki, że jest to technologia
    a'la kula u nogi. W przeglądarkach podstawowa funkcja drag and drop
    supportowana jest tylko przez Edge. To też dowodzi niszowości SVG.
    Dlaczego tak?

    --
    Pozdrawiam,
    Marek


  • 2. Data: 2018-08-12 11:24:44
    Temat: Re: Dlaczego dominuje canvas nad svg?
    Od: Roman Tyczka <n...@b...no>

    On Sat, 11 Aug 2018 23:57:00 +0200, Marek S wrote:

    > Gdy patrzę na strony z jakimiś grami, rysowaniem czegoś tam i generalnie
    > używa się canvas, sporadycznie SVG. Zapewne czegoś nie wiem więc
    > wytłumaczcie mi to. Poniżej moje przemyślenia, być może fałszywe.
    [..]
    > Dlaczego tak?

    Nie wiem, ale się wypowiem :-P
    Pewnie chodzi o wydajność.

    --
    pozdrawiam
    Roman Tyczka


  • 3. Data: 2018-08-12 14:06:59
    Temat: Re: Dlaczego dominuje canvas nad svg?
    Od: s...@g...com

    > Dlaczego tak?

    Wiele "dobrze rokujących" technologii zostało zaoranych tylko z tego względu, że było
    realnymi odpowiednikami technologii kosmitów (tych złych, czyli Ufoli). Tak było z
    Amigą, Xhtml, MathMl, C++ i Qt (jeszcze żyje... - ciekawe jak długo). Generalnie jest
    tak, że jak coś jest "dobre" to nie wystarczy i trzeba wpakować w upowszechnienie
    standardu drugie tyle wysiłku (a może jeszcze więcej) niż wymagało opracowanie danej
    technologii.


  • 4. Data: 2018-08-12 21:45:53
    Temat: Re: Dlaczego dominuje canvas nad svg?
    Od: Marek S <p...@s...com>

    W dniu 2018-08-12 o 11:24, Roman Tyczka pisze:

    > Nie wiem, ale się wypowiem :-P
    > Pewnie chodzi o wydajność.

    Nie bardzo sobie ją wyobrażam. Wyobraźmy sobie, że narysowałem 100
    prostokątów na canvas i jeden z nich chcę przesunąć o 1px. No to wtedy
    kasuję cały canvas i odnowa rysuję wszystkie 100 prostokątów z jednym
    przesuniętym. A teraz animacja tego prostokąta 25 klatek na sekundę...
    Nie ma jak tego sprzętowo przyspieszać

    W SVG masz normalną akcelerację sprzętową obiektów.

    --
    Pozdrawiam,
    Marek


  • 5. Data: 2018-08-13 09:31:08
    Temat: Re: Dlaczego dominuje canvas nad svg?
    Od: Roman Tyczka <n...@b...no>

    On Sun, 12 Aug 2018 21:45:53 +0200, Marek S wrote:

    >> Nie wiem, ale się wypowiem :-P
    >> Pewnie chodzi o wydajność.
    >
    > Nie bardzo sobie ją wyobrażam. Wyobraźmy sobie, że narysowałem 100
    > prostokątów na canvas i jeden z nich chcę przesunąć o 1px. No to wtedy
    > kasuję cały canvas i odnowa rysuję wszystkie 100 prostokątów z jednym
    > przesuniętym.

    Dlaczego niby tak? W Windows GUI jest też rysowane na canvasie, też
    bitmapowo a nie wektorami. Gdy masz takie 100 prostokątów narysowane i
    chcesz jeden przesunąć to przerysowujesz tylko obszar na którym jest ten
    prostokąt, a nie cały canvas.

    > A teraz animacja tego prostokąta 25 klatek na sekundę...
    > Nie ma jak tego sprzętowo przyspieszać
    >
    > W SVG masz normalną akcelerację sprzętową obiektów.

    I na czym polega akceleracja SVG?


    --
    pozdrawiam
    Roman Tyczka


  • 6. Data: 2018-08-13 22:30:10
    Temat: Re: Dlaczego dominuje canvas nad svg?
    Od: Marek S <p...@s...com>

    W dniu 2018-08-13 o 09:31, Roman Tyczka pisze:

    > Dlaczego niby tak? W Windows GUI jest też rysowane na canvasie, też
    > bitmapowo a nie wektorami. Gdy masz takie 100 prostokątów narysowane i
    > chcesz jeden przesunąć to przerysowujesz tylko obszar na którym jest ten
    > prostokąt, a nie cały canvas.

    Jasne, lecz teraz bardziej realistyczny schemat działania. Trudno
    przewidzieć jaki fragment bitmapy będzie modyfikowany. Jest jakaś gra,
    leci chmurka, użytkownik oddziałuje na jakieś elementy tego obrazu,
    słowem: dzieje się. Jak teraz decydować jakie obszary cache'ować i
    odrysowywać? Zadanie wydaje się niewykonalne. W canvas masz funkcje save
    i restore. Musisz zadecydować co jest statyczne a co nie. W dodatku
    ginie w tym informacja o z-order więc cacheowanie czegokolwiek jest
    pozbawione sensu w bardziej złożonych sytuacjach niż np. rysowanie wykresu.

    >> A teraz animacja tego prostokąta 25 klatek na sekundę...
    >> Nie ma jak tego sprzętowo przyspieszać
    >>
    >> W SVG masz normalną akcelerację sprzętową obiektów.
    >
    > I na czym polega akceleracja SVG?

    Np. na użyciu "transform" i pochodnych.

    http://serversideguy.com/2018/04/30/can-svg-animatio
    ns-use-less-cpu/

    Mam głównie na myśli nie dbanie o redraw fragmentów grafiki lecz o
    całość animacji, w której trudno przewidzieć co się rusza a co jest
    statyczne.

    --
    Pozdrawiam,
    Marek

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: