[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference bulova::decw_jan-89_to_nov-90

Title:DECWINDOWS 26-JAN-89 to 29-NOV-90
Notice:See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit
Moderator:STAR::VATNE
Created:Mon Oct 30 1989
Last Modified:Mon Dec 31 1990
Last Successful Update:Fri Jun 06 1997
Number of topics:3726
Total number of notes:19516

1094.0. "server char transmit decnet packet?" by CAADC::PMWVESTUTO () Tue Jul 11 1989 17:50

    
    
    My customer has some concerns about inherent performance problems
    with the client/server model in DECwindows.  He heard that whenever
    you type a character on the server side, it sends a packet to the client,
    so it can echo back the character.
    
    Is this true? Is there some specific documents I can read in regards
    to this area??
    
    If it is somewhat true, doesn't it hurt performance? It sounds like it
    should.
    
    
    Thanks!
    
    Viki

T.RTitleUserPersonal
Name
DateLines
1094.1It gets worseFLUME::dikeTue Jul 11 1989 18:0413
Not only that, if you sit down and figure out everywhere that character goes,
you get quite a trip.  It starts in the keyboard driver, goes to the server,
through the kernel network code, over the net to another machine, through that
machine's network code, out to xterm, xterm extracts that character from the X
event and sends it to shell under it via another path through the kernel.  Then
the second half of the trip, which is a reversed mirror image of the first half,
begins, to cause the character to echo.

That is was happens on Ultrix.  On VMS, it is probably somewhat different.  It
seems somewhat incredible that under most circumstances, character echoing
appears instantaneous.
				Jeff

1094.2And windows is NOT the greater part of it!VINO::WITHROWRobert WithrowTue Jul 11 1989 18:467
> Not only that, if you sit down and figure out everywhere that character goes,
> you get quite a trip....

And if you really compare apples-vs-apples (i.e. you are talking about running
an application remotely, say via a HOSTed terminal) there isn't all that much
additional overhead for a windows -vs- non-windows application.

1094.3VWSENG::KLEINSORGEToys 'R' UsTue Jul 11 1989 21:2579
    
    	+-------------+
    	! LK201       !			User types key
    	+-------------+
    	  !
    	  !
    	+-------------+
    	! Port driver !			Device driver gets it
    	+-------------+
    	  !
    	  !
    	+-------------+
    	! IKDRIVER    !			Pass to the DWS KB
    	+-------------+
    	  !
    	  !
    	+-------------+
    	! INDRIVER    !			Pass to the common class drvr
    	+-------------+
          !
    	  !
    	+-------------+
    	! PACKET      !			Insert into a packet and WAKE
    	+-------------+			the server
    	  !
    	  !
    	+-------------+			Context of server process.
    	! SERVER      !			Server dequeue and processing.
    	+-------------+
    	  !
    	  !  DECnet, local memory, TCP/IP, LAT, etc.
    	  !
    	+-------------+
    	! DECTERM     !			DECterm gets it!  Context Swicth!
    	+-------------+
    	  !
    	  ! QIO
    	  !
    	+-------------+
    	! PTY         !			PTY gets QIO, does PUTNXT
    	+-------------+			to get rid of it.
    	! PTY PORT    !
    	+-------------+
    	  !
     	  !
    	+-------------+
    	! TTDRIVER    !			VMS class driver gets it
    	+-------------+
    	  !
    +-----------OPTIONAL-------------+
    	  !
    	+-------------+			The traditional EMACS case, user
    	! USER        !			doing echo instead of TTDRIVER.
    	+-------------+			Context Switch!
    	  !
    	  ! QIO
    	  !
    	+-------------+
    	! TTDRIVER    !			VMS class driver gets it (again)
    	+-------------+
    	  !
    +-----------OPTIONAL-------------+
    	  ! QIO
    	  !
    	+-------------+
    	! DECterm     !			DECterm gets it back!
    	+-------------+
    	  !
    	  !  Decnet, local memory, etc...
    	  !
    	+-------------+			Server gets draw text command
    	! SERVER      !			and finally draws it. Context
    	+-------------+			Switch
    
    
    	All done.  Simple eh?  Of course this is the terminal path, and
    	not the user application path.