abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:33 | Nová verze

    Desktopové prostředí Budgie bylo vydáno ve verzi 10.10. Dokončena byla migrace z X11 na Wayland. Budgie 10 vstupuje do režimu údržby. Vývoj se přesouvá k Budgie 11. Dlouho se řešilo, v čem bude nové Budgie napsáno. Budgie 10 je postaveno nad GTK 3. Přemýšlelo se také nad přepsáním z GTK do EFL. Budgie 11 bude nakonec postaveno nad Qt 6.

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | Humor

    OpenChaos.dev je 'samovolně se vyvíjející open source projekt' s nedefinovaným cílem. Každý týden mohou lidé hlasovat o návrzích (pull requestech), přičemž vítězný návrh se integruje do kódu projektu (repozitář na GitHubu). Hlasováním je možné změnit téměř vše, včetně tohoto pravidla. Hlasování končí vždy v neděli v 9:00 UTC.

    NUKE GAZA! 🎆 | Komentářů: 2
    včera 03:00 | Nová verze

    Byl vydán Debian 13.3, tj. třetí opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.13, tj. třináctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    10.1. 03:00 | Komunita

    Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.

    Ladislav Hagara | Komentářů: 6
    9.1. 19:44 | Zajímavý software

    Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.

    Ladislav Hagara | Komentářů: 5
    9.1. 19:11 | IT novinky

    Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).

    NUKE GAZA! 🎆 | Komentářů: 2
    9.1. 14:22 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.

    Ladislav Hagara | Komentářů: 7
    9.1. 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 1
    9.1. 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.1. 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 15
    Které desktopové prostředí na Linuxu používáte?
     (8%)
     (4%)
     (0%)
     (9%)
     (20%)
     (3%)
     (5%)
     (3%)
     (10%)
     (50%)
    Celkem 374 hlasů
     Komentářů: 8, poslední 10.1. 23:18
    Rozcestník

    Dotaz: Eliminácia tearingu na OpenGL ES s grafikou Mali 400

    mirec avatar 9.2.2014 16:33 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Eliminácia tearingu na OpenGL ES s grafikou Mali 400
    Přečteno: 300×
    Dobrý deň, už niekoľko dní sa snažím eliminovať tearing na OpenGL ES priamo na framebufferi.

    Ovládače bežia na kerneli: Linux buildroot 3.4.75 #4 PREEMPT Sun Feb 9 00:00:40 CET 2014 armv7l GNU/Linux.

    Ovládač UMP vypisuje pri insmode:
    Inserting UMP device driver. Compiled: Feb  8 2014, time: 20:18:21
    Using OS memory backend, allocation limit: 134217728
    UMP device driver 0000 loaded
    
    Mali má nasledujúci výpis:
    Inserting Mali v20 device driver.
    Compiled: Feb  8 2014, time: 20:19:24.
    Driver revision: r3p2-01rel1
    mali_module_init() registering device
    mali: use config clk_div 2
    mali clock set completed, clock is  180000000 Hz
    mali_module_init() registering driver
    mali_probe(): Called for platform device mali-utgard
    Memory system initializing
    Using device defined memory settings (dedicated: 0x00000000@0x00000000, shared: 0x10000000)
    Mali OS memory allocator created with max allocation size of 0x10000000 bytes, cpu_usage_adjust 0x00000000
    Using device defined frame buffer settings (0x02000000@0x5A000000)
    Memory Validator installed for Mali physical address base=0x5A000000, size=0x02000000
    Mali PMU: Creating Mali PMU core
    Mali PP: Creating Mali PP core: Mali_PP0
    Mali PP: Base address of PP core: 0x1c48000
    Found Mali GPU Mali-400 MP r1p1
    Mali L2 cache: Creating Mali L2 cache: Mali_L2
    Mali MMU: Creating Mali MMU: Mali_GP_MMU
    Mali GP: Creating Mali GP core: Mali_GP
    Mali MMU: Creating Mali MMU: Mali_PP0_MMU
    Mali PP: Creating Mali PP core: Mali_PP0
    Mali PP: Base address of PP core: 0x1c48000
    1+0 PP cores initialized
    Mali GPU Utilization: No utilization handler installed
    mali_probe(): Successfully initialized driver for platform device mali-utgard
    Mali device driver loaded
    
    Výstup testovacieho dodávaného s ovládačmi je:
    EGL Version: "1.4 Linux-r3p2-01rel2"
    EGL Vendor: "ARM"
    EGL Extensions: "EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_reusable_sync EGL_KHR_fence_sync EGL_KHR_lock_surface EGL_KHR_lock_surface2 EGL_EXT_create_context_robustness "
    Surface size: 800x480
    GL Vendor: "ARM"
    GL Renderer: "Mali-400 MP"
    GL Version: "OpenGL ES 2.0"
    GL Extensions: "GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_ARM_mali_program_binary GL_EXT_shader_texture_lod GL_EXT_robustness GL_OES_depth_texture_cube_map "
    
    Veľkosť LCD je 800x480, veľkosť framebufferu je nastavená na 800x1440 (tj. teoreticky je možný triple buffering).
    mode "800x480-60"
        # D: 33.000 MHz, H: 31.280 kHz, V: 59.580 Hz
        geometry 800 480 800 1440 32
        timings 30303 16 209 22 22 30 1
        rgba 8/16,8/8,8/0,8/24
    endmode
    
    Pre testovanie tearingu zobrazujem pohybujúci sa trojuholník (video).

    Po každom vykresľovaní program čaká na vsync, synchronizáciu zabezpečuje tento kód (je použitý v mnohých zdrojákoch, nie je to môj výmysel):
    if (ioctl(framebuffer, FBIO_WAITFORVSYNC, 0) == -1) {
        printf("FBIO_WAITFORVSYNC ERR");
    }
    
    eglSwapBuffers(egl_display, egl_surface);
    
    Presne tento kód spôsobuje dosť silný tearing: video (zubaté hrany).

    Signál vsync je správne zapojený a funguje, problém je vo funkcii eglSwapBuffers, ktorá trvá pomerne dlho (5 - 20ms) pretože namiesto prepnutia front / back bufferu vykonáva aj samotné renderovanie.

    Teoreticky sa dá tearing odstrániť vložením glFinish za vykresľovaním, takže eglSwapBuffers bude vykonaná dostatočne rýchlo. To však zníži fps u extrémne jednoduchých scén na 30fps (z pôvodných asi 1000fps) a u zložitejších scén z 60fps na 10fps.

    Vynechať pomalú synchronizáciu s CPU je zvyčajne možné použitím triple bufferingu, ale nikde som nenašiel nejaký príklad ako sa triple buffering aktivuje. Pôvodne som si myslel, že sa môže zapnúť nastavením eglSwapInterval (nepíše sa to v dokumentácii explicitne, ale vyzerá to na nastavenie počtu predrenderovaných bufferov). Volanie eglSwapInterval nemá však na aplikáciu žiaden vplyv. Nastavenie pomocou EGL_MIN_SWAP_INTERVAL / EGL_MAX_SWAP_INTERVAL tak isto nefunguje (akákoľvek hodnota spôsobí chybu inicializácie EGL kdesi v blobe, neviem zisiť prečo).

    Máte niekto nápad ako redukovať tearing bez výrazneho zníženia fps?
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon

    Odpovědi

    Bedňa avatar 3.3.2014 19:18 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Eliminácia tearingu na OpenGL ES s grafikou Mali 400
    #define NUM_BUFFERS 3
    KERNEL ULTRAS video channel >>>

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.