Vlákno názorů k článku Grafické karty a grafické akcelerátory (30) od RayeR - Dobrej napad, jen by me zajimalo jesi nevadi...

  • Článek je starý, nové názory již nelze přidávat.
  • 5. 10. 2005 13:37

    RayeR (neregistrovaný)
    Dobrej napad, jen by me zajimalo jesi nevadi zatemneni na koncich radku a konci snimku. Kdyz budu mit nakej vektor zapsanej vice jak v jednom radku framebufferu, tak pri preskoku na dalsi radek grafika zatemni a chvilku neposila nic (cernou), takze se mi vektor na okamzik prerusi nez se zas zacne cist z dalsiho radku FB. To samy pri prechodu z konce snimku na zacatek.

    ad rychlost elstat. obrazovky - ja myslim ze samotna obrazovka nema zadnej frekvencni limit, pac je to temer idealni bezeztratovej vakuovej kondenzator. Kapacita vych. desticek je v jednotkach pF, coz pri nizsich frekvencich je obrovska impedance, pri tom 1GHz uz to zas tak neplati, reaktance v radu desitek ohmu. Vzhledem k tomu ze na vychylovani je potreba stovky V, tak asi nebude uplne jednoduchy vyrobit zeslilovac s tak obrovskym prebehem a malou vystupni impedanci.

    ad TV obrazovka - ano, vertikalni a horizontalni vychylovaci civky maj radove rozdilnou indukcnost,
    ten osciloskop je na to asi fakt nejlepsi. Kdyz sem zkoumal ten svuj, tak sem vzadu nasel BNCak "intens. mod." takze si nekdy zkusim pohrat.
  • 5. 10. 2005 14:49

    Pavel Tišnovský
    Zlatý podporovatel
    To zatemneni je opravdu v nekterych pripadech patrne. Sice to nemusi byt uplne zatemneni (nejsme v televizi, tady mame vlastni synchro signaly), ale nektere karty opravdu posilaji cernou a ignoruji border color. Proto se take lidi snazi nepouzivat primo VESA rezimy, ale nabastli si nejakej vlastni rezim, kde je synchronizace co nejvice casove stlacena (a kde maji opravdu linearni framebuffer, tj. width*3=pitch). Pokud se synchronizace stahne pod cca 5us, uz to nebude tak hrozne.

    U toho dotazu na osciloskopy jsem narazel prave na ty zesilovace a kapacitu desticek. Ony se i jednotky pF na GHz musi projevit, ne?

    Ten vstup "intens. mod." by opravdu mohl ridit intenzitu el. paprsku. Ted si to jeste chce pohrat s tlacitky vepredu (:-) a vektorovy displej je na svete (predpokladam, ze mate vyvedene i horizontalni rizeni, nekdy to take byva vzadu, nekdy na druhem kanalu).
  • 6. 10. 2005 10:12

    Frn (neregistrovaný)
    "Kdyz budu mit nakej vektor zapsanej vice jak v jednom radku framebufferu, tak pri preskoku na dalsi radek grafika zatemni a chvilku neposila nic (cernou), takze se mi vektor na okamzik prerusi"

    Ale to přece není problém - akorát si vektor A -> B převedu na dva vektory A->C a C->B, které bezprostředě navazují. První část (A->C) pak nechám na jednom mikrořádku, druhou C->B na druhém. Mezitím sice proběhne zatemňovací pulz na VGA, ale při dobrém návrhu mi současně zhasne i analogový displej a jakmile to půjde, začne se zase kreslit dál jako by se nechumelilo :)
  • 7. 10. 2005 12:39

    RayeR (neregistrovaný)
    Jo asi mas pravdu, jde jen o to jesi ta analogova cast je tak presna ze pri opakovanym zadani stejnyho bodu (digitalne) se vzdy trefi do stejnyho bodu i na stinitku. Blikani by vadit nemelo, stejne jako nam nevadi na normalnim monitoru.

    Jak tak premejslim, tak pro ucely ladeni na PC by se dalo vlastne i kreslit jako vertikalni split-screen.
    V levy pulce obrazovky by se vykreslily data pro vektorovej displej zatimco v pravy pulce by se dalo
    vykreslit/vypsat cokoliv jinyho za podminky, ze barevnej kanal ovladajici jas by byl porad 0, takze vektorovej displej by byl v tu chvili zhaslej (akorat by tim klesnul celkovej jas)...
  • 7. 10. 2005 13:02

    Pavel Tišnovský
    Zlatý podporovatel
    S analogovou casti by nemel byt problem, tech osm bitu by mela prevest docela presne (i kdyz je pravda, ze jednobitovou chybu nemate na normalnim monitoru sanci poznat a dokonce jsem cetl, ze vetsina LCDcek je stejne pouze sestibitova). V nejhorsim pripade se tam da vrazit externe synchronizovany sample & hold, ale to je myslim v tomto pripade zbytecne.

    S tim ladenim to zni docela dobre, skoda ze to nemuzu vyzkouset. Nevim, jestli ten cas na vykresleni (cerneho) polovicniho radku neni tak dlouhej, aby vektorovy displej moc nepohasinal, ale to se prece da jednoduse spocitat :-)
  • 7. 10. 2005 13:35

    RayeR (neregistrovaný)
    No ja nevim, podvedome ve me furt hloda ze se tam objevi naka nespojitost...
    Uvazuju ze zhasinani paprsku reakuje okamzite. kdyz kreslim ten vektor nekde
    na kraji obrazovky, rekneme souradnice 1000,1000 pak najednou pride konec radku FB,
    zatemneni, souradnice se skokem zmeni na 0,0.

    Na zacatku novyho radku se zas bude pokracovat ze souradnice 1000,1000, paprsek
    se rosviti ihned, ale imho mu chvili potrva nez se dostane z 0,0 na 1000,1000
    (nejhorsi pripad - diagonalne pres cely stinitko). Kdyz si vemu ze bodova frekvence
    je treba 60MHz, tak to ten paprsek bude muset stihnout za 16ns.
  • 7. 10. 2005 14:10

    Pavel Tišnovský
    Zlatý podporovatel
    Jde o to, jestli si te nespojitosti nekdo vubec ma sanci vsimnout, protoze v dalsim snimku se to projevi nekde uplne jinde - samozrejme krome pripadu, kdy je pocet vektoru jak na potvoru roven nasobkum obrazoveho radku graficke karty. Takze tam treba budou nastavat nejaka zabliknuti, ale v dalsi n-tine sekundy uz zase ne a ono se to (IMHO) diky dosvitu luminoforu nejak srovna. [zkuste si treba delat screenshoty obrazovky pri presunu celych oken se zobrazenim obsahu - napriklad jeden nejmenovany OS to s mnoha ovladaci nezvlada a v jednom snimku okno "prerizne" a dolni cast okna posune i o nekolik centimetru].

    Misto bodove frekvence je lepsi v teto souvislosti mluvit o rychlosti vykreslovani (ve smyslu X metru vektoru za sekundu), bodovou frekvenci grafickych karet je mozne menit v pomerne sirokem rozsahu, ale obrazovky to nebudou stihat vychylovat (viz horni cast diskuse na tema kmitoctovy rozsah osciloskopu).
  • 7. 10. 2005 14:15

    Frn (neregistrovaný)
    No a proč bycg nemohl _napřed_ opakovaně generovat požadavek na přesun paprsku na sořadnice 1000,1000 (s nulovým jasem), abych dal šanci "ustálení" proudu ve vychylovacích cívkách ?

    Pokud bude tok dat z VGA dostatčně velký (tj. např. 1024 bodů na mikrořádek) a "synchropulz" na VGA dostatečně malý (např. čas odpovídající 10 bodům), pak si popsaným způsobem můžu obětovat 12 bodů na začátku dalšího mikrořádku (a nacpat do nich souřadnice 1000;1000;0).

    Pokud bude vychylování rychlé, bude to stačit na vrácení paprsku na požadované místo (+ ustálení - odstranění přeběhu; proto ty 2 body navíc). Pokud se ale bude paprsek pohybovat pomaleji, pak mi za !10 bodů synchropulzu" moc daleko neuteče a můžu čekat, že se během 12-ti bodovéhho požadavku na návrat stihne vrátit.

    Takže nespojitosti bych se zase tak moc nebál :)
  • 7. 10. 2005 16:14

    RayeR (neregistrovaný)
    Ale jak ja reknu karte aby mi pri zatemneni posilala 1000,1000,0? Sem myslel ze pri zatemneni je proste temno (na RGB vystupech je uroven odpovidajici cerny [nebo cernejsi jak cerny]) a nemam moznost tohle ovlivnit. Kdybych dostaval data cislicove, tak bych si je jednoduse dal na konci radku do zachytnyho registru, kerej by pres prevodniky posilal behem zatemneni stale stejnou hodnotu a pak by se pokracovalo. Ale to uz se pak muzu vykaslat na VGA.

    A pockat, uz sem to asi pochopil co bylo mysleno - ten prechodak tam jako bude, ale na zacatku radky chvili pockam nez odezni (doba se da jednoduse nastavit poctem bodu v radce) a pak teprv zapnu jas az uz bude paprsek na miste, aha... No tim se jen drobet prodlouzi doba temna, ale to by nemelo vadit. Mno pak by to bylo myslim vychytany, sakra to budu muset zkusit :)
  • 7. 10. 2005 16:37

    Pavel Tišnovský
    Zlatý podporovatel
    Ciste teoreticky - a schvalne rikam teoreticky - by graficke karty mely v dobe synchropulzu posilat border color, ktery je nastaveny v jejich registrech. Cerna barva (resp. "cernejsi nez cerna" - ten termin se mi libi a pekne vystihuje skutecnost) se pouziva pri prenosu televizniho signalu pro synchronizace (horizontalni je jednoducha, u vertikalni je tam nejaky vzorek), ale u VGAcek to je zbytecne, protoze maji synchronizacni pulsy vyvedeny na vlastni piny. Prakticky se to asi bude u ruznych karet lisit, ostatne uz v dobe EGAcek a VGAcek nekteri vyrobci na border color kaslali :-(

    Pokud to budete zkouset, tak se s nami prosim podelte o fotografie obrazovky (aspon to, lepsi by byl "osobni feel" :-).
  • 8. 10. 2005 1:31

    RayeR (neregistrovaný)
    No ale border me nezachrani, to je jen kousicek pred zacatkem a na konci radku, ale behem doby co se vraci paprsek pres stinitko se nesmi nic kreslit a tak predpokladam ze ani karta nic na RGB vystupech neposila (resp. cernou). Jak rikal Fm, nejlepsi na to objetovat par pixlu ze zacatku kazdeho radku v FB nez se pokouset o nake hacky borderu...

    "cernejsi nez cerna" - nojo to sem pochytil vod tech televizaku z fakulty radia...
    ale mam pocit jesi se vevnitr monitoru nezatemnuje nakou nizsi urovni, aby bylo
    zaruceno ze se tam ty zpetny behy neobjevi (pri naky poruse prave videt bejvaj - kdyz se vytahne jas)

    Napred musim zistit jakou urovni vlastne ovladat ten jasovej vstup osciloskopu. Mel by stihat do 50MHz.
    Jesi to pude tak dam vedet. Nahodou nevite jesi nejsou na netu k dispozici primo naky testovaci obrazce abych to rovnou zobrazil v nakym prohlizeci.
  • 10. 10. 2005 6:29

    Frn (neregistrovaný)
    "Napred musim zistit jakou urovni vlastne ovladat ten jasovej vstup osciloskopu. Mel by stihat do 50MHz."

    To by IMHO mohl, protože výstup se nemusí potýkat s velkým rozkmitem jako u X a Y.


    BTW ten "Z vstup" se mj. používá na porovnávíní/měření frekvencí. Když se totiž v XY režimu pustí na tyto vstupy různé frekvence, vzniknou Lissajousovy obrazce, které mají tvar podle toho, v jakém jsou vztahu frekvence na X a Y. Tolik říká teorie a toto se občas dá uvidět v labinách. Ale je to dobré jenom pokud jsou si obě frekvence blízké (1:1. 1:2, 2:3). Při vyšších poměrech jsou tvary těch obrazců nepřehledné (stejně jako pokud se nejedná o čistou sinusovku).
    V takových případech se to někdy obchází tak, že :

    - na vstupy X a Y se přivede stejná frekvence pokud možno sinusovka a pokud možno posunutá o 1/4 fáze. Tato pravidla se ovšem nemusí dodržet přesně - při malé odchylce nevznikne přesný kruh ale brambora, což ovšem není na závadu.

    - na vstup Z se přivede testovaná frekvence. Ta způsobí, že se na testovací "kružnici" objeví tmavá a světlá místa. Pak už zbývá jenom referenční oscilátor vyladit tak, aby se světlé značky zastavily.

    - Zkoumaná frekvence na jasovém vstupu je pak násobkem referenční, poměr udává počet značek na obvodu. Bez problémů se dá určovat třeba i 1:8,1:10 apod.
  • 10. 10. 2005 8:18

    Pavel Tišnovský
    Zlatý podporovatel
    No, to zatemneni by si mel resit sam monitor v reakci na H-synce a V-synce, ale je pravda, ze jsem se na vystup z VGA RGB osciloskopem nedival (vyzkousim a poreferuju).

    Televize je na tom jinak, ta co dostane na vstupu prakticky beze zmeny vrazi na vystup (s tim, ze synce maji vyssi amplitudu nez cerna - ony tam jsou stupne sedi invertovane).

    Nejake obrazce se daji najit na craie.unpy.net/aether/index.cgi, ale je to dost zmatena stranka, spis takovy neorganizovany blog :-)
  • 10. 10. 2005 6:14

    Frn (neregistrovaný)
    "Ale jak ja reknu karte aby mi pri zatemneni posilala 1000,1000,0?"

    Celkem jednoduše - HW řešení :

    a) přesnější výstup - pomocí el. přepínače (resp. spínačů - něco jako CMOS 4066) se na výstup "D/A převodníku" bude posílat podle stavy synchropulzu buď výstup z VGA (pokud je synchropulz nekativní) nebo to co si nastavíme např. na nějakých trimtrech (pokud je synchro aktivní). Výhodou je přesnost a možnost přesně si nastavit co poleze ven.

    b) jednudušší řešení - výstup z VGA půjde ven přes odpor a takto ošetřený výstup si podle stavu synchropulzu během "zatemnění VGA" stáhneme (tranzistorem nebo OC hradlem) k zemi. Výhodou je jednoduchost. Zato ae musíme už při návrhu počítat s tím, že je potřeba správně definovat signály. Tedy "Z=0 -> tma", "X,Y=0 -> souřadnice 1000,1000 (nebo radši 1024,1024 aby byly mimo obrazovku) apod.
  • 10. 10. 2005 13:10

    RayeR (neregistrovaný)
    eee tech 1000,1000 byl jen priklad nakyho konce vektoru, to by nebyla konstanta. Jinak je imho fuk jesi se to pri zatamneni necha na 0,0 nebo na protejsim rohu, jde jen o to, jak daleko to bude mit paprsek po odtemneni k zacatku dalsiho vektoru. Ale jak uz si rek tak na to prebehnuti a ustaleni staci vyhradit par pixlnu na zacatku kazdyho radku...