Keresés

Új hozzászólás Aktív témák

  • HSM

    félisten

    válasz FLATRONW #74 üzenetére

    Oké, teljes nálad a képzavar, sorry.

    Ugyanakkor közben fellapoztam a Wiki-t hátha ott találok valami kisbetűs részt... Tényleg találtam.
    "Triple buffering

    In computer graphics, triple buffering is similar to double buffering but provides a speed improvement. In double buffering the program must wait until the finished drawing is copied or swapped before starting the next drawing. This waiting period could be several milliseconds during which neither buffer can be touched.

    In triple buffering the program has two back buffers and can immediately start drawing in the one that is not involved in such copying. The third buffer, the front buffer, is read by the graphics card to display the image on the monitor. Once the monitor has been drawn, the front buffer is flipped with (or copied from) the back buffer holding the last complete screen. Since one of the back buffers is always complete, the graphics card never has to wait for the software to complete. Consequently, the software and the graphics card are completely independent, and can run at their own pace. Finally, the displayed image was started without waiting for synchronization and thus with minimum lag.[1]

    Due to the software algorithm not having to poll the graphics hardware for monitor refresh events, the algorithm is free to run as fast as possible. This can mean that several drawings that are never displayed are written to the back buffers. This is not the only method of triple buffering available, but is the most prevalent on the PC architecture where the speed of the target machine is highly variable.

    Another method of triple buffering involves synchronizing with the monitor frame rate. Drawing is not done if both back buffers contain finished images that have not been displayed yet. This avoids wasting CPU drawing undisplayed images and also results in a more constant frame rate (smoother movement of moving objects), but with increased latency.[1] This is the case when using triple buffering in DirectX, where a chain of 3 buffers are rendered and always displayed.

    Triple buffering implies three buffers, but the method can be extended to as many buffers as is practical for the application. Usually, there is no advantage to using more than three buffers."
    [link]

    Tehát nemcsak az a mód van, amit említettem, ami a normális tripla bufferes működés, hanem van a DX-féle agytalan marhaság, ami minden képkockát megjelenít, tehát gyakorlatilag is majdhogynem dupla pufferként működtetve a tripla puffert. Zseniális ötlet, köszönjük MS. :C

    Legalább ma is tanultam valamit, és megvilágosodtam, miért van a DX-es PC-játékok döntő többségében csak egyféle V-sync opció. ;]

  • HSM

    félisten

    válasz FLATRONW #69 üzenetére

    Bocs, de valamit állatira félreértettél. Legalább két puffer mindig van, a kérdés csak az, V-sync-el vagy anélkül. Kikapcsolt V-sync-el annyi FPS-ed lehet max, amennyi a képernyő frissítési frekvenciája, általános esetben tehát 60hz/60FPS. Valóban, 3 puffernek csak V-sync mellett van értelme. ;)

    Másfelől, tripla buffernél is csak az aktuális frontbuffer cserék számítanak, tehát FPS-re ugyanazt méri.

  • HSM

    félisten

    válasz FLATRONW #64 üzenetére

    Ja, értem, így okés, és többet fogyaszt akkor tripla bufferrel értelemszerűen, kevesebb az üres ciklus a VGA-nak. ;)

    (#65) FLATRONW: Miért ne lehetne? :U Gyakorlatilag akárhány FPS lehet dupla pufferrel is 0 és a képfrissítési frekvencia között. Mondok egy példát. Egy másodpercet nézünk, 60hz monitort, a gép 50 képet legyárt, drabonként 12ms alatt. Ez azt jelenti, hogy a 60hz-hez tartozó 16,6ms-be belefér mindegyik, eddig elelt akkor ~833ms. Most bekerült valami nagy ronda számolásigényes effekt a képbe, a gép már csak 18ms alatt tud képeket prezentálni, azaz a maradék 177ms-ben már csak 33,3ms-enként lesz új kép, azaz még 5 kép fog beleférni a másodpercbe. Azaz dupla pufferrel eltelt az 1000ms, és 55 kép, azaz frame, tehát 55FPS jön arra az egy másodpercre. (Ugye az FPS az a frame/sec rövidítése.)

    (#66) HussarF: Na igen. :D

  • HussarF

    addikt

    válasz FLATRONW #64 üzenetére

    Ez aranyos, de a pillanatnyi fogyasztás (teljesítmény) már pont egy ilyen levetítés 1 sec-re :D Ha te kiszámoltad egy órára, hogy lásd, hogy óránként ennyit fogyaszt akkor tulajdonképpen a Wh-t egy órára leosztottad ->Wh/h = W

    :D

  • HSM

    félisten

    válasz FLATRONW #62 üzenetére

    A Wh az az mutatja, hogy 1Watt pillantnyi teljesítmény egy órán keresztül. Itt nem az elfogyasztott villamos energiát mérted meg (ami a Wh lenne), hanem a pillantnyi fogyasztást, aminek a mértékegysége helyesen a Watt. Ennél egyértelműbben nem tudom neked leírni. :W

    "Hogyhogy nincs olyan, hogy 45 fps-t számol a kártya 30 helyett?"
    Egyszerűen azért, mert nem így működik. :) Attól, hogy tripla buffer, még nem fog 30 helyett 45-öt számolni. Igazából azt sem értem, ezt hogy gondoltad. :)

    A Tomb Raidert én is meglestem, de minden jel arra utal, hogy nem működik benne a tripla buffer. ;)

  • FLATRONW

    őstag

    válasz FLATRONW #59 üzenetére

    Annyit hozzátennék, hogy némi fogyasztás különbség abból adódhat, hogy pl. tripla buffer esetén 45 fps-t számol a kártya és nem 30-at. Azonban ez nem változtat a lényegen, hogy azonos fps esetén egyforma a fogyasztás.

    Még egy dolog, amit korábban is írtam, a fogyasztást csak a kiszámolt képkockák száma határozza meg. Ennek semmi köze nincs a v-synchez. Kikapcsolt v-sync és 60 fps limitre állítva sem fogyasztott többet a rendszer.

  • HSM

    félisten

    válasz FLATRONW #49 üzenetére

    Pont tévedés. Tripla buffernél a 2 háttér buffer pontosan úgy működik, mint a kikapcsolt V-sync-nél a háttér és a képbuffer, csak a képbuffer van szinkronizálva, a háttérben a VGA ugyanúgy pihenés nélkül dolgozik tripla buffernél.

    (#50) hugi0: Jó gondolatok. :K Ezért is gázos a Vsync, ha 60 alá esik az FPS 60hz monitoron, mert nem 16ms múlva kapod a következő képet, hanem 33ms múlva, ami már érzékelhető leakadás. Ugyanakkor ha a VGA-d 100FPS körül tud (azaz 10ms-enként számol ki egy képet), akkor elméletileg kikapcsolt V-sync-el 6ms-el előbb kerülhet megjelenítésre az értékes információ. Szerintem nem ezen fog múlni, lelövöd-e az ellent. :N De tény és való, egy plussz késleltetést okoz.

Új hozzászólás Aktív témák

Hirdetés