По поводу скорости могу сказать, что когда ее делал свою игру, то до оптимизации у меня поле рисовалось мозаично, 768 кусков 32х32. И это дело на DirectDraw7, 32бита и на GeForce FX 5700 (щас у меня же Radeon X700

) рисовалось чуть больше, чем 4мс (под 250 FPS). Мне это показалось неприемлимо много, и в окончательной версии у меня движок со статической частью, что позволяет при прокрутке очень экономить время на перерисовке заднего плала. Дело в том, что видеокарта копируте рисунок 1024х768 примерно с такой же скоростью, как и 32х32.
2 ALX_2002:
Насколько я понимаю, каждый обьект у тебя имеет свои координаты X и Y. Тогда можна сделать своеобразный Y-буфер в котором упорядочить все обьекты по Y-координате.
Например,
Dim YBuffer[1 To NumObjects] as Object
То есть, чтобы получить YBuffer, надо скопировать в него данные из основного массива обьектов, а потом отсортировать по y-координате, по возростанию.
Ну а сортировка - уже другой вопрос. Тут полно алгоритмов
А в конце просто пройтись по массиву сверху вниз, и вывести все обьекты
Кстати такой способ применяется и в 3D(сделанных на софте), звется алгоритмом художника
