From: Brian P. <bri...@tu...> - 2005-04-15 14:14:06
|
You're using an NVIDIA driver, right Jesus? The problem is if you use glLoadMatrix to load an identity color matrix, the NVIDIA driver doesn't detect the fact that it's an identity matrix and apparently falls back to a software path for subsequent pixel transfers. Using glLoadIdentity avoids this. Because of the way the Cr state tracker handles matrices, we were using glLoadMatrix all the time, instead of using glLoadIdentity when the matrix is an identity. I fixed this a while back in Chromium so it shouldn't be an issue with Cr 1.8. I reported this issue to NVIDIA but don't know if it's been fixed. -Brian Jesus Caban wrote: > Franco, > I have seen that performance drawback before and looks like is a > problem with the tilesort SPU and the color matrix. If before calling > the CopyTexSubImage2D you have the following code, it should speed-up > everything... > > GLint matrixModeState; > glGetIntegerv(GL_MATRIX_MODE, &matrixModeState); > glMatrixMode(GL_COLOR); > glPushMatrix(); > glLoadIdentity(); > > your_spu.super.CopyTexSubImage2D(GL_TEXTURE_2D, ....); > > glPopMatrix(); > glMatrixMode(matrixModeState); > > > Hope this helps! > --J.C. > > Franco Tecchia wrote: > >> Hi everyone, >> >> we are loosing hope to solve a problem with glCopyTexSubimage2d >> performance under Chromium and WIN32 (we are using windows XP >> Professional) >> The problem is this: we are using Chromium to manage a curved screen >> projection centre. We have an array of 3 projectors side by side >> connected to 3 PC and then a Master PC were our app runs. >> On each client PC we are trying to warp the final image in order to >> correct distortion. >> As described in other Chromium examples, we developed a custum SPU >> (taking WET as an example) that we placed just before the standard >> "render" SPU on each server. Then, on each server, we perform the >> following operations >> >> 1) intercept the local SwapBuffer >> 2) copy the framebuffer into a texture that we use as a buffer using >> glCopyTexSubimage2d (note: we assume this texture to be local to the >> server) >> 3) draw an warped grid with that texture on top >> 4) call the real SwapBuffer >> >> The problem is that it works just fine when there is a single node >> ("PACK" SPU) so it's not a opengl driver issue (btw: we are using >> NVIDIA Quadro 1100FX), but it gets REALLY slow as soon as we use >> "tilesort" SPU, regardless if we have a single node or a spanning of >> the context over multiple nodes. >> This thing is driving us crazy and there must be something that we >> don't know about how Chromium handle this. >> Any help would be greatly appreciated. >> >> Franco >> >> > > > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Chromium-users mailing list > Chr...@li... > https://lists.sourceforge.net/lists/listinfo/chromium-users > |