Currently (if im not mistaken) blitz performs all pixel operations direct to video memory. Int by int (pixel by pixel), this is very slow, especialy for reading.
There are then 2 things which could greatly improve the speed of doing pixel ops:
A) Allow the use of buffers in system memory (currently graphics buffers are stored in video mem)
B) Allow batch operations. Eg:, dump the pixel data into a bank, then send to the video card in big batch.
I wrote a lense effect in b+, it was reasonably fast. A mate of myn then ported the code to alegro, and it run much much faster. This was because of the things stated above. So whilst it is impossible to have hundereds of alpha sprites on screen, it is definatly possible to have more software alpha operations, than currently possible using b+ commands.
There are then 2 things which could greatly improve the speed of doing pixel ops:
A) Allow the use of buffers in system memory (currently graphics buffers are stored in video mem)
B) Allow batch operations. Eg:, dump the pixel data into a bank, then send to the video card in big batch.
I wrote a lense effect in b+, it was reasonably fast. A mate of myn then ported the code to alegro, and it run much much faster. This was because of the things stated above. So whilst it is impossible to have hundereds of alpha sprites on screen, it is definatly possible to have more software alpha operations, than currently possible using b+ commands.