Какой самый быстрый способ визуализации нескольких десятков 16x16 растровых изображений десятки тысяч раз в случайных местах на экране 800x600?
1) Использовать CopyPixel (), чтобы перенаправить каждый спрайт в экранный буфер 800 * 600?Конечно, вызовите unlock (), lock () для экранного буфера.
2) Использование Алхимии?На стороне c ++ создайте uint * screenBuffer = new uint [800 * 600];и создайте множество: uint * spriteBmp = new uint [16 * 16];И скопировать каждый spriteBmp в тысячи (x, y) мест в screenBuffer?
3) Pixel bender?
Кроме того, мне интересно, какой метод потенциально может использовать аппаратный рендеринг.То есть, если 1) и 3) могут использовать преимущества пользовательских видеокарт, они должны быть на величины быстрее, чем любой программный растеризатор, который я создаю с помощью 2).
Мне не нужно масштабирование или вращение на каждом bmp, ноИнтересно, не нарушат ли они какие-либо оптимизации API as3 для растровых изображений, выровненных по экрану?
Спасибо