performance issue when OffscreenRenderingMode = "pbuffer"
Roderick Colenbrander
thunderbird2k at gmx.net
Sun Jan 25 07:07:55 CST 2009
> Roderick Colenbrander a écrit :
> >> I tried to play Supreme Commander using pbuffer option instead of fbo.
> I
> >> was quite happy with it, since I gained quite a bunch of performance (I
> >> mean, something I really COULD see), but after a while, the performance
> >> dropped dramatically, to ~4-5 fps.
> >>
> >> I tested quite a few thing, and I finally found that pixel bufers were
> >> not taken in account when calculating available texture memory. The
> game
> >> then allocated more textures, and good opengl didn't dare complain when
> >> putting them in system memory.
> >>
> >> Attached is a patch which should solve the problem.
> >>
> >> For those who are curious, try setting VideoMemorySize to 200 instead
> of
> >> 256. It works just like a charm.
> >>
> >>
> >
> > I think the basic idea of the patch is good but the calculation itself
> should take into account double buffering. In wine we don't use double
> buffering on pbuffers but we might be receiving a WGL pixel format which uses
> double buffering, so in that case the amount of video memory would be a
> factor 2 too low.
> >
> > Something like this would give you the double buffering capability from
> a d3d device:
> > This->adapter->cfgs[iPixelFormat]->doubleBuffer
> >
> > Roderick
> >
> OK. Here is a new one, more readable I think. I'll send it to
> wine-patches once I manage to configure git-send-email :)
Hi,
I think it would be best to add an attribute 'pbuffer_size' or something like that to the WineD3DContext storing the size of the pbuffer. This is needed because GetPixelFormat won't work on a pbuffer. The problem with this call is that GetPixelFormat doesn't see 'offscreen pixel formats' (like e.g. floating point ones and there are others) which can be used for pbuffers. Further I think it is nicer to not have to recalculate its size. I don't think there is a way to get the pixel format from a pbuffer.
Roderick
--
NUR NOCH BIS 31.01.! GMX FreeDSL - Telefonanschluss + DSL
für nur 16,37 EURO/mtl.!* http://dsl.gmx.de/?ac=OM.AD.PD003K11308T4569a
More information about the wine-devel
mailing list