On Tue, Jul 14, 2009 at 9:10 AM, erik quanstrom<quans...@coraid.com> wrote: >> I believe I properly applied the pat patch, but I'm not really seeing >> any improvement. At least, it still takes fully two seconds to bring >> one large window in front of another. > > that's because the screen is not double-buffered. pat or mtrr do > not improve reads from video memory. there is no such thing > as read combining. and on some nvidia cards, especially the pcie > ones i have, reads from video memory are really slow.
I haven't done much graphics hacking, but I remember that implementing double buffering in the few programs I wrote was extremely easy and gave a really cheap performance boost. Would it be similarly easy to add double-buffering to the driver? I'm willing to put in some time, but not too much or Ron will smack me ;) > >> Did you change anything with the nvidia driver when applying the mtrr >> patch? I was under the impression that the applied patch only affected >> the vesa driver. > > only the one line previously posted. (a similar change was made to the > vesa driver, of course.) > > - erik > As I'm reading it, the change to vganvidia.c you posted above (re-pasted below) does pat stuff. Am I confused? I don't think pat and mtrr are the same thing... nv.dmabase = (void*)vmappat(scr->paddr + scr->storage - 128*1024, 128*1024, PATWT); John -- "I've tried programming Ruby on Rails, following TechCrunch in my RSS reader, and drinking absinthe. It doesn't work. I'm going back to C, Hunter S. Thompson, and cheap whiskey." -- Ted Dziuba