From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: From: "Russ Cox" To: 9fans@cse.psu.edu Subject: Re: [9fans] vnc[vs] implementation question MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Date: Tue, 18 Jun 2002 13:14:19 -0400 Topicbox-Message-UUID: b330574c-eaca-11e9-9e20-41e7f4b1d025 > in XaoS' case, unfortunately, one can't use this approach, because the > pixels are written by the program in CMAP8 format (and the image used > in loadimage(); is alloc-ed in CMAP8 too) and if the screen is > anything else loadimage(screen, ...); fails... you could have two images, the cmap8 one and one the depth of the screen. then do loadimage(icmap8); draw(iscreenchan, icmap8); draw(screen, iscreenchan); the final draw is the only one that can be seen. by making it a draw between images of the same format you've reduced it to memmove, so the flicker should go away. conversion from cmap8 goes significantly slower than memmove. > it'd be great to have routines that convert between format en masse > (similar to the ones in color(2)), but that's just as expensive as > doing a loadimage();draw() combination. again, i don't think it's the total expense so much as the speed of the operation that the user actually sees.