From: Brian P. <bri...@tu...> - 2006-08-09 23:41:15
|
James Supancic wrote: >> That's intentional. Recall that you can make a whole chain of SPUs. >> Some SPUs depend on getting SwapBuffer calls. If we omitted some >> SwapBuffer calls, we'd cause trouble for those other SPUs. The VNC >> SPU is an example. > > > I don't understand, if nothing is to be rendered to a tile, what do > the SPUs for that tile need to get a SwapBuffer call? Why do they need > to receive SwapBuffer calls for frames that they have nothing to do > with? For example, If I am running the city demo on a two display > setup, and the city demo's window is on one tile, why do I need to be > sending anything to the other tile? In the case of the VNC SPU, we need to see all SwapBuffers in order to do frame synchronization. In another example, if you have a number of NVIDIA Quadro cards and are using the framesync feature, it may cause trouble to do SwapBuffers on some cards, but not others. > Are you saying that without the SwapBuffer call other data that is > sent to the tile not part of the current frame will "pollute" the > first frame that it should render after becoming part of the frame (if > a window move or something causes a re tiling)? Not sure I understand that. But if all one does is call glClearColor(); glClear(), you'll need to do the buffer swap. > I can see how that is possible, but ideally, I would filter out > everything being sent to the SPUs for a tile that is not part of the > scene.... > > Or are other SPUs using it as some kind of periodic "interrupt" mechanism? Kind of. The FPS SPU uses SwapBuffers to measure Frames/Second. In any case, sending the SwapBuffers to all crservers is pretty cheap. -Brian |