WebGL video driver összeomlasztás

WebGL video driver összeomlasztás
2016-02-15T10:19:12+01:00
2016-02-19T11:00:46+01:00
2022-10-20T15:35:35+02:00
  • Kiprobaltam normalis gepen:

    Azonnal behalasztotta a gpu-t. Ez akkor nem tulterheles lesz, hanem valami webgl vagy opengl bug.
    De semmi ban nem tortent csak resetelt a GPU es ezalatt egy fel masodpercig fekete lett a kepernyo, amig bevaltotta a grafikus modot. Utana a Chrome ablak hasznalhato maradt. (AMD HD6970, Win7 64)

    Belenezve a kodba nem tunt fel semmi gyanus dolog o.O Azt a 600ezer vertexet siman kene birnia...

    --------------------------
    Update:
    - Atirtam, hogy nem 100ezer negyszog (az 600ezer vertex) legyen, hanem csak 10ezer -> szinten behalt.
    - Atirtam, hogy csak 1ezer 4szog legyen -> na igy mar mukodott.

    Tapasztalatok:
    - Itt tenyleg van valami extra watch-dog, ami már 500ms-nel kilovi! Ez nagyon jo így!!!
    - A behalasok utan a Chrome ablak teljesen hasznalhato maradt. (Jelezte, hogy problema volt a WebGL-el -> (Ignore/Reload)
    - Itt valami iszonyatosan lassu: 100ezer icipici 4szognek nem szabadna ilyen sokaig tartania. En desktop OGL-bol 13M Quad-al tesztelgetem mostanaban egy kicsi ray-trace-vel is megfuszerezve es még ott is 300ms alatt vagyok. 

    Ha 40x40-es a kis negyzet, akkor 100K*40*40=160M pixelrol van szo. Kozben megvan a hiba oka, de mar csak leirom, hogy jottem ra. :D
    Szoval 160M pixelunk van es az en kartyamnak a fillrate-ja meg 28.2G/s -> 6ms, ez nem lehet gond.
    A texture fillrate 3x ekkora, ez plane nem lehet gond.
    VISZONT!
    A textura felhasznalasi modja borzalmas modon cache unfriendly: 40x40 pixelre terutunk ki egy 4Kx4K meretu texturat. Ez annyit tesz, hogy minden egyes pixel eleresehez annyi idore van szukseg, amig uncached modon 256 byte elérôdik a 'lassu' GPU RAM-bol. Tehat a teljes mungahoz kell 160M*256 = 41GB memoria eleres ami 176GB/sec linearis eleressel szamolva is 300ms fele van. A gyakorlatban, mivel osszevissza eleres van ez sokkal rosszabb. Viszont szerencse, hogy a WebGL kilövi, mert kulonben egy ilyen utan lehetne 10sec-ig varni, mint az OpenCL eseteben.

    Osszefoglalva: A program hibátlanul mûkodik 
    Mutasd a teljes hozzászólást!
  • Oké, tudomásul vettem, hogy jelenleg ez elvi probléma. Szvsz annál súlyosabb.

    Köszönöm a választ.
    Mutasd a teljes hozzászólást!
  • Egyebkent sem openGL-ben, sem openCL-ben nincs lehetoseg kernel hutasanak megszakitasara. Egy ilyennel meg tudnak oldani a browserek, hogy maguk tudjanak kiloni kerneleket, ne a driver loje ki az egesz contextet aminek kovetkezteben már az eletben nem fog meghivodni a kernel completed event, vagy barmalyik api hivas = behalás.
    Talán a Vulkán/Mantle tud majd ilyet...
    Mutasd a teljes hozzászólást!
  • átfutott rajtam az a tehetetlen düh, amikor tudod, hogy ott van az egesz a memoriaban, de már nem tudod onnan kiszedni :D
    Mutasd a teljes hozzászólást!
  • elveszett egy vegtelen loop miatt

    Inkább megvártam volna a végét... nem vitt volna rá a lélek, hogy megnyomjam a reset-et. 
    Mutasd a teljes hozzászólást!
  • Nem tudom megnezni, mert tableten vagyok, de gondolom tul sok munkat ad a gpunak. Annak meg a firefox hogy szabhatna hatart? Elemzi a shadert es a tartomanyt, amire az meg van hivva es ha az > 2 sec, akkor nem engedi? Mi van, ha menet kozben a shaderben derul ki, hogy mennyi a munka?

    Szoval a gpu az nem egy sandbox, örüljünk, hogy egyaltalan van watchdog es nem kell resetet nyomni, amivel elvesz az addigi munkank, mint regen a dosban, haha (parszor megjartam, a rekord egy egesz napnyi hobbi hangkartyaprogramozas volt, ami elveszett egy vegtelen loop miatt lol)
    Mutasd a teljes hozzászólást!
  • Oké, de erre nincs védelem?

    Mert ha nincs, akkor az következik, hogy le kell tiltani a francba az egészet, egy gép stabilitását ne veszélyeztesse már egy nyomorult weboldal. Próbáltam egy féléves géppel is (Nvidia Quadro K1100M), teljesen belefagyott, újra se tudta indítani a drivert.

    Innen kezdve pedig a teljes koncepció (3D a weben) újragondolásra szorul, ez a problémám.
    Mutasd a teljes hozzászólást!
  • Siman le tud fagyni egy gpu. Az 5 eves darabok kb olyan valtozatosan progrmozhatoak mar, mint egy x86 csak memory protection nelkul. A Windows alapbeallitas mellett 10 masodperc utan ujra tudja inditani a gpu-t, ha az nem valaszol, de az alkalmazas, az ott marad szétfagyva.
    Mutasd a teljes hozzászólást!
  • Hmmm... Keresnem kéne valami bulvárosabb címet?
    Mutasd a teljes hozzászólást!
  • Senki nem jár erre vagy csak szerintem nagy probléma, hogy egy weboldallal összeomlasztható egy kernel-szintű komponens?
    Mutasd a teljes hozzászólást!
  • Egy újszülöttnek minden vicc új: ezt az oldalt most találtam, pedig már pár éve köztünk jár:

    http://hunger.hu/webgl.html

    Nem linket készítettem, mert ha a WebGL engedélyezett, ez az oldal összeomlasztja (jobb esetben csak újraindítja) a video-drivert. Másnál is?

    Nem értek a 3D-hez, pláne nem böngészőben, és rákeresve nem találtam túl sok konkrétumot, úgyhogy kedves hozzáértő kollégák, segítsetek!

    Őszintén szólva eléggé meglepett, hogy ez lehetséges, és felmerül a kérdés, hogy fordulhat ez elő egy sandbox-olt, webes környezetben?

    Javították már, csak pont nálam jelentkezett? Ha nem javították, miért nem? Nem tekinthető ez komoly hibának?

    Mi a megoldás? Csak a WebGL letiltása? Mennyire terjedhet el a WebGL, ha ilyen probléma felmerülhet?
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd