Hi all,
I started refactoring and optimizing the RemoteFX decoder.
https://github.com/awakecoding/FreeRDP
<https://github.com/awakecoding/FreeRDP>I changed various data types so that
they match the ones defined in MS-RDPRFX. I have spotted different areas of
the code which can definitely be improved on. Basically, there is a lot of
dynamic memory allocation for large buffers multiple times per second, which
obviously kills performance. In rfx_decode_rgb, I spotted three buffers of
4096 * 4 bytes (Y, Cb and Cr) which could safely be re-used if one was
allocated in the RFX_CONTEXT structure. rfx_decode_rgb still allocates a
4096 * 4 byte buffer for the resulting RGB pixel buffer every single time.
Reusing this buffer is going to need extra work though, since one such
buffer is needed per tile sent by the server. I'm thinking of implementing
an "tile pool" in which allocated tiles can be put once used and re-used
later on instead of always allocating new tiles. This should give an extra
performance boost.
On Mon, Jun 6, 2011 at 12:09 PM, Marc-André Moreau <
[email protected]> wrote:
> Does anybody know if there is a way to force the server into sending
> RemoteFX messages only, without any GDI messages? I'd be interested in
> experimenting with ways of saving the RemoteFX stream to a file for later
> use, which would be much easier to do than recording GDI messages. One could
> likely implement a transcoder from RemoteFX to other codecs like VP8 or
> H.264.
>
>
> On Sun, Jun 5, 2011 at 10:16 PM, Vic Lee <[email protected]> wrote:
>
>> Hi Marc,
>>
>> Thanks for your correction, I should say most, not all. :)
>>
>> Vic
>>
>>
>> On 06/06/2011 01:47 AM, Marc-André Moreau wrote:
>>
>>> Hi Vic,
>>>
>>> I would have to confirm, but apparently *some* (very few) GDI messages
>>> still get sent when RemoteFX is in use. libfreerdp-gdi supports both,
>>> but from my testing the server kept sending some GDI messages even with
>>> RemoteFX.
>>>
>>>
>>
>
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Freerdp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freerdp-devel