Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/VCL/Core VCL Classes/TWinControl    [ Add a report in this area ]  
Report #:  95117   Status: Open
Double-buffering should be disabled for remote desktop connections
Project:  Delphi Build #:  15.0.3953.35171
Version:    15.1 Submitted By:   Jan Goyvaerts
Report Type:  Basic functionality failure Date Reported:  6/14/2011 1:29:28 AM
Severity:    Serious / Highly visible problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    All versions Internal Tracking #:   283805
Resolution: None (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
According to http://blogs.msdn.com/b/oldnewthing/archive/2006/01/03/508694.aspx applications should not use double-buffering when they are being run via a remote desktop connection, because that requires the entire off-memory bitmap to be transferred via the remote desktop connection.

The VCL never checks SM_REMOTESESSION.  This check could be implemented in TWinControl.WMPaint by changing the first line in this procedure to:

if not FDoubleBuffered or (Message.DC <> 0) or (GetSystemMetrics(SM_REMOTESESSION) <> 0) then
Steps to Reproduce:
None
Workarounds
None
Attachment
None
Comments

None

Server Response from: ETNACODE01