2017年8月10日木曜日

変わらずmandelとかjavascriptとか・・・

C#でのmandel描画を高速化する方法を調べたけど現状の力ではむりぽ

javascriptの描画速度が1300msあたりと書いたけど35万回繰り返される中の計算式を若干改良・簡素化したものが見つかったので実行すると600msと約2倍高速だ。

内部は遅いほうが



       function drawMandel(){
            var canvas = document.getElementById('myCanvas');
            /* canvas要素の存在チェックとCanvas未対応ブラウザの対処 */
           if ( ! canvas || ! canvas.getContext ) {
             return false;
           }
           
           /* 2Dコンテキスト */
           var ctx = canvas.getContext('2d');
           /* mandelbrot */
           ctx.beginPath();

           var ww=640;
           var hh=480;
                      cols = new Array("black", "blue", "red", "magenta", "lime", "aqua", "yellow", "white");
           
           ctx.fillStyle = "Black";
           ctx.fillRect(0, 0, ww, hh);

           var kl =100;
           var rb = -2.5;
           var re = 1.2;
           var ib = -1.35;
           var ie = 1.35;
           var dr = (re-rb)/ww;
           var di = (ie-ib)/hh;
           var k = 0;
           var cr = rb;
           for(var kr=0;kr 4) break;
                   }
                   if (k < kl) {
                      ctx.strokeStyle=cols[k % 7 + 1];
                      ctx.strokeRect(kr,ki,0,1);
                   }
                   ci += di;
               }
               cr += dr;
           } 
        }
となっていて速い方は

 function draw2() {
    var cx=cvs.width;
    var cy=cvs.height;
    var kl = 100;
    var rb = -2.5;
    var re = 1.2;
    var ib = -1.35;
    var ie = 1.35;
    var dr = (re - rb) / cx;
    var di = (ie - ib) / cy;
    
    var st = new Date();
    for(var dx = 0;dx
となっている。どう違う?

なんかリストが見えないぞ!!!!

0 件のコメント:

dosvaxj3が更新されていた。

 最近、エミュレータ系をあまり触っていなかったのだけど久しぶりに見てみたらタイトルのようにdosvaxj3が更新されていた。 on emulatorでセルフにcなどのソースを書いて実行するのに母艦側の特定のフォルダをドライブとしてマウント出来たり普通に母艦のimeで漢字が入力でき...