I’m starting to explore the old graphic library gsLib. But why, since gsKit is the standard nowadays, have a superiour performance and gsLib is no longer updated? Simply because gsLib, unlike gsKit, supports low resolution screen modes! Gosh, I hate interlaced modes in PAL CTR TV’s and that’s the only mode gsKit uses. In order to use a non interlaced, you have to modify to gsKit source to set, for example, a 640×256 or 640×224 screen mode. Personally I failed to add a pure low resolution screen mode like 320×256 to gsKit (I’ll try again someday) so then the interest in other graphic libs.
Another bonus feature the gsLib adds is mentioned at its documentation:

How cool is that?
This allows us to hook a function to the vsync video signal, so the function will run at the vertical refresh rate! This allows to compensate for the lack of easy to setup interrupt support/multitasking on the PS2 using the free ps2sdk.
The drawback of gsLib it that its written in C++, so the projects that uses it must be also in C++ … Oh well, nothing is perfect.