eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingsoftwarowy rasteryzer na drugim rdzeniu ?Re: softwarowy rasteryzer na drugim rdzeniu ?
  • Data: 2012-09-12 11:33:15
    Temat: Re: softwarowy rasteryzer na drugim rdzeniu ?
    Od: kenobi <p...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu środa, 12 września 2012 10:42:57 UTC+2 użytkownik Wojciech Sura napisał:
    > W dniu 12.09.2012 o 09:46 kenobi <p...@g...com> pisze:
    >
    >
    >
    > > Niedawno na warsztacie jeden z kolegow niezadowolony
    >
    > > z opengl'a i sprzetowego 3d zakrzyknal ze postawi
    >
    > > sobie na drugim rdzeniu softwarowy rasteryzer a gpu
    >
    > > ciepnie w uj (jak to teraz mówią)
    >
    > >
    >
    > > B ciekawy pomysł.
    >
    >
    >
    > Bardzo durny pomysł. Jego rasteryzator będzie korzystał z jednego rdzenia
    >
    > procesora ogólnego przeznaczenia. Karta graficzna ma (na przykład moja)
    >
    > przeszło 380 (fizycznych) rdzeni wyspecjalizowanych w operacjach
    >
    > graficznych (m.in. obliczenia na macierzach i wektorach). Niby dlaczego
    >
    > miałby to być ciekawy pomysł? Karty graficzne powstały właśnie dlatego, że
    >
    > procesor nie wyrabiał się w czasie z tak dużą liczbą operacji graficznych.
    >
    >

    Ciekawe jest to z kilku powodów i ciezko wymienic
    dlaczego to jest ciekawe, Problemem zdaje sie
    zreszta nie relacja mocy "softwarowy rasteryzer
    na jednym rdzeniu" / "opengl na gpu" tylko
    relacja "czas update ramki stanu gry" / "czas
    renderu ramki stanu gry" gdy czas updateGame() >
    czas render() to nie ma deficytu mocy rendera
    wiec nie trzeba wlaczac karty (jest to szczegolny
    przypadek ale godny zainteresowania)

    ps - zastanowilem sie jak mozna zakodowac taka
    komunikacje miedzy agentem gry a agentem renderingu
    (w modelu producer o ktorym juz kiedys pisalem)
    i oto co mi wyszlo


    //synchronizacja agenta gry i agenta renderingu
    // w modelu producer

    game_loop()
    {
    sluza_1 = free;
    sluza_2 = free;


    for()
    {
    if(sluza_1==free)
    {
    sluza_1 = busy;
    UpdateGame(sluza_1);
    sluza_1 = done;
    }

    if(sluza_2==free)
    {
    sluza_2 = busy;
    UpdateGame(sluza_2);
    sluza_2 = done;
    }

    }

    }


    render_loop()
    {

    for()
    {
    if(sluza_1==done)
    {
    Render(sluza_1);
    sluza_1 = free;
    }

    if(sluza_2==done)
    {
    Render(sluza_2);
    sluza_2 = free;
    }

    }

    }


    co smieszne ten kod wyzej prawdopodobnie działał
    by po prostu wprost, bez muteksow i lockow ;-)
    (choc nie zastanawialem sie nad tym ale
    niewykluczone)

    (fir)








Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: