Re: GLX in bad state

Nadav Frum <[email protected]>
Newsgroups gmane.comp.emulators.winex.devel
Message-ID <Pine.LNX.4.44_heb2.10.0404061154220.15062-100000@localhost.localdomain>
No confessions?

On Mon, 5 Apr 2004, Gavriel State wrote:

> We have internal code not yet in CVS that we're working with that implements
> real Pixel Shaders, so we have not really given very much thought to the
> patch.It's up to the engineer working on the Pixel Shader code to decide
> whether a stub should go into CVS in the meantime.He's considering it now.

> As we've stated in the past, we are very particular about the patches that
> we allow into CVS, and we don't like checking things in that have either
> known issues or that have known paths that might cause issues, unless there's
> a very compelling reason for it.
 
I think I know a bit about the WineX code.  If you have an invalid pointer 
to an unimplemented function, WineX will crash when that function is 
called.  Therefore, there are no negative issues with adding a stub.

Now perhaps you will come forward with some benchmark results.

> As Ove stated, this is the overall philosophy of the OpenGL design in
> general, not ours.Obviously performance is very important to us.

How is the overall philosophy of the OpenGL design (whatever it may be) 
relevant to this discussion?

> If you'd like to determine where there might be further performance issues
> with your updated video memorymanagement code, you might try doing a trace
> with +timestamp,+x11drv,+ddraw to narrow down what's actually taking up
> time.

This is a bad approach for the following reasons:

1.  This level of debugging will slow the performance to such an extent 
    that the overall analysis of performance will become irrelevant.
2.  The overall performance is an accumulation of routines which on their 
    own waste less CPU time than is measurable by the time stamp.
3.  The performance may be slow because the graphics card is used in an 
    inefficient way.  Such performance losses will occur when the video 
    card executes the command and not when the command is issued.
4.  The timestamps will also include time spent executing the game's 
    binaries and libraries other than x11drv and ddraw.
5.  The game's binary may be doing some excess computation in response to 
    unexpected feedback from WineX.  This will not be revealed.

A much better approach is a profiler like 'oprofile'.  It has the 
limitation, however, that it does not show what the video card and the 
games's binary is working on.  The information received from differently 
spec'ed systems would benefit such an analysis.

Nadav Frum
----------
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.