AS3 - ровно 23 пустых альфа-канала, изображения под остановкой рисования

Я заметил, что, пытаясь нарисовать большое количество кругов, иногда возникал какой-то визуальный баг, из-за которого некоторые круги не рисовались должным образом. Что ж, я сузил его и заметил, что если в одном и том же месте есть 23 или более объектов с 00 для значения альфа, то объекты ниже не рисуют. Похоже, что это на попиксельной основе, так как части изображения по-прежнему рисуются.

Первоначально эта проблема была замечена с классом, который унаследовал Sprite. Также было подтверждено, что это проблема со спрайтами, а теперь и с битмапами. Если кто-то может найти класс более низкого уровня, чем Bitmap, которыйне Если у вас есть эта проблема, пожалуйста, говорите, чтобы мы могли попытаться найти причину проблемы.

Я подготовил небольшой тестовый класс, который демонстрирует, что я имею в виду. Вы можете изменить целочисленное значение в строке 20, чтобы увидеть три теста, которые я придумал, чтобы ясно показать проблему.

Есть ли какое-то решение, или это просто предел, с которым мне приходится работать? Кто-нибудь испытывал это раньше? Возможно ли, что я делаю что-то не так, несмотря на пустую реализацию?

package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.display.Bitmap;
    import flash.display.BitmapData;

    public class Main extends Sprite 
    {
        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }

        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            // entry point
            Test(3);
        }

        private function Test(testInt:int):void {
            if(testInt==1){
                addChild(new Bitmap(new BitmapData(200, 200, true, 0xFFFF0000)));
                for (var i:int = 0; i < 22; i++) {
                    addChild(new Bitmap(new BitmapData(100, 100, true, 0x00000000)));
                }
            }
            if(testInt==2){
                addChild(new Bitmap(new BitmapData(200, 200, true, 0xFFFF0000)));
                for (var j:int = 0; j < 23; j++) {
                    addChild(new Bitmap(new BitmapData(100, 100, true, 0x00000000)));
                }
            }
            if(testInt==3){
                addChild(new Bitmap(new BitmapData(200, 200, true, 0xFFFF0000)));
                for (var k:int = 0; k < 22; k++) {
                    addChild(new Bitmap(new BitmapData(100, 100, true, 0x00000000)));
                }
                var M:Bitmap = new Bitmap(new BitmapData(100, 100, true, 0x00000000));
                M.x += 50;
                M.y += 50;
                addChild(M);
            }
        }
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос