 Hi Jesper here from the TouchDFX team. In this video I will show you a few of the new features included in the 4.22 release. First off a couple of small ones which can be seen here in the lobby where you create your new projects. If you're going somewhere and you don't know if the internet will be good and stable you are now able to download each of these components for offline usage. You can choose it here from the card directly or you can go to this menu here and select download all packages, all boards, examples or whatever. Another small feature that has to do with internet connectivity as well is our advanced proxy settings. Some of our users sometimes experience that the designer cannot connect to the internet. This has a lot of various reasons but now if you need advanced proxy settings this is now available here. So you can use the system proxy, you can override it and use a manual proxy configuration or you can choose to use no proxy at all. So now you have more options to overcome any problems you might have with the designer not being able to connect to the internet. Okay let's go to one of the main features of 4.22 which is L8 image compression. For that let me create a project. So a lot of customers need to use less flash and a good way of doing that is to somehow use less flash on storing your images. One way that has existed in TouchGFX for a long time of doing this is to use the L8 image format. So let me recap how this is done in TouchGFX. So let's add an image, pick one from our stock as a background, select this one and add a standard button here as well. This has added some images for our project as seen here. So here in the image format it is set to default. So the default if we go to our configuration and look at image configurations we can see that a normal image for opaque will be RGB888 as we are in a 24-bit application and the Nanopakes are RGB888. So the default will point to whatever we have set there. But here we can see we can also choose the L8 format so either with alpha or without alpha. So now I selected the one without transparency for our background. Let me generate. So it fails. The reason why it fails is as it says here it has too many colors for the palette. So what is an L8 image exactly? So an L8 image is a lossless compression you could say of your image. So the way it works is that it made a color lookup table of maximum 256 colors and then for each pixel it uses one byte for the entry into that color palette. And here we can see that this background has 852 colors which is obviously too many for an L8 image. Okay so obviously that's not a good idea so let me set that back to default. Let me try for the button images instead. So here it has transparency so I can go with this one. Let's try to generate and see if this goes well. So in this case the size of the image will probably has gone down a bit. So this image is not that big so of course there's some overhead in the color lookup table in the L8 format but in this case for this image it hasn't got that many colors I suppose so it will be quite much smaller. So the cost of this is not that high on most of ST microcontrollers since the chroma is able of drawing L8 images in hardware just as it can for RGB 8888. So this means that this is kind of a win-win situation. The cost of drawing this is not any significantly significant size bigger and the size of the image has been lowered. So if you want to save even more flash you can now for the L8 select compression. We have implemented three different algorithms for compressing which in different cases performs the best in terms of the compression ratio. We have a settings called auto which will on compile time select the best one here and that is chosen upon the compression ratio. The cost here is of course that now we need to decompress on the fly when we render an image so it might cost on performance in the frames per second count so to speak. However we often see actually that even though it is compressed the rendering time has not risen that much and the reason for this is that now when it's compressed the data the amount of data is way smaller so fetching the data becomes faster and then you can then you have some time to spend interpreting this data. In numbers a compression well ranges from typical values between 30 and 80% of the original size of the image rendering time wise it it can be the same up to a factor of 4 to 5 for the worst of them. So overall a good trade-off and if you for example is in a situation where you do not need fast rendering time but just need your flash users to be small well then this is a very good option. One detail to note though is that for some complex widgets you cannot use L8 compressed images so for the texture maver and scalable image for example here you cannot texture map a compressed image so don't do that but if you want it to be compressed anyway in your flash and you are using the built-in caching system for our images then if you have an L8 that is compressed in flash and you cache it in RAM then during this caching process the TouchGFX framework will decompress it and store it as a normal L8 image and then you can use it in a texture maver for example. Okay that's it for the introduction for these few new features in 4.22 you can read more about these features and all the rest of the features that is added to the 4.22 release. Have fun! See you!