glCopyPixels in software mode

Started by
6 comments, last by markr 18 years, 10 months ago
I've a problem with glCopyPixels. I've just tried my applictaion on a Matrox Mill G450 and it runs in software mode (VENDOR is "Microsoft C." and RENDERER is "GDI Generic"). In my application I use a rendered image kept in the backbuffer and I copy it to front buffer and draws objects on it. I use copypixels and it runs fast on my Radeon card. But in software mode it takes 4-5 secs and I think it isn't normal. What could be the problem?
Advertisement
glCopyPixels is slow so I wouldn't be surprised if it runs slowly in software mode. It also depends on how much data you are copying.
The more applications I write, more I find out how less I know
Quote:glCopyPixels is slow

depends on hardware eg i get 3billion bytes/sec

to the OP try different data formats eg ones that match the buffer that u want to copy (btw yes matrox is a piece of crap)
Do you get the same thing if you install the proper graphics driver on your Matrox . I've seen weird things like this before when using just the generic GDI drivers.

Mr. Creamy
glCopyPixels is slow on my machine, even in hardware mode. I find that using glCopyTexImage2d then drawing a textured quad is loads faster. By loads, I mean *loads* as in, at least 100x

Mark
Quote:glCopyPixels is slow on my machine, even in hardware mode. I find that using glCopyTexImage2d then drawing a textured quad is loads faster. By loads, I mean *loads* as in, at least 100x

if you have a nvidia card + u get 100x youre using it suboptimaly.
eg doing unneccsary conversions, which is also possible with glCopyTexImage2d(*) or choosing an unacclerated format

(*) BTW use glCopyTexSubImage2d instead
Thx help!

Maybe reinstalling the driver would solve the problem, but I want to make my program working on any OpenGL implementation including Microsoft GDI driver.

I've found another problem about copyPixels. When I have two or more OpenGL windows, parts that are covered by another window get troubled. It is a feature of copyPixels.

I think I'll try glCopyTexImage. Can I find an example or a tutorial about it somewhere?
The limitation on "covered" parts of a window exists with glCopyPixels and glCopyTexImage2d as well. It's a "feature" which exists to allow the driver to ignore areas of the window that might be shared by other opengl windows, so it doesn't need to keep more buffers than the visible screen area.

So "covered" parts of the window might read as black, might read as junk, or might read as bits of buffers owned by other applications which have a context covering that part of the screen.

The "undefined" behaviour, might actually including doing what you expect - which could be a problem (as on other drivers or display setups, it wouldn't).

Mark

This topic is closed to new replies.

Advertisement