Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Pomalé vykreslování [vyřešeno]  (Přečteno 3060 krát)

fox-03

  • Návštěvník
  • Příspěvků: 6
Pomalé vykreslování [vyřešeno]
« kdy: 15 Září 2008, 21:47:09 »
Mám obavu, že podobné "drobné problémy s grafikou" jsou prostě příliš zákeřné na to, aby je bylo možno vyřešit na dálku, přesto se o to ze zoufalství pokusím :-\. Už to bude tak rok a půl, co jsem přešel na Ubuntu, a přesto se mě ani nikomu jinému nepodařilo vyřešit problém, který mám již od samého začátku.

Veškerá animace je mírně sekaná, např. při rychlém přetažení okna v Gnome se toto okno sice přesunuje rychle (přesun není vysloveně trhaný), ale je vidět, jak se okno překresluje po řádcích. Nejlépe je tento problém vidět při sledování fullscreen videa (je celkem jedno, jestli jde o HDTV v nejvyšší kvalitě, XviD nebo Mpeg-2, výraznější je to jen u Fullscreen videí z YouTube, ale tam je to spíš kvalitou videí samotných), když se obraz nebo nějaký prvek obrazu rychle horizontálně přesunuje, pohyb pak působí škubaně a docela z toho i bolí oči. Velmi to bylo také vidět u počítačových her, čím jsem nastavil víc grafických efektů, tím méně byl obraz sledovatelný. Počítač je rychlý dost (Intel Core2Duo 2.0Ghz, 2GB RAM, nVidia GeForce 7950 GX2), zkoušel jsem různé verze nVidiáckých ovladačů, experimentoval jsem s vypínáním akcelerovaného grafického prostředí, zkoušel jsem i různé přehrávače (mPlayer, Totem, VLC) a kodeky, nic však nepomáhá, problém přetrvává i mezi jednotlivými verzemi Ubuntu. Ve Windows chodí vše plynule a bez sebemenších problémů, takže vše ukazuje na to, že problém je nejspíš v ovladačích od nVidie, přesněji v grafické akceleraci pod Linuxem.

Pokud by někoho napadlo nějaké řešení (jiné než "hoď to do řeky"), budu moc vděčný.
« Poslední změna: 21 Října 2008, 02:12:10 od fox-03 »

foxmax

  • Návštěvník
  • Příspěvků: 23
Re: Pomalé vykreslování
« Odpověď #1 kdy: 15 Září 2008, 21:54:51 »
Jsem začátečník , ale raději jsem dejte výpisy s xorg a další informace ať ostatní vidí co je za problém , holt oni to vidí i v tom matrixu  8)řádek
jestli je něco špatně a co třeba distribuce live a z té pustit video jestli pojede OK. ?? Každopádně vydržet :)

fox-03

  • Návštěvník
  • Příspěvků: 6
Re: Pomalé vykreslování
« Odpověď #2 kdy: 16 Září 2008, 18:52:03 »
S tou Live distribucí to zkusím, mám pocit, že jsem to zkoušel, ale jistý si už nejsem, tak raději znovu... svůj xorg.conf přikládám, pokud by mi někdo chtěl pomoci a potřeboval nějaký výpis z mého systému, řekněte si prosím o něj, možností je příliš mnoho a zas tak se v tom neorientuju, abych si byl jist, co se může hodit...

xorg.conf
Kód: [Vybrat]
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "1600x1200_85 +0+0"
Option "AddARGBGLXVisuals" "True"
SubSection "Display"
Depth 24
EndSubSection
Defaultdepth 24
EndSection

Section "Device"
Identifier "Videocard0"
Driver "nvidia"
Vendorname "NVIDIA Corporation"
Boardname "GeForce 7950 GT"
EndSection

Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "ServerLayout"
Identifier "Layout0"
  screen 0 "Screen0" 0 0
Inputdevice "Keyboard0" "CoreKeyboard"
Inputdevice "Mouse0" "CorePointer"
EndSection

Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection

Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
Vendorname "Unknown"
Modelname "DELL P1130"
Horizsync 30.0 - 130.0
Vertrefresh 48.0 - 170.0
Option "DPMS"
EndSection

Section "ServerFlags"
Option "Xinerama" "0"
EndSection

Section "Extensions"
Option "Composite" "Enable"
EndSection

Section "Files"
Rgbpath "/usr/X11R6/lib/X11/rgb"
EndSection

TIBOR

  • Závislák
  • ***
  • Příspěvků: 6545
  • Som uzivatel linuxovej distribucie, som linuxak?
Re: Pomalé vykreslování
« Odpověď #3 kdy: 16 Září 2008, 19:09:58 »
Pripadne este skus pozriet v system-sprava-systemove zaznamy-Xorg.0.log ci niektori riadok nezacina (EE).
Dalej co ti vypise
Kód: [Vybrat]
glxinfo | grep direct
HP Laptop 17-ca1xxx Ubuntu Mate 24.04 FF 64bit.
Asus X751LB-TY014H Ubuntu Mate 20.04.1 FF 64bit.
Linus, Lajnas, Línus, Luínus, Lajnus a je mi naozaj jedno, ako ľudia vyslovujú moje meno. Ale "Linux" je vždy "Linux". LINUS TORVALDS, tvorca Linuxového jadra.(V dokumente Revolution OS)

fox-03

  • Návštěvník
  • Příspěvků: 6
Re: Pomalé vykreslování
« Odpověď #4 kdy: 16 Září 2008, 19:34:18 »
Díky za reakci...
Pokud jde o log, tak je tam několik varování, chyba jen jedna, a to tato:
(EE) Failed to load module "type1" (module does not exist, 0)

Na tebou zadaný příkaz mi systém vypíše: direct rendering: Yes

TIBOR

  • Závislák
  • ***
  • Příspěvků: 6545
  • Som uzivatel linuxovej distribucie, som linuxak?
Re: Pomalé vykreslování
« Odpověď #5 kdy: 16 Září 2008, 19:57:28 »
direct rendering: Yes znamena ze 3D akceleracia funguje. S tym modulom dufam pomoze niekto iny.
HP Laptop 17-ca1xxx Ubuntu Mate 24.04 FF 64bit.
Asus X751LB-TY014H Ubuntu Mate 20.04.1 FF 64bit.
Linus, Lajnas, Línus, Luínus, Lajnus a je mi naozaj jedno, ako ľudia vyslovujú moje meno. Ale "Linux" je vždy "Linux". LINUS TORVALDS, tvorca Linuxového jadra.(V dokumente Revolution OS)

nettezzaumana

  • Host
Re: Pomalé vykreslování
« Odpověď #6 kdy: 16 Září 2008, 20:08:38 »
ad.1) over, jestli se to chova stejne i na cistem Xserveru

X :1.0 & // zpatky se prepnes aka ctrl+alt+F7
xauth add :1.0 . `mcookie` &
DISPLAY=:1.0 xterm &

2) Nebezi Ti nahodu Xgl nebo nejaky obskurtni xserver?

3) muj xorg.conf taktez s nvidii ::
Citace
Section "Device"
    Identifier     "Device[0]"
    Driver         "nvidia"
    VendorName     "NVidia"
    BoardName      "Quadro NVS 110M/GeForce Go 7300"
        Option  "NvAGP" "False"
        Option         "NoLogo" "False"
        Option         "RenderAccel" "True"
        Option  "DamageEvents" "True"
        Option  "UseEvents" "False"
        Option  "CoolBits" "1"
    Option         "SaXDualHead"
    Option         "TwinView"
    Option         "SaXDualMonitorVendor" "--> VESA"
    Option         "SecondMonitorHorizSync" "31-50"
    Option         "SaXDualVSync" "50-60"
    Option         "MetaModes" "1024x768,1024x768;800x600,800x600"
    Option         "SaXDualOrientation" "LeftOf"
    Option         "SaXDualResolution" "1024x768"
    Option         "TwinViewOrientation" "LeftOf"
    Option         "SaXDualMode" "Xinerama"
    Option         "SecondMonitorVertRefresh" "50-60"
    Option         "SaXDualHSync" "31-50"
    Option         "SaXDualMonitorModel" "1024X768@60HZ"
    Screen          0
EndSection

Section "Extensions"
    Option         "Composite" "Enable"
    Option         "RENDER" "True"
EndSection

fox-03

  • Návštěvník
  • Příspěvků: 6
Re: Pomalé vykreslování
« Odpověď #7 kdy: 17 Září 2008, 00:26:07 »
Tak, vyzkoušel jsem LiveCD (v8 jsem nenašel, takže jsem to zkoušel na 7.10), ale chová se to nachlup stejně, jak jsem tušil.

nettezzaumana:
1) bohužel moc nerozumím tomu, co po mě žádáš v prvním bodě, jestli to mají být příkazy, které mám použít, tak nefungují... nebo to mělo patřit do nějakého konfiguráku?
2) Xgl mi pokud vím neběží, jedu pod tím, co je standardně v Ubuntu (X.Org 11.0)
3) zkusil jsem tvůj xorg.conf s drobnými úpravami, ale žádná změna

Jinak fakt dík, že se mi snažíte pomoct, sice to vypadá dost beznadějně (největší šance přikládám tomu, že buď něco zvorala nVidie v Linuxových ovladačích pro moji kartu, nebo je to nějaká jiná hw zrada), ale třeba někdo objevíte nějakou prkotinu, která to způsobuje.
« Poslední změna: 17 Září 2008, 00:28:14 od fox-03 »

kocar

  • Návštěvník
  • Příspěvků: 64
Re: Pomalé vykreslování
« Odpověď #8 kdy: 17 Září 2008, 01:07:11 »
Mne to delalo taky a dost dlouho jsem si s tim nevedel rady. Az nakonec... :) jsem utekl k fedore, ktera timto problemem kupodivu netrpi. Ale priznavam se, ze jsem tomu moc pozornosti nevenoval... Proste mi prislo jednodussi nainstalit tu fedoru a jit od toho pryc.
Intel Pentium Dual-Core E5200, 4 GB RAM, GeForce 8600GT, Fedora 9 x64
Intel Core 2 Quad Q9300, 8GB RAM, GeForce 7300GT, Fedora 9 x64

fox-03

  • Návštěvník
  • Příspěvků: 6
Re: Pomalé vykreslování
« Odpověď #9 kdy: 17 Září 2008, 14:33:38 »
Dík za info, přechod k Fedoře si nechám jako hodně nouzové řešení, ale je dobře vědět, že ten problém není obecně v kombinaci Linux - můj hardware, ale jen v něčem, co je pravděpodobně charakteristické pro Ubuntu...

Ještě mě napadl jeden detail, který by třeba někomu mohl pomoct při eliminaci možných zdrojů této chyby... jedu pod x64 verzí Ubuntu, ale dělalo to i pod 32bit, navíc mě to pronásledovalo již od první verze Ubuntu, kterou jsem měl (tedy 7.04, pokud se nemýlím).
« Poslední změna: 17 Září 2008, 14:37:18 od fox-03 »

fox-03

  • Návštěvník
  • Příspěvků: 6
Re: Pomalé vykreslování
« Odpověď #10 kdy: 19 Října 2008, 15:17:02 »
Tak, trvalo to krvavě dlouho, ale dobrá věc se podařila a pro ty, co by měli podobné problémy, sem napíšu, na co jsem přišel.

Protože se ani mě ani nikomu jinému nepodařilo najít žádné řešení, udělal jsem si nakonec čas a vyzkoušel jinou distribuci, kterou jsem již dávno chtěl. Nebyla to Fedora a nebudu vás zbytečně zatěžovat detaily, každopádně probém s grafikou zmizel a neměl jsem tedy důvod to dál řešit. Tento víkend jsem si ale hrál s různými parametry systému a po jednom "zlepšováku" se najednou problém s grafikou objevil znovu - a to přesně v té podobě, v jaké jsem ho znal ze svého starého Ubuntu. Starý systém jsem již smazal, takže nemůžu ověřit, že problém je identický, ovšem je velmi pravděpodobné, že ano. Konec omáčky, hurá k jádru věci...

pozn: Budu se pouštět do mírných spekulací, proto prosím problematiky znalé, aby mě v případě, že plácnu nějakou kravinu, laskavě opravili, děkuju  :)

Problém se týká mtrr registrů. Dokáží výrazně ovlivnit výkon systému a grafiky zvlášť. Můj systém defaultně používal pro grafiku 1 registr o velikosti 16 MB a všechno šlapalo dobře, někde jsem si však přečetl, že by měl mít velikost paměti vaší gr. karty (což mi nyní, když jsem si přečetl rozsáhlejší info o problematice, přijde jako celkem kravina), dal jsem mu nakonec polovinu této paměti (v mém případě 128 MB) a rázem se začaly videa trhat. Experimentoval jsem a videa běhají dobře buď pokud je registr vypnutý, anebo když ho nechám na základní velikosti (16 MB v mojem případě). Odhaduji, že je to proto, že když se dá daný registr příliš velký, bufferuje se po příliš velkých blocích, což právě způsobuje jev trhajícího se videa. V Ubuntu se tedy pravděpodobně v některých systémech nastaví špatná velikost mtrr.

Kód a návod, jak se pokusit mtrr ovlivnit
Pokud vám video blbne, napište v konzoli (nemusíte být root) příkaz pro výpis mtrr registrů
Kód: [Vybrat]
cat /proc/mtrrZobrazí se vám asi takovýhle výpis:
Citace
reg00: base=0x00000000 (   0MB), size=2048MB: write-back, count=1
reg01: base=0xd0000000 (3328MB), size=  16MB: write-combining, count=1
Registr určený grafice je s největší pravděpodobností ten s označením "write-combining" (pro detaily viz google a wikipedia), v případě pochybností je možné použít tento výpis (jen root)
Kód: [Vybrat]
lspci -va najít si na konci ve výpisech grafiky výpisy o paměti, vypadají nějak takto:
Citace
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at fc000000 (64-bit, non-prefetchable) [size=16M]
Důležitá část paměti je ta, co nese označení "prefetchable". Kód za "Memory at" je adresa začátku paměti, celková velikost paměti je udána za "size=", správný úsek v mtrr registrech poznáte tak, že má za textem "base=" stejnou hodnotu adresy.

Experimenty s mtrr registry je možné dělat přímo, kód pro to si však budete muset vygooglit, já jsem k tomu používal parametry jádra v GRUBu (předem upozorňuji, že tyto hrátky nejsou úplně vhodné pro nováčky a lid méně technicky zdatný). Nastavení GRUBu je obvykle v souboru /boot/grub/grub.conf (případně /boot/grub/menu.lst). Najděte si menu, které používáte (podle "title") a zaměřte se na odpovídající přílaz "kernel", vypadá nějak takto:
Kód: [Vybrat]
kernel /boot/kernel-... root=/dev/sda3 video=uvesafb:mtrr:3,ywrap,1600x1200-32@85Důležitý je parametr "video". Pokud tento parametr za jádrem máte, je práce relativně snadná, pokud ne, budete muset googlit. Pro vypnutí mtrr stačí zaměnit kód "mtrr:3" za "nomttr", tedy v mém příkladu:
Kód: [Vybrat]
kernel /boot/kernel-... root=/dev/sda3 video=uvesafb:nomtrr,ywrap,1600x1200-32@85Pro ruční nastavení mtrr pro video použijte parametry "vtotal" a "vremap", kde "vtotal" je celková velikost video paměti a "vremap" je část, kterou chcete používat pro mtrr. 16MB cache na video kartě s 256MB paměti vypadá takto:
Kód: [Vybrat]
kernel /boot/kernel-... root=/dev/sda3 video=uvesafb:mtrr:3,ywrap,1600x1200-32@85,vtotal:256,vremap:16Uložit, reboot a nechte se překvapit, jestli to bouchne  ;)

Tak, vím, že je to pekelně dlouhý, ale doufám, že to aspoň někomu pomůže, pokud by se vám něco nepodařilo najít, klidně se ptejte, pokusím se odpovědět...
« Poslední změna: 19 Října 2008, 15:21:16 od fox-03 »

 

Provoz zaštiťuje spolek OpenAlt.