OC's way of limiting GPU calls, making pixel-by-pixel drawing incredibly slow, is actually kind-of realistic. (it's only more extreme to compensate for good server performance)
One way, which was already suggested, is to buffer every pixel and only draw the changes.
Additionally to that you'd have to create some sort of algorithm, which groups pixels together to reduce GPU calls.
Soo that is the general idea of some sort of double buffered graphics library for OC.
I know how you're feeling and I didn't read every comment here but it seems like you've overreacted a bit.
Anyway, if you're interested in a double buffering library that allows you to create multiple buffers, I've created one a day ago with a very simple "algorithm" to group the pixels together. (Although I DO NOT only draw the changes; I might add that if I have the motivation for it.)
Click here my dude
You "require" this library and create a buffer with lib.createBuffer(xpos, ypos, width, height) which returns the buffer (table) containing some methods. Almost all of the drawing methods are called the same like from the GPU component api, although I did not add any documentation which means you'll have to look through the code yourself if you don't understand something.
To draw the buffer call buffer.draw().
Be aware that this is not really optimized and I didn't test resizing the buffers (but the methods are there). The RAM usage for a 160x50 buffer is actually acceptable (I think it was 134k free of 194k on a freshly booted OpenOS computer with 2x3.5 Memory) and it draws pretty fast although I did not test very complex images (I should've done that beforehand lol).
(Sorry if I jumped into this conversation too late)
I might also add that if you plan on creating a window-based desktop environment and you see that the windows don't follow your mouse as fast as you drag them, it is not the fault of slow drawing (at least if you have a good double buffering library), instead it's the fact that the computer doesn't process events as fast as CC but maybe you already know that.