Opened 11 years ago

Last modified 2 months ago

#4359 new bug

CopyRegion() with direct windows broken

Reported by: axeld Owned by: stippi
Priority: normal Milestone: R1
Component: Servers/app_server Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

Two easily see the problem, enable transparent background in src/kits/opengl/GLView.cpp, line 206. Then move a GLTeapot window around, and see that the original window contents are copied over and over; instead of actually copying the window CopyRegion() only invalidates everything which causes the back buffer to be copied, but that doesn't contain the right data in case of a direct window.

If there is a direct window on the screen, either acceleration must be used to move the window around, or it needs to be copied manually.

Maybe double buffering should simply work view based, not screen based.

Change History (1)

comment:1 by X512, 2 months ago

I think that ticket is invalid because moving BDirectWindow contents will require front buffer reading that is very slow and should be avoided. BDirectWindow should be marked as obsolete and newer be used in new software.

Note: See TracTickets for help on using tickets.