Flicker is caused by high contrast horizontal lines. The problem is that the lines are only present on one scan line, so they are only going to be refreshed once every twenty-fifth of a second (for PAL). To the human eye, this slow refresh rate is very noticeable as flicker. The larger the contrast range between the foreground and the background, the more obvious the flicker.
If the graphic material has fine details, then the easiest way to limit the resulting flicker is to blur the image. While taking a lovely clean graphic and blurring it sounds like a crime, but it will actually result in a far less flickering television image. The blur parameters are 'avisynth compatible' and have therefore a range from 0.1 to 1.58 (where 1.58 means an even [1,1,1] convolution matrix). You can set the parameters for horizontal (X) and vertical (Y) blurring independently. Typical values are 0.3 for X and 0.8 for Y. Blur can be used for menus and the background of audio titles in audiotitlesets.
The following example picture (zoomed to 300%) shows the effects for a menu with a text button (text='SW') and the correspondent highlight (above: No blur, below: Blur 1.5 for X and Y):
As you can see, the text has antialiasing in each case (this is done by windows automatically). Without blur, GFD uses a simple 'max color' function for the highlight. With blur the text has not only antialiasing, but is also mixed with the background to reduce flicker. The highlight is also more 'smooth'. The problem hereby is that for the highlight you only have 3 colors. Therefore a quite complicated quantize function is necessary to calculate such a highlight picture and the overall menu rendering time rises a little bit (<1 sec/menu).
But for audiotitlesets with many titles this may surely add up to several minutes.