Есть такая API функция BitBlt (подробнее смотри в сети)...
http://www.codenet.ru/progr/delphi/WinAPI/BitBit.php
Дальше нужно создать буфер
Рисовать все на буфере
Код:
Buffer.Canvas.LineTo(...);
Потом буфер при помощи функции BitBlt выводить на форму...
Это самый быстрый способ вывести на экран изображение без аппаратной акселерации...
Вот пример
http://www.vbstreets.ru/VB/Articles/65569.aspx