winforms - Using .NET desktop application with DevExpress over Remote Desktop -


i ported delphi desktop application .net(c#). both of them using devexpress components , have used on remote destop connection.

remote desktop connection slow connection. when both tested on remote desktop; delphi application seems more faster .net one.

in .net pages opening part part web page laoding want page loaded in 1 portion.

can achieve this?

ps. used usercontrol component of devexpress pages(tabs).

pps. dismissed fade in , fade out effects of loading , splash screen components speeding up.​

delphi application screen video: http://www.youtube.com/watch?v=7mhhdsqe5dg&feature=youtu.be

.net application screen video: http://www.youtube.com/watch?v=p7n-fecvolq&feature=youtu.be

some more details:

sales processing page usercontrol component

this 1 of complex pages in application. it's "xtrausercontrol" user control implementation of devexpress(basically same winforms user control).

i used layoutcontrol > layoutcontrolgroup > layoutcontrolitem components of devexpress aligning components(grids, button, text boxes etc.) on user control.

and here main container user controls(pages above):

main container form containing user controls(pages)

the main container tabs(user controls one) "xtraform" form implementration of devexpress. when menu item selected container form, related usercontrol(page) loaded on main container form tab item , user can navigate between tabs or open new page(user control) menu.

i'm working devexpress .net controls (and controls source code) since 2007. , seems know possible reasons of visual drawback of these controls under rdp. these reasons are:
- skinning technology (which bitmap-based)
- double-buffered painting

so, let me explain. when user connected via remote desktop connection, drawing operations performed control transferred on network connection rdp client display. if control draw line, "drawline" command sent on network client. if control draw text, "drawtext" command sent (along text draw). if control draw bitmap, entire bitmap needs transferred on network. can main bottleneck when using low-bandwidth connection.

the double-buffered painting based on performing drawing operation offscreen bitmap. bitmap copying onto screen using bitblt method. technique used in devexpress controls draw various visual effects , smooth animations. avoid flickering in controls when control's elements redrawn , used drawing skinned control elements (more details below). when rdp used bitblt-operation transferred on network entire bitmap problem when using low-bandwidth connection.

the devexpress skinning technology bitmap based. skin set of bitmaps determine how control elements should painted in possible states (normal, hot-tracked, selected, pressed, etc.). when control paint itself, draw these bitmaps, - element element. allow devexpress controls beauty , pixel-perfect.
see video , screenshots your .net application used skins (and seems concrete skin "devexpress style") delphi/vcl application not skinned. true? believe, yes. possible way reduce drawback of application disabling skinning forms , using flat style control:

// .net application, program.cs ... devexpress.skins.skinmanager.disableformskins(); devexpress.skins.skinmanager.disablemdiformskins(); devexpress.lookandfeel.userlookandfeel.default.setflatstyle(); ... 

related topics: look , feel overview, look , feel mechanism

i should note flat-painting not double-buffered, may possible solution slow rdp connections.

important exceptions: devexpress controls not supports flat-painting (for example ribboncontrol). know layoutcontrol, xtragrid , of xtraeditors supports flat-painting. should contact devexpress directly controls.

p.s. @david heffernan: thank pointing me right direction.
p.p.s. things i've mentioned in comments erlier true things can increase application performace @ application startup , in general. these things unrelated original problem network traffic.

update
related devexpress support article:
how speed windows forms applications, running in remote desktop services (formerly known terminal services) environment


Comments

Popular posts from this blog

ios - UICollectionView Self Sizing Cells with Auto Layout -

asp.net - Passing parameter to telerik popup -

node.js - ldapjs - write after end error -