rwVIDEOMODE_PS2_FSAASHRINKBLIT works as follows. Instead of the usual equal-sized front and back buffers, this mode uses a visible buffer and a non-visible buffer, the latter being twice the size (in both dimensions) of the former. The non-visible buffer is rendered to at 60Hz (or 50Hz for PAL). In the VSYNC interrupt, this buffer is bilinear-filtered to the visible buffer. Because 4 pixels in the non-visible buffer contribute to one pixel in the visible buffer, the displayed image is softened. The filtering has been written to offset alternate frames by half a pixel to give an apparent visible display of the same number of lines as the non-visible buffer. Note that if you use this mode at 30 (25) Hz then the output image will look half height, exactly as per the regular interlaced modes. The bilinear filter uses the hardware and so is very fast. The size of the non-visible and visible buffers can be controlled, although there is a restriction in that the non-visible buffer height must be 448 or 512 lines.
rwVIDEOMODE_PS2_FSAAREADCIRCUIT programs the two read circuits of the GS to read and blend alternate scanlines. The blending is a simple 50%-50% mix. This gives a filtering of the scanlines and so helps to reduce flicker. The buffers are the same dimensions as the non-FSAA1 ones. This mode also uses hardware for the anti-aliasing and so is very fast. Applications should see no slowdown.
Converted from CHM to HTML with chm2web Pro 2.85 (unicode) |