Sign in to follow this  
Beco

glCopyPixels in software mode

Recommended Posts

Beco    162
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?

Share this post


Link to post
Share on other sites
CRACK123    235
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.

Share this post


Link to post
Share on other sites
zedzeek    529
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)

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
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

Share this post


Link to post
Share on other sites
markr    1692
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

Share this post


Link to post
Share on other sites
zedzeek    529
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

Share this post


Link to post
Share on other sites
Beco    162
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?

Share this post


Link to post
Share on other sites
markr    1692
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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this