Quando rodo o programa a primeira bandeira demora 1 segundo (o tempo que eu coloquei no intervalo entre elas) para aparecer, enquanto isso a tela fica em branco. É assim mesmo ou teria que usar outro código para ela aparecer assim que recarregasse a página?
<script>
    function bandeiraBrasil(){
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');
        pincel.fillStyle = 'green';
        pincel.fillRect(0,0,600,400);
        pincel.fill();
        pincel.fillStyle ='yellow';
        pincel.beginPath();
        pincel.moveTo(300, 50);
        pincel.lineTo(50, 200);
        pincel.lineTo(550, 200);
        pincel.fill();
        pincel.beginPath();
        pincel.moveTo(50, 200);
        pincel.lineTo(300, 350);
        pincel.lineTo(550, 200);
        pincel.fill();
        pincel.fillStyle = 'blue';
        pincel.beginPath();
        pincel.arc(300,200,100,0,2*3.14);//primeiro é eixo x, eixo y, raio, angulo, e PI.
        pincel.fill();
    }
    function bandeiraAlemanha(){
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');
        pincel.fillStyle = 'black'
        pincel.fillRect(0,0,600,133);
        pincel.fillStyle = 'red';
        pincel.fillRect(0,133,600,133);
        pincel.fillStyle = 'yellow';
        pincel.fillRect(0,266,600,133);//NÃO PRECISA DE PINCEL.FILL();
    }
    var mostraBrasil =true;
    function trocaBandeira(){
        if (mostraBrasil==true){
            bandeiraBrasil();
            mostraBrasil=false;
        }
        else{
            bandeiraAlemanha();
            mostraBrasil = true;
        }
    }
    setInterval(trocaBandeira,1000);
</script> 
            