Opened 15 years ago
Last modified 5 years 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.
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.