Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Acid - final release

Name: FrozenVoid 2011-10-28 11:50

Optimized quasicrystal code: full window size render ~17 seconds for 30 frames
http://pastebin.com/fjLQnbkB

Name: Anonymous 2011-11-06 7:37

>>279
It's his own thread, let him be. We can also bump old threads with relevant new posts. Yes, he has a trip, yes it's slightly annoying but otherwise tolerable; you can use that information to block out his posts automatically using greasemonkey

http://userscripts.org/scripts/show/40415

Name: Anonymous 2011-11-06 8:21

>>279
StopWithYourNegativity
you | 0x1000000
positivity

Name: Anonymous 2011-11-06 13:27

>>281
finally, a good use for javascript

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-07 12:02

You can now view a version not in a "toy language" here:
http://dis.4chan.org/read/prog/1320683434/

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-08 13:15

Compact version:
<html><head><style>html,body{width:100%;height:100%;margin:0px;}
</style></head><body><canvas id='c' ></canvas></body>
<script>var inittime=Date.now();var starttime=Date.now()
const frcount=30 //more frames just repeat sine pattern
const zoom=0.125//optimal zoom for 1920x1080
var ic,co,sum,bug=0;
function check(){ if(!bug){bug=1;addtm("->R+")}}
function checkstr(str){ if(!bug){bug=1;addtm(str+".")}}
function checks(str){ if(!frame &&!flag){addtm(str)}}
function addtm(str){document.title+=Date.now()-starttime+str;starttime=Date.now()}
function settm(str){document.title=Date.now()-starttime+str;starttime=Date.now()}
function dump(a)document.writeln(a.toString())
var abs=Math.abs
var cos=Math.cos
var sin=Math.sin
var w =window.innerWidth
var h =window.innerHeight
w=w-w%8;//unroll factor
var halfantiw=w*0.5*zoom;
var halfantih=h*0.5*zoom;
var canvas3=document.getElementById('c');
var context=canvas3.getContext("2d");
canvas3.width=w;
canvas3.height=h;
const size=w*h*4
var elsize=w*h;elsize+=(4-(elsize%4))
var wint=[];
 for(i=0;i<frcount;i++){
wint[i]=Uint32Array(ArrayBuffer(elsize));}

var frame = 0,ccs;
var xcomcoss=Array(frcount)
var xcomsins=Array(frcount)
for(var co=0;co<frcount;co++){
ccs=co*0.20943951023931953
xcomcoss[co]=cos(ccs)
xcomsins[co]=sin(ccs)}
var i,preycache;
var preyfsin1cos=Array(h);
var preyfsin2cos=Array(h);
var preyfsin3cos=Array(h);
var preyfsin1sin=Array(h);
var preyfsin2sin=Array(h);
var preyfsin3sin=Array(h);
var pc1,pc2,pc3
for(i=0;i<h;i++){
preycache=i*zoom-halfantih;
pc1=preycache*0.4338837391175581
pc2=preycache*0.7818314824680298
pc3=preycache*0.9749279121818236
preyfsin1cos[i]=cos(pc1)
preyfsin1sin[i]=sin(pc1)
preyfsin2cos[i]=cos(pc2)
preyfsin2sin[i]=sin(pc2)
preyfsin3cos[i]=cos(pc3)
preyfsin3sin[i]=sin(pc3)
}

var prexs1cos=Array(w);
var prexs2cos=Array(w);
var prexs3cos=Array(w);
var hprecos=Array(w)
var hpresin=Array(w)

for(i=0;i<w;i++){
preycache=i*zoom - halfantiw
hpresin[i]=sin(preycache)*0.5
hprecos[i]=cos(preycache)*0.5
prexs1cos[i]=cos(preycache*0.9009688679024191)
prexs2cos[i]=cos(preycache*0.6234898018587336)
prexs3cos[i]=cos(preycache*0.22252093395631445)}
var prodxf1=Array(h)
var prodxs1=Array(h)
var p,p2,p3,p4,p5,p6,i,co
var pc1,pc2,pc3,pc4,pc5,pc6
var ec1,ec2,ec3;
for( i=0;i<h;i++){
prodxf1[i]=Array(w);
p=prodxf1[i];
prodxs1[i]=Array(w);
p4=prodxs1[i]
pc1=preyfsin1cos[i];
pc2=preyfsin2cos[i];
pc3=preyfsin3cos[i];
pc4=preyfsin1sin[i];
pc5=preyfsin2sin[i];
pc6=preyfsin3sin[i];
for(co=0;co<w;co++){
ec1=prexs1cos[co]
ec2=prexs2cos[co]
ec3=prexs3cos[co]
p[co]=pc1*ec1+pc2*ec2+pc3*ec3+hprecos[co];
p4[co]=pc4*ec1+pc5*ec2+pc6*ec3+hpresin[co];;}
}

function redraw(){
var d1,d2,d3,d4,d5,d6,d7,d8
var xf1,xs1,y,x,i,intload=wint[frame],xfracos=xcomcoss[frame%30],xfrasin=xcomsins[frame%30];
var r1,r2,r3,r4,r5,r6,r7,r8;
var temp1,temp2,temp3,temp4,temp5,temp6,temp7,temp8;

for(var y=0,i=0;y<h;y++){xf1=prodxf1[y];xs1=prodxs1[y];
for(x=0;x<w;x+=8) {
r1=3.5+xf1[x]*xfracos-xs1[x]*xfrasin
r2=3.5+xf1[x+1]*xfracos-xs1[x+1]*xfrasin
r3=3.5+xf1[x+2]*xfracos-xs1[x+2]*xfrasin
r4=3.5+xf1[x+3]*xfracos-xs1[x+3]*xfrasin
r5=3.5+xf1[x+4]*xfracos-xs1[x+4]*xfrasin
r6=3.5+xf1[x+5]*xfracos-xs1[x+5]*xfrasin
r7=3.5+xf1[x+6]*xfracos-xs1[x+6]*xfrasin
r8=3.5+xf1[x+7]*xfracos-xs1[x+7]*xfrasin
 temp1=(r1|0)
 temp2=(r2|0)
 temp3=(r3|0)
 temp4=(r4|0)
 temp5=(r5|0)
 temp6=(r6|0)
 temp7=(r7|0)
 temp8=(r8|0)
d1=(abs(temp1+(temp1&1)-r1)*0xff)
d2=(abs(temp2+(temp2&1)-r2)*0xff)
d3=(abs(temp3+(temp3&1)-r3)*0xff)
d4=(abs(temp4+(temp4&1)-r4)*0xff)
d5=(abs(temp5+(temp5&1)-r5)*0xff)
d6=(abs(temp6+(temp6&1)-r6)*0xff)
d7=(abs(temp7+(temp7&1)-r7)*0xff)
d8=(abs(temp8+(temp8&1)-r8)*0xff)
intload[i++]=(d1)|(d2<<8)|(d3<<16)|(d4<<24)
intload[i++]=(d5)|(d6<<8)|(d7<<16)|(d8<<24); }}}
while(frame<frcount){redraw();frame++;}
var RGB=[],ic,ir,ig,ib;
for(var ic=0;ic<0xff;ic++){
ir=ic-31;ir*=ir>2;ig=ic-81;ig*=ig>8;ig=ig<<8;ib=(ic)<<16
RGB[ic]=(ir|ig|ib)|0xff000000;}
var dispc=[];
window.requestAnimationFrame=window.requestAnimationFrame ||    window.webkitRequestAnimationFrame    || window.mozRequestAnimationFrame    || window.oRequestAnimationFrame    || window.msRequestAnimationFrame;
function dispframe(){if(++frame >= frcount)frame = 0;
if(!dispc[frame]){dispc[frame]={width:w,height:h,data:Uint8ClampedArray(ArrayBuffer(size))};
var tv=Uint32Array(dispc[frame].data.buffer);
var intpixels=Uint8Array(wint[frame].buffer);
for(var op=0,c=0;c<elsize;){tv[op++]=RGB[intpixels[c++]];}}
context.putImageData(dispc[frame],0,0);
window.requestAnimationFrame(dispframe);}
addtm("ms render");dispframe();
</script></html>

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-09 1:01

746ms - render
<html><head><style>html,body{width:100%;height:100%;margin:0px;}
</style></head><body><canvas id='c' ></canvas></body>
<script>var inittime=Date.now();var starttime=inittime;
function addtm(str){document.title+=Date.now()-starttime+str;starttime=Date.now()}
function settm(str){document.title=Date.now()-starttime+str;starttime=Date.now()}
function dump(a)document.writeln(a.toString())
var abs=Math.abs
var cos=Math.cos
var sin=Math.sin
var w =window.innerWidth
var h =window.innerHeight
w=w-w%8;//unroll factor
var halfantiw=w*0.0625;
var halfantih=h*0.0625;
var h8=h*8
var w8=w*8
var canvas3=document.getElementById('c');
var context=canvas3.getContext("2d");
canvas3.width=window.innerWidth;
canvas3.height=window.innerHeight;
const size=w*h*4
var elsize=w*h;elsize+=(4-(elsize%4))
var wint=[];
for(i=0;i<30;i++){wint[i]=Uint32Array(ArrayBuffer(elsize));}
var frame = 0;
var i,preycache;
var preyfsin1cos=Float64Array(ArrayBuffer(h8))
var preyfsin2cos=Float64Array(ArrayBuffer(h8))
var preyfsin3cos=Float64Array(ArrayBuffer(h8))
var preyfsin1sin=Float64Array(ArrayBuffer(h8))
var preyfsin2sin=Float64Array(ArrayBuffer(h8))
var preyfsin3sin=Float64Array(ArrayBuffer(h8))

var prexs1cos=Float64Array(ArrayBuffer(w8))
var prexs2cos=Float64Array(ArrayBuffer(w8))
var prexs3cos=Float64Array(ArrayBuffer(w8))
var hprecos=Float64Array(ArrayBuffer(w8))
var hpresin=Float64Array(ArrayBuffer(w8))

var prodxf1=Array(h)
var prodxs1=Array(h)
for( i=0;i<h;i++){
prodxf1[i]=Float64Array(ArrayBuffer(w8));
prodxs1[i]=Float64Array(ArrayBuffer(w8));
}



var pc1,pc2,pc3
for(i=0;i<h;i++){
preycache=i*0.125-halfantih;
pc1=preycache*0.4338837391175581
pc2=preycache*0.7818314824680298
pc3=preycache*0.9749279121818236
preyfsin1cos[i]=cos(pc1)
preyfsin1sin[i]=sin(pc1)
preyfsin2cos[i]=cos(pc2)
preyfsin2sin[i]=sin(pc2)
preyfsin3cos[i]=cos(pc3)
preyfsin3sin[i]=sin(pc3)
}



for(i=0;i<w;i++){
preycache=i*0.125 - halfantiw
hpresin[i]=sin(preycache)*0.5
hprecos[i]=cos(preycache)*0.5
prexs1cos[i]=cos(preycache*0.9009688679024191)
prexs2cos[i]=cos(preycache*0.6234898018587336)
prexs3cos[i]=cos(preycache*0.22252093395631445)}

var p,p2,p3,p4,p5,p6,i,co
var pc1,pc2,pc3,pc4,pc5,pc6
var ec1,ec2,ec3;

for( i=0;i<h;i++){
p=prodxf1[i];
p4=prodxs1[i]
pc1=preyfsin1cos[i];
pc2=preyfsin2cos[i];
pc3=preyfsin3cos[i];
pc4=preyfsin1sin[i];
pc5=preyfsin2sin[i];
pc6=preyfsin3sin[i];
for(co=0;co<w;co++){
ec1=prexs1cos[co]
ec2=prexs2cos[co]
ec3=prexs3cos[co]
p[co]=pc1*ec1+pc2*ec2+pc3*ec3+hprecos[co];
p4[co]=pc4*ec1+pc5*ec2+pc6*ec3+hpresin[co];;}
}
addtm("prec,")
function redraw(){
var d1,d2,d3,d4,d5,d6,d7,d8;
var n1,n2,n3,n4,n5,n6,n7,n8;
var xf1,xs1,y,x,i,intload=wint[frame],xfracos=cos(frame*0.20943951023931953),xfrasin=sin(0.20943951023931953*frame++);
var r1,r2,r3,r4,r5,r6,r7,r8;
var temp1,temp2,temp3,temp4,temp5,temp6,temp7,temp8;
for(var y=0,i=0;y<h;y++){xf1=prodxf1[y];xs1=prodxs1[y];
for(x=0;x<w;x+=8) {
r1=3.5+xf1[x]*xfracos-xs1[x]*xfrasin
r2=3.5+xf1[x+1]*xfracos-xs1[x+1]*xfrasin
r3=3.5+xf1[x+2]*xfracos-xs1[x+2]*xfrasin
r4=3.5+xf1[x+3]*xfracos-xs1[x+3]*xfrasin
r5=3.5+xf1[x+4]*xfracos-xs1[x+4]*xfrasin
r6=3.5+xf1[x+5]*xfracos-xs1[x+5]*xfrasin
r7=3.5+xf1[x+6]*xfracos-xs1[x+6]*xfrasin
r8=3.5+xf1[x+7]*xfracos-xs1[x+7]*xfrasin
 temp1=(r1|0)
 temp2=(r2|0)
 temp3=(r3|0)
 temp4=(r4|0)
 temp5=(r5|0)
 temp6=(r6|0)
 temp7=(r7|0)
 temp8=(r8|0)
n1=(abs(temp1+(temp1&1)-r1)*0xff)
n2=(abs(temp2+(temp2&1)-r2)*0xff)
n3=(abs(temp3+(temp3&1)-r3)*0xff)
n4=(abs(temp4+(temp4&1)-r4)*0xff)
n5=(abs(temp5+(temp5&1)-r5)*0xff)
n6=(abs(temp6+(temp6&1)-r6)*0xff)
n7=(abs(temp7+(temp7&1)-r7)*0xff)
n8=(abs(temp8+(temp8&1)-r8)*0xff)
intload[i++]=(n1)|(n2<<8)|(n3<<16)|(n4<<24)
intload[i++]=(n5)|(n6<<8)|(n7<<16)|(n8<<24); }}}
while(frame<30)redraw();
var RGB=[],ic,ir,ig,ib;
for(var ic=0;ic<0xff;ic++){
ir=ic-31;ir*=ir>2;ig=ic-81;ig*=ig>8;ig=ig<<8;ib=(ic)<<16
RGB[ic]=(ir|ig|ib)|0xff000000;}
var dispc=[];
window.requestAnimationFrame=window.requestAnimationFrame ||    window.webkitRequestAnimationFrame    || window.mozRequestAnimationFrame    || window.oRequestAnimationFrame    || window.msRequestAnimationFrame;
function dispframe(){if(++frame >= 30)frame = 0;
if(!dispc[frame]){dispc[frame]={width:w,height:h,data:Uint8ClampedArray(ArrayBuffer(size))};
var tv=Uint32Array(dispc[frame].data.buffer);
var intpixels=Uint8Array(wint[frame].buffer);
for(var op=0,c=0;c<elsize;){tv[op++]=RGB[intpixels[c++]];}
delete(wint[frame]);}
context.putImageData(dispc[frame],0,0);
window.requestAnimationFrame(dispframe);}
addtm("ms render");dispframe();
</script></html>

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-09 1:27

735 ms
<html><head><style>html,body{width:100%;height:100%;margin:0px;}
</style></head><body><canvas id='c' ></canvas></body>
<script>var inittime=Date.now();var starttime=inittime;
function addtm(str){document.title+=Date.now()-starttime+str;starttime=Date.now()}
function settm(str){document.title=Date.now()-starttime+str;starttime=Date.now()}
function dump(a)document.writeln(a.toString())
var abs=Math.abs
var cos=Math.cos
var sin=Math.sin
var w=window.innerWidth
var h =window.innerHeight
w=w-w%8;//unroll factor
var halfantiw=w*0.0625;
var halfantih=h*0.0625;
var h8=h*8
var w8=w*8
var canvas3=document.getElementById('c');
var context=canvas3.getContext("2d");
canvas3.width=window.innerWidth;
canvas3.height=window.innerHeight;
const size=w*h*4
var elsize=w*h;elsize+=(4-(elsize%4))
var wint=[];
for(i=0;i<30;i++){wint[i]=Uint32Array(ArrayBuffer(elsize));}
var frame = 0;
var i,preycache;

var preyfsin1cos=Float64Array(ArrayBuffer(h8))
var preyfsin2cos=Float64Array(ArrayBuffer(h8))
var preyfsin3cos=Float64Array(ArrayBuffer(h8))
var preyfsin1sin=Float64Array(ArrayBuffer(h8))
var preyfsin2sin=Float64Array(ArrayBuffer(h8))
var preyfsin3sin=Float64Array(ArrayBuffer(h8))

var prexs1cos=Float64Array(ArrayBuffer(w8))
var prexs2cos=Float64Array(ArrayBuffer(w8))
var prexs3cos=Float64Array(ArrayBuffer(w8))
var hprecos=Float64Array(ArrayBuffer(w8))
var hpresin=Float64Array(ArrayBuffer(w8))
var prodxf1=Array(h)
var prodxs1=Array(h)
for( i=0;i<h;i++){
prodxf1[i]=Float64Array(ArrayBuffer(w8));
prodxs1[i]=Float64Array(ArrayBuffer(w8));
}



var pc1,pc2,pc3
for(i=0;i<h;i++){
preycache=i*0.125-halfantih;
pc1=preycache*0.4338837391175581
pc2=preycache*0.7818314824680298
pc3=preycache*0.9749279121818236
preyfsin1cos[i]=cos(pc1)
preyfsin1sin[i]=sin(pc1)
preyfsin2cos[i]=cos(pc2)
preyfsin2sin[i]=sin(pc2)
preyfsin3cos[i]=cos(pc3)
preyfsin3sin[i]=sin(pc3)
}



for(i=0;i<w;i++){
preycache=i*0.125 - halfantiw
hpresin[i]=sin(preycache)*0.5
hprecos[i]=cos(preycache)*0.5
prexs1cos[i]=cos(preycache*0.9009688679024191)
prexs2cos[i]=cos(preycache*0.6234898018587336)
prexs3cos[i]=cos(preycache*0.22252093395631445)}

var p,p2,p3,p4,p5,p6,i,co
var pc1,pc2,pc3,pc4,pc5,pc6
var ec1,ec2,ec3;
for( i=0;i<h;i++){
p=prodxf1[i];
p4=prodxs1[i]
pc1=preyfsin1cos[i];
pc2=preyfsin2cos[i];
pc3=preyfsin3cos[i];
pc4=preyfsin1sin[i];
pc5=preyfsin2sin[i];
pc6=preyfsin3sin[i];
for(co=0;co<w;co++){
ec1=prexs1cos[co]
ec2=prexs2cos[co]
ec3=prexs3cos[co]
p[co]=pc1*ec1+pc2*ec2+pc3*ec3+hprecos[co];
p4[co]=pc4*ec1+pc5*ec2+pc6*ec3+hpresin[co];;}
}

var rs=Float64Array(ArrayBuffer(64));
var ns=Float64Array(ArrayBuffer(64));
var temps=Int32Array(ArrayBuffer(32))
var lvars=Int32Array(ArrayBuffer(32))
function redraw(){
var xf1,xs1,y=lvars[0],x=lvars[1],i=lvars[2],intload=wint[frame],xfracos=cos(frame*0.20943951023931953),xfrasin=sin(0.20943951023931953*frame++);
var r1=rs[0],r2=rs[1],r3=rs[2],r4=rs[3],r5=rs[4],r6=rs[5],r7=rs[6],r8=rs[7];
var n1=ns[0],n2=ns[1],n3=ns[2],n4=ns[3],n5=ns[4],n6=ns[5],n7=ns[6],n8=ns[7];
var temp1=temps[0],temp2=temps[1],temp3=temps[2],temp4=temps[3],temp5=temps[4],temp6=temps[5],temp7=temps[6],temp8=temps[7];

for(var y=0,i=0;y<h;y++){xf1=prodxf1[y];xs1=prodxs1[y];
for(x=0;x<w;x+=8) {
r1=3.5+xf1[x]*xfracos-xs1[x]*xfrasin
r2=3.5+xf1[x+1]*xfracos-xs1[x+1]*xfrasin
r3=3.5+xf1[x+2]*xfracos-xs1[x+2]*xfrasin
r4=3.5+xf1[x+3]*xfracos-xs1[x+3]*xfrasin
r5=3.5+xf1[x+4]*xfracos-xs1[x+4]*xfrasin
r6=3.5+xf1[x+5]*xfracos-xs1[x+5]*xfrasin
r7=3.5+xf1[x+6]*xfracos-xs1[x+6]*xfrasin
r8=3.5+xf1[x+7]*xfracos-xs1[x+7]*xfrasin
 temp1=(r1|0)
 temp2=(r2|0)
 temp3=(r3|0)
 temp4=(r4|0)
 temp5=(r5|0)
 temp6=(r6|0)
 temp7=(r7|0)
 temp8=(r8|0)
n1=(abs(temp1+(temp1&1)-r1)*0xff)
n2=(abs(temp2+(temp2&1)-r2)*0xff)
n3=(abs(temp3+(temp3&1)-r3)*0xff)
n4=(abs(temp4+(temp4&1)-r4)*0xff)
n5=(abs(temp5+(temp5&1)-r5)*0xff)
n6=(abs(temp6+(temp6&1)-r6)*0xff)
n7=(abs(temp7+(temp7&1)-r7)*0xff)
n8=(abs(temp8+(temp8&1)-r8)*0xff)
intload[i++]=(n1)|(n2<<8)|(n3<<16)|(n4<<24)
intload[i++]=(n5)|(n6<<8)|(n7<<16)|(n8<<24); }}}
while(frame<30)redraw();
var RGB=[],ic,ir,ig,ib;
for(var ic=0;ic<0xff;ic++){
ir=ic-31;ir*=ir>2;ig=ic-81;ig*=ig>8;ig=ig<<8;ib=(ic)<<16
RGB[ic]=(ir|ig|ib)|0xff000000;}
var dispc=[];
window.requestAnimationFrame=window.requestAnimationFrame ||    window.webkitRequestAnimationFrame    || window.mozRequestAnimationFrame    || window.oRequestAnimationFrame    || window.msRequestAnimationFrame;
function dispframe(){if(++frame >= 30)frame = 0;
if(!dispc[frame]){dispc[frame]={width:w,height:h,data:Uint8ClampedArray(ArrayBuffer(size))};
var tv=Uint32Array(dispc[frame].data.buffer);
var intpixels=Uint8Array(wint[frame].buffer);
for(var op=0,c=0;c<elsize;){tv[op++]=RGB[intpixels[c++]];}
delete(wint[frame]);}
context.putImageData(dispc[frame],0,0);
window.requestAnimationFrame(dispframe);}
addtm("ms render");dispframe();
</script></html>

Name: Anonymous 2011-11-09 1:35

>>287

my browser no has Uint32Array

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-09 1:56

Download latest firefox http://nightly.mozilla.org/

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-09 1:58

Nightly can be installed along with old versions(it will not overwrite Firefox 3.6.2,and any extensions can be enabled if you use Nightly tester tools)

Name: Anonymous 2011-11-09 2:04

FROZENSHIT IS AN IDIOT
SAGE

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-09 10:35

*In my nightly setup i just set extensions.checkCompatibility->false in about:config but some could prefer the convenience of addons

Name: Anonymous 2011-11-09 12:06

>My shit only works on pre-pre-pre alpha nightly ghetto builds
Sure is [undelrine}[overline][strong][emphasis]EXPERT PROGRAMMER here.[/italic][/strong][/overtheline][/underline]

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-09 22:16

725ms minor changes
<html><head><style>html,body{width:100%;height:100%;margin:0px;}
</style></head><body><canvas id='c' ></canvas></body>
<script>//722ms new record
var inittime=Date.now();var starttime=inittime;
function addtm(str){document.title+=Date.now()-starttime+str;starttime=Date.now()}
function settm(str){document.title=Date.now()-starttime+str;starttime=Date.now()}
function dump(a)document.writeln(a.toString())
var abs=Math.abs
var cos=Math.cos
var sin=Math.sin
var w=window.innerWidth
var h =window.innerHeight
w=w-w%8;//unroll factor
var halfantiw=w*0.0625;
var halfantih=h*0.0625;
var h8=h*8
var w8=w*8;
var canvas3=document.getElementById('c');
var context=canvas3.getContext("2d");
canvas3.width=window.innerWidth;
canvas3.height=window.innerHeight;
const size=w*h*4
var elsize=w*h;elsize+=(4-(elsize%4))
var wint=[];
for(i=0;i<30;i++){wint[i]=Uint32Array(ArrayBuffer(elsize));}
var frame = 0;
var i,preycache;
var rs=Float64Array(ArrayBuffer(64));
var ns=Float64Array(ArrayBuffer(64));
var temps=Int32Array(ArrayBuffer(32))
var lvars=Int32Array(ArrayBuffer(32))
var fcos=Float64Array(ArrayBuffer(8*30));
var fsin=Float64Array(ArrayBuffer(8*30));

var preyfsin1cos=Float64Array(ArrayBuffer(h8))
var preyfsin2cos=Float64Array(ArrayBuffer(h8))
var preyfsin3cos=Float64Array(ArrayBuffer(h8))
var preyfsin1sin=Float64Array(ArrayBuffer(h8))
var preyfsin2sin=Float64Array(ArrayBuffer(h8))
var preyfsin3sin=Float64Array(ArrayBuffer(h8))

var prexs1cos=Float64Array(ArrayBuffer(w8))
var prexs2cos=Float64Array(ArrayBuffer(w8))
var prexs3cos=Float64Array(ArrayBuffer(w8))
var hprecos=Float64Array(ArrayBuffer(w8))
var hpresin=Float64Array(ArrayBuffer(w8))
var prodxf1=Array(h)
var prodxs1=Array(h)
for( i=0;i<h;i++){
prodxf1[i]=Float64Array(ArrayBuffer(w8));
prodxs1[i]=Float64Array(ArrayBuffer(w8));
}


for(i=0;i<30;i++){
fcos[i]=cos(i*0.20943951023931953)
fsin[i]=sin(i*0.20943951023931953)
}

var pc1,pc2,pc3
for(i=0;i<h;i++){
preycache=i*0.125-halfantih;
pc1=preycache*0.4338837391175581
pc2=preycache*0.7818314824680298
pc3=preycache*0.9749279121818236
preyfsin1cos[i]=cos(pc1)
preyfsin1sin[i]=sin(pc1)
preyfsin2cos[i]=cos(pc2)
preyfsin2sin[i]=sin(pc2)
preyfsin3cos[i]=cos(pc3)
preyfsin3sin[i]=sin(pc3)
}



for(i=0;i<w;i++){
preycache=i*0.125 - halfantiw
hpresin[i]=sin(preycache)*0.5
hprecos[i]=cos(preycache)*0.5
prexs1cos[i]=cos(preycache*0.9009688679024191)
prexs2cos[i]=cos(preycache*0.6234898018587336)
prexs3cos[i]=cos(preycache*0.22252093395631445)}

var p,p2,p3,p4,p5,p6,i,co
var pc1,pc2,pc3,pc4,pc5,pc6
var ec1,ec2,ec3;
for( i=0;i<h;i++){
p=prodxf1[i];
p4=prodxs1[i]
pc1=preyfsin1cos[i];
pc2=preyfsin2cos[i];
pc3=preyfsin3cos[i];
pc4=preyfsin1sin[i];
pc5=preyfsin2sin[i];
pc6=preyfsin3sin[i];
for(co=0;co<w;co++){
ec1=prexs1cos[co]
ec2=prexs2cos[co]
ec3=prexs3cos[co]
p[co]=pc1*ec1+pc2*ec2+pc3*ec3+hprecos[co];
p4[co]=pc4*ec1+pc5*ec2+pc6*ec3+hpresin[co];;}
}


function redraw(){
var xf1,xs1,y=lvars[0],x=lvars[1],i=lvars[2],intload=wint[frame],xfracos=lvars[3]=fcos[frame],xfrasin=lvars[4]=fsin[frame++];
var r1=rs[0],r2=rs[1],r3=rs[2],r4=rs[3],r5=rs[4],r6=rs[5],r7=rs[6],r8=rs[7];
var n1=ns[0],n2=ns[1],n3=ns[2],n4=ns[3],n5=ns[4],n6=ns[5],n7=ns[6],n8=ns[7];
var temp1=temps[0],temp2=temps[1],temp3=temps[2],temp4=temps[3],temp5=temps[4],temp6=temps[5],temp7=temps[6],temp8=temps[7];

for(var y=0,i=0;y<h;y++){xf1=prodxf1[y];xs1=prodxs1[y];
for(x=0;x<w;x+=8) {
r1=3.5+xf1[x]*xfracos-xs1[x]*xfrasin
r2=3.5+xf1[x+1]*xfracos-xs1[x+1]*xfrasin
r3=3.5+xf1[x+2]*xfracos-xs1[x+2]*xfrasin
r4=3.5+xf1[x+3]*xfracos-xs1[x+3]*xfrasin
r5=3.5+xf1[x+4]*xfracos-xs1[x+4]*xfrasin
r6=3.5+xf1[x+5]*xfracos-xs1[x+5]*xfrasin
r7=3.5+xf1[x+6]*xfracos-xs1[x+6]*xfrasin
r8=3.5+xf1[x+7]*xfracos-xs1[x+7]*xfrasin
 temp1=(r1|0)
 temp2=(r2|0)
 temp3=(r3|0)
 temp4=(r4|0)
 temp5=(r5|0)
 temp6=(r6|0)
 temp7=(r7|0)
 temp8=(r8|0)
n1=(abs(temp1+(temp1&1)-r1)*0xff)
n2=(abs(temp2+(temp2&1)-r2)*0xff)
n3=(abs(temp3+(temp3&1)-r3)*0xff)
n4=(abs(temp4+(temp4&1)-r4)*0xff)
n5=(abs(temp5+(temp5&1)-r5)*0xff)
n6=(abs(temp6+(temp6&1)-r6)*0xff)
n7=(abs(temp7+(temp7&1)-r7)*0xff)
n8=(abs(temp8+(temp8&1)-r8)*0xff)
intload[i++]=(n1)|(n2<<8)|(n3<<16)|(n4<<24)
intload[i++]=(n5)|(n6<<8)|(n7<<16)|(n8<<24); }}}
while(frame<30)redraw();
var RGB=[],ic,ir,ig,ib;
for(var ic=0;ic<0xff;ic++){
ir=ic-31;ir*=ir>2;ig=ic-81;ig*=ig>8;ig=ig<<8;ib=(ic)<<16
RGB[ic]=(ir|ig|ib)|0xff000000;}
var dispc=[];
window.requestAnimationFrame=window.requestAnimationFrame ||    window.webkitRequestAnimationFrame    || window.mozRequestAnimationFrame    || window.oRequestAnimationFrame    || window.msRequestAnimationFrame;
function dispframe(){if(++frame >= 30)frame = 0;
if(!dispc[frame]){dispc[frame]={width:w,height:h,data:Uint8ClampedArray(ArrayBuffer(size))};
var tv=Uint32Array(dispc[frame].data.buffer);
var intpixels=Uint8Array(wint[frame].buffer);
for(var op=0,c=0;c<elsize;){tv[op++]=RGB[intpixels[c++]];}
delete(wint[frame]);}
context.putImageData(dispc[frame],0,0);
window.requestAnimationFrame(dispframe);}
addtm("ms render");dispframe();
</script></html>

Name: matth@eecs.berkeley.edu !!AjRHqD4qA0U7+RB 2011-11-09 22:27

>>294
No one cares. You failed at life. Go kill yourself you dumb nigger.

Name: Anonymous 2011-11-09 23:09

>>295
Just chill bro. It's FV posting in his own thread. Go bump an old thread with relevant advice if that makes you feel better.

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-10 1:04

701ms
<html><head><style>html,body{width:100%;height:100%;margin:0px;}
</style></head><body><canvas id='c' ></canvas></body>
<script>//701ms current
var inittime=Date.now();var starttime=inittime;
function addtm(str){document.title+=Date.now()-starttime+str;starttime=Date.now()}
function settm(str){document.title=Date.now()-starttime+str;starttime=Date.now()}
function dump(a)document.writeln(a.toString())
var abs=Math.abs
var cos=Math.cos
var sin=Math.sin
var w=window.innerWidth
var h =window.innerHeight
w=w-w%8;//unroll factor
var halfantiw=w*0.0625;
var halfantih=h*0.0625;
var h8=h*8
var w8=w*8;
var canvas3=document.getElementById('c');
var context=canvas3.getContext("2d");
canvas3.width=window.innerWidth;
canvas3.height=window.innerHeight;
const size=w*h*4
var elsize=w*h;elsize+=(4-(elsize%4))
var wint=[];
for(i=0;i<30;i++){wint[i]=Uint32Array(ArrayBuffer(elsize));}
var frame = 0;
var i,preycache;
var rs=Float64Array(ArrayBuffer(64));
var ns=Float64Array(ArrayBuffer(64));
var temps=Int32Array(ArrayBuffer(32))
var lvars=Int32Array(ArrayBuffer(32))
var fcos=Float64Array(ArrayBuffer(8*30));
var fsin=Float64Array(ArrayBuffer(8*30));

var preyfsin1cos=Float64Array(ArrayBuffer(h8))
var preyfsin2cos=Float64Array(ArrayBuffer(h8))
var preyfsin3cos=Float64Array(ArrayBuffer(h8))
var preyfsin1sin=Float64Array(ArrayBuffer(h8))
var preyfsin2sin=Float64Array(ArrayBuffer(h8))
var preyfsin3sin=Float64Array(ArrayBuffer(h8))

var prexs1cos=Float64Array(ArrayBuffer(w8))
var prexs2cos=Float64Array(ArrayBuffer(w8))
var prexs3cos=Float64Array(ArrayBuffer(w8))
var hprecos=Float64Array(ArrayBuffer(w8))
var hpresin=Float64Array(ArrayBuffer(w8))
var prodxf1=Array(h)
var prodxs1=Array(h)
for( i=0;i<h;i++){
prodxf1[i]=Float64Array(ArrayBuffer(w8));
prodxs1[i]=Float64Array(ArrayBuffer(w8));
}


for(i=0;i<30;i++){
fcos[i]=cos(i*0.20943951023931953)
fsin[i]=sin(i*0.20943951023931953)
}

var pc1,pc2,pc3
for(i=0;i<h;i++){
preycache=i*0.125-halfantih;
pc1=preycache*0.4338837391175581
pc2=preycache*0.7818314824680298
pc3=preycache*0.9749279121818236
preyfsin1cos[i]=cos(pc1)
preyfsin1sin[i]=sin(pc1)
preyfsin2cos[i]=cos(pc2)
preyfsin2sin[i]=sin(pc2)
preyfsin3cos[i]=cos(pc3)
preyfsin3sin[i]=sin(pc3)
}



for(i=0;i<w;i++){
preycache=i*0.125 - halfantiw
hpresin[i]=sin(preycache)*0.5
hprecos[i]=cos(preycache)*0.5
prexs1cos[i]=cos(preycache*0.9009688679024191)
prexs2cos[i]=cos(preycache*0.6234898018587336)
prexs3cos[i]=cos(preycache*0.22252093395631445)}

var p,p2,p3,p4,p5,p6,i,co
var pc1,pc2,pc3,pc4,pc5,pc6
var ec1,ec2,ec3;
for( i=0;i<h;i++){
p=prodxf1[i];
p4=prodxs1[i]
pc1=preyfsin1cos[i];
pc2=preyfsin2cos[i];
pc3=preyfsin3cos[i];
pc4=preyfsin1sin[i];
pc5=preyfsin2sin[i];
pc6=preyfsin3sin[i];
for(co=0;co<w;co++){
ec1=prexs1cos[co]
ec2=prexs2cos[co]
ec3=prexs3cos[co]
p[co]=pc1*ec1+pc2*ec2+pc3*ec3+hprecos[co];
p4[co]=pc4*ec1+pc5*ec2+pc6*ec3+hpresin[co];;}
}


function redraw(){
var xf1,xs1,y=lvars[0],x=lvars[1],i=lvars[2],intload=wint[frame],xfracos=lvars[3]=fcos[frame],xfrasin=lvars[4]=fsin[frame];
var r1=rs[0],r2=rs[1],r3=rs[2],r4=rs[3],r5=rs[4],r6=rs[5],r7=rs[6],r8=rs[7];
var n1=ns[0],n2=ns[1],n3=ns[2],n4=ns[3],n5=ns[4],n6=ns[5],n7=ns[6],n8=ns[7];
var temp1=temps[0],temp2=temps[1],temp3=temps[2],temp4=temps[3],temp5=temps[4],temp6=temps[5],temp7=temps[6],temp8=temps[7];

for(var y=0,i=0;y<h;y++){xf1=prodxf1[y];xs1=prodxs1[y];
for(x=0;x<w;) {
r1=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
;r2=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
;r3=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
;r4=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
;r5=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
;r6=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
;r7=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
;r8=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
 temp1=(r1|0)
 temp2=(r2|0)
 temp3=(r3|0)
 temp4=(r4|0)
 temp5=(r5|0)
 temp6=(r6|0)
 temp7=(r7|0)
 temp8=(r8|0)
n1=(abs(temp1+(temp1&1)-r1)*0xff)
n2=(abs(temp2+(temp2&1)-r2)*0xff)
n3=(abs(temp3+(temp3&1)-r3)*0xff)
n4=(abs(temp4+(temp4&1)-r4)*0xff)
n5=(abs(temp5+(temp5&1)-r5)*0xff)
n6=(abs(temp6+(temp6&1)-r6)*0xff)
n7=(abs(temp7+(temp7&1)-r7)*0xff)
n8=(abs(temp8+(temp8&1)-r8)*0xff)
intload[i++]=(n1)|(n2<<8)|(n3<<16)|(n4<<24)
intload[i++]=(n5)|(n6<<8)|(n7<<16)|(n8<<24); }}}
for(frame=0;frame<30;frame++)redraw();
var RGB=[],ic,ir,ig,ib;
for(var ic=0;ic<0xff;ic++){
ir=ic-31;ir*=ir>2;ig=ic-81;ig*=ig>8;ig=ig<<8;ib=(ic)<<16
RGB[ic]=(ir|ig|ib)|0xff000000;}
var dispc=[];
window.requestAnimationFrame=window.requestAnimationFrame ||    window.webkitRequestAnimationFrame    || window.mozRequestAnimationFrame    || window.oRequestAnimationFrame    || window.msRequestAnimationFrame;
function dispframe(){if(++frame >= 30)frame = 0;
if(!dispc[frame]){dispc[frame]={width:w,height:h,data:Uint8ClampedArray(ArrayBuffer(size))};
var tv=Uint32Array(dispc[frame].data.buffer);
var intpixels=Uint8Array(wint[frame].buffer);
for(var op=0,c=0;c<elsize;){tv[op++]=RGB[intpixels[c++]];}
delete(wint[frame]);}
context.putImageData(dispc[frame],0,0);
window.requestAnimationFrame(dispframe);}
addtm("ms render");dispframe();
</script></html>

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-10 1:43

681ms
    <html><head><style>html,body{width:100%;height:100%;margin:0px;}
    </style></head><body><canvas id='c' ></canvas></body>
    <script>//701ms current
    var inittime=Date.now();var starttime=inittime;
    function addtm(str){document.title+=Date.now()-starttime+str;starttime=Date.now()}
    function settm(str){document.title=Date.now()-starttime+str;starttime=Date.now()}
    function dump(a)document.writeln(a.toString())
    var abs=Math.abs
    var cos=Math.cos
    var sin=Math.sin
    var w=window.innerWidth
    var h =window.innerHeight
    w=w-w%8;//unroll factor
    var halfantiw=w*0.0625;
    var halfantih=h*0.0625;
    var h8=h*8
    var w8=w*8;
    var canvas3=document.getElementById('c');
    var context=canvas3.getContext("2d");
    canvas3.width=window.innerWidth;
    canvas3.height=window.innerHeight;
    const size=w*h*4
    var elsize=w*h;elsize+=(4-(elsize%4))
    var wint=[];
    for(i=0;i<30;i++){wint[i]=Uint32Array(ArrayBuffer(elsize));}
    var frame = 0;
    var i,preycache;
    var rs=Float64Array(ArrayBuffer(64));
    var ns=Float64Array(ArrayBuffer(64));
    var temps=Int32Array(ArrayBuffer(64))
    var lvars=Int32Array(ArrayBuffer(32))
    var fcos=Float64Array(ArrayBuffer(8*30));
    var fsin=Float64Array(ArrayBuffer(8*30));

    var preyfsin1cos=Float64Array(ArrayBuffer(h8))
    var preyfsin2cos=Float64Array(ArrayBuffer(h8))
    var preyfsin3cos=Float64Array(ArrayBuffer(h8))
    var preyfsin1sin=Float64Array(ArrayBuffer(h8))
    var preyfsin2sin=Float64Array(ArrayBuffer(h8))
    var preyfsin3sin=Float64Array(ArrayBuffer(h8))

    var prexs1cos=Float64Array(ArrayBuffer(w8))
    var prexs2cos=Float64Array(ArrayBuffer(w8))
    var prexs3cos=Float64Array(ArrayBuffer(w8))
    var hprecos=Float64Array(ArrayBuffer(w8))
    var hpresin=Float64Array(ArrayBuffer(w8))
    var prodxf1=Array(h)
    var prodxs1=Array(h)
    for( i=0;i<h;i++){
    prodxf1[i]=Float64Array(ArrayBuffer(w8));
    prodxs1[i]=Float64Array(ArrayBuffer(w8));
    }


    for(i=0;i<30;i++){
    fcos[i]=cos(i*0.20943951023931953)
    fsin[i]=sin(i*0.20943951023931953)
    }

    var pc1,pc2,pc3
    for(i=0;i<h;i++){
    preycache=i*0.125-halfantih;
    pc1=preycache*0.4338837391175581
    pc2=preycache*0.7818314824680298
    pc3=preycache*0.9749279121818236
    preyfsin1cos[i]=cos(pc1)
    preyfsin1sin[i]=sin(pc1)
    preyfsin2cos[i]=cos(pc2)
    preyfsin2sin[i]=sin(pc2)
    preyfsin3cos[i]=cos(pc3)
    preyfsin3sin[i]=sin(pc3)
    }



    for(i=0;i<w;i++){
    preycache=i*0.125 - halfantiw
    hpresin[i]=sin(preycache)*0.5
    hprecos[i]=cos(preycache)*0.5
    prexs1cos[i]=cos(preycache*0.9009688679024191)
    prexs2cos[i]=cos(preycache*0.6234898018587336)
    prexs3cos[i]=cos(preycache*0.22252093395631445)}

    var p,p2,p3,p4,p5,p6,i,co
    var pc1,pc2,pc3,pc4,pc5,pc6
    var ec1,ec2,ec3;
    for( i=0;i<h;i++){
    p=prodxf1[i];
    p4=prodxs1[i]
    pc1=preyfsin1cos[i];
    pc2=preyfsin2cos[i];
    pc3=preyfsin3cos[i];
    pc4=preyfsin1sin[i];
    pc5=preyfsin2sin[i];
    pc6=preyfsin3sin[i];
    for(co=0;co<w;co++){
    ec1=prexs1cos[co]
    ec2=prexs2cos[co]
    ec3=prexs3cos[co]
    p[co]=pc1*ec1+pc2*ec2+pc3*ec3+hprecos[co];
    p4[co]=pc4*ec1+pc5*ec2+pc6*ec3+hpresin[co];;}
    }


    function redraw(){
    var xf1,xs1,y=lvars[0],x=lvars[1],i=lvars[2],intload=wint[frame],xfracos=lvars[3]=fcos[frame],xfrasin=lvars[4]=fsin[frame];
    var r1=rs[0],r2=rs[1],r3=rs[2],r4=rs[3],r5=rs[4],r6=rs[5],r7=rs[6],r8=rs[7];
    var n1=ns[0],n2=ns[1],n3=ns[2],n4=ns[3],n5=ns[4],n6=ns[5],n7=ns[6],n8=ns[7];
    var temp1=temps[0],temp2=temps[1],temp3=temps[2],temp4=temps[3],temp5=temps[4],temp6=temps[5],temp7=temps[6],temp8=temps[7],t1=temps[8],t2=temps[9],t3=temps[10],t4=temps[11],t5=temps[12],t6=temps[13],t7=temps[14],t8=temps[15];;

    for(var y=0,i=0;y<h;y++){xf1=prodxf1[y];xs1=prodxs1[y];
    for(x=0;x<w;) {
    r1=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r2=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r3=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r4=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r5=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r6=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r7=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r8=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
     temp1=(r1|0)
     temp2=(r2|0)
     temp3=(r3|0)
     temp4=(r4|0)
     temp5=(r5|0)
     temp6=(r6|0)
     temp7=(r7|0)
     temp8=(r8|0)
  t1=(temp1&1)+temp1-r1
  t2=(temp2&1)+temp2-r2
  t3=(temp3&1)+temp3-r3
  t4=(temp4&1)+temp4-r4
  t5=(temp5&1)+temp5-r5
  t6=(temp6&1)+temp6-r6
  t7=(temp7&1)+temp7-r7
  t8=(temp8&1)+temp8-r8
 
    n1=(abs(t1)*0xff)
    n2=(abs(t2)*0xff)
    n3=(abs(t3)*0xff)
    n4=(abs(t4)*0xff)
    n5=(abs(t5)*0xff)
    n6=(abs(t6)*0xff)
    n7=(abs(t7)*0xff)
    n8=(abs(t8)*0xff)
    intload[i++]=(n1)|(n2<<8)|(n3<<16)|(n4<<24)
    intload[i++]=(n5)|(n6<<8)|(n7<<16)|(n8<<24); }}}
    for(frame=0;frame<30;frame++)redraw();
    var RGB=[],ic,ir,ig,ib;
    for(var ic=0;ic<0xff;ic++){
    ir=ic-31;ir*=ir>2;ig=ic-81;ig*=ig>8;ig=ig<<8;ib=(ic)<<16
    RGB[ic]=(ir|ig|ib)|0xff000000;}
    var dispc=[];
    window.requestAnimationFrame=window.requestAnimationFrame ||    window.webkitRequestAnimationFrame    || window.mozRequestAnimationFrame    || window.oRequestAnimationFrame    || window.msRequestAnimationFrame;
    function dispframe(){if(++frame >= 30)frame = 0;
    if(!dispc[frame]){dispc[frame]={width:w,height:h,data:Uint8ClampedArray(ArrayBuffer(size))};
    var tv=Uint32Array(dispc[frame].data.buffer);
    var intpixels=Uint8Array(wint[frame].buffer);
    for(var op=0,c=0;c<elsize;){tv[op++]=RGB[intpixels[c++]];}
    delete(wint[frame]);}
    context.putImageData(dispc[frame],0,0);
    window.requestAnimationFrame(dispframe);}
    addtm("ms render");dispframe();
    </script></html>

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-10 2:49

666ms
   <html><head><style>html,body{width:100%;height:100%;margin:0px;}
    </style></head><body><canvas id='c' ></canvas></body>
    <script>//676ms current
    var inittime=Date.now();var starttime=inittime;
    function addtm(str){document.title+=Date.now()-starttime+str;starttime=Date.now()}
    function settm(str){document.title=Date.now()-starttime+str;starttime=Date.now()}
    function dump(a)document.writeln(a.toString())
    var abs=Math.abs
    var cos=Math.cos
    var sin=Math.sin
    var w=window.innerWidth
    var h =window.innerHeight
    w=w-w%8;//unroll factor
    var halfantiw=w*0.0625;
    var halfantih=h*0.0625;
    var h8=h*8
    var w8=w*8;
    var canvas3=document.getElementById('c');
    var context=canvas3.getContext("2d");
    canvas3.width=window.innerWidth;
    canvas3.height=window.innerHeight;
    const size=w*h*4
    var elsize=w*h;elsize+=(4-(elsize%4))
    var wint=[];
    for(i=0;i<30;i++){wint[i]=Uint32Array(ArrayBuffer(elsize));}
    var frame = 0;
    var i,preycache;
    var rs=Float64Array(ArrayBuffer(128));
   
    var temps=Int32Array(ArrayBuffer(64))
    var lvars=Int32Array(ArrayBuffer(32))
    var fcos=Float64Array(ArrayBuffer(8*30));
    var fsin=Float64Array(ArrayBuffer(8*30));

    var preyfsin1cos=Float64Array(ArrayBuffer(h8))
    var preyfsin2cos=Float64Array(ArrayBuffer(h8))
    var preyfsin3cos=Float64Array(ArrayBuffer(h8))
    var preyfsin1sin=Float64Array(ArrayBuffer(h8))
    var preyfsin2sin=Float64Array(ArrayBuffer(h8))
    var preyfsin3sin=Float64Array(ArrayBuffer(h8))

    var prexs1cos=Float64Array(ArrayBuffer(w8))
    var prexs2cos=Float64Array(ArrayBuffer(w8))
    var prexs3cos=Float64Array(ArrayBuffer(w8))
    var hprecos=Float64Array(ArrayBuffer(w8))
    var hpresin=Float64Array(ArrayBuffer(w8))
    var prodxf1=Array(h)
    var prodxs1=Array(h)
    for( i=0;i<h;i++){
    prodxf1[i]=Float64Array(ArrayBuffer(w8));
    prodxs1[i]=Float64Array(ArrayBuffer(w8));
    }


    for(i=0;i<30;i++){
    fcos[i]=cos(i*0.20943951023931953)
    fsin[i]=sin(i*0.20943951023931953)
    }

    var pc1,pc2,pc3
    for(i=0;i<h;i++){
    preycache=i*0.125-halfantih;
    pc1=preycache*0.4338837391175581
    pc2=preycache*0.7818314824680298
    pc3=preycache*0.9749279121818236
    preyfsin1cos[i]=cos(pc1)
    preyfsin1sin[i]=sin(pc1)
    preyfsin2cos[i]=cos(pc2)
    preyfsin2sin[i]=sin(pc2)
    preyfsin3cos[i]=cos(pc3)
    preyfsin3sin[i]=sin(pc3)
    }



    for(i=0;i<w;i++){
    preycache=i*0.125 - halfantiw
    hpresin[i]=sin(preycache)*0.5
    hprecos[i]=cos(preycache)*0.5
    prexs1cos[i]=cos(preycache*0.9009688679024191)
    prexs2cos[i]=cos(preycache*0.6234898018587336)
    prexs3cos[i]=cos(preycache*0.22252093395631445)}

function spfl(){
    var p,p2,p3,p4,p5,p6,i,co
    var pc1,pc2,pc3,pc4,pc5,pc6
    var ec1,ec2,ec3;
    for( i=0;i<h;i++){
    p=prodxf1[i];
    p4=prodxs1[i]
    pc1=preyfsin1cos[i];
    pc2=preyfsin2cos[i];
    pc3=preyfsin3cos[i];
    pc4=preyfsin1sin[i];
    pc5=preyfsin2sin[i];
    pc6=preyfsin3sin[i];
    for(co=0;co<w;co++){
    ec1=prexs1cos[co]
    ec2=prexs2cos[co]
    ec3=prexs3cos[co]
    p[co]=pc1*ec1+pc2*ec2+pc3*ec3+hprecos[co];
    p4[co]=pc4*ec1+pc5*ec2+pc6*ec3+hpresin[co];}
    }}spfl();


    function redraw(){
    var xf1,xs1,y=lvars[0],x=lvars[1],i=lvars[2],intload=wint[frame],xfracos=lvars[3]=fcos[frame],xfrasin=lvars[4]=fsin[frame];
    var r1=rs[0],r2=rs[1],r3=rs[2],r4=rs[3],r5=rs[4],r6=rs[5],r7=rs[6],r8=rs[7];
    var n1=rs[8],n2=rs[9],n3=rs[10],n4=rs[11],n5=rs[12],n6=rs[13],n7=rs[14],n8=rs[15];
    var temp1=temps[0],temp2=temps[1],temp3=temps[2],temp4=temps[3],temp5=temps[4],temp6=temps[5],temp7=temps[6],temp8=temps[7],t1=temps[8],t2=temps[9],t3=temps[10],t4=temps[11],t5=temps[12],t6=temps[13],t7=temps[14],t8=temps[15];;

    for(var y=0,i=0;y<h;y++){xf1=prodxf1[y];xs1=prodxs1[y];
    for(x=0;x<w;) {
    r1=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r2=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r3=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r4=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r5=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r6=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r7=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r8=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
     temp1=(r1|0)
     temp2=(r2|0)
     temp3=(r3|0)
     temp4=(r4|0)
     temp5=(r5|0)
     temp6=(r6|0)
     temp7=(r7|0)
     temp8=(r8|0)
  t1=(temp1&1)+temp1-r1
  t2=(temp2&1)+temp2-r2
  t3=(temp3&1)+temp3-r3
  t4=(temp4&1)+temp4-r4
  t5=(temp5&1)+temp5-r5
  t6=(temp6&1)+temp6-r6
  t7=(temp7&1)+temp7-r7
  t8=(temp8&1)+temp8-r8
 
    n1=(abs(t1)*0xff)
    n2=(abs(t2)*0xff)
    n3=(abs(t3)*0xff)
    n4=(abs(t4)*0xff)
    n5=(abs(t5)*0xff)
    n6=(abs(t6)*0xff)
    n7=(abs(t7)*0xff)
    n8=(abs(t8)*0xff)
    intload[i++]=(n1)|(n2<<8)|(n3<<16)|(n4<<24)
    intload[i++]=(n5)|(n6<<8)|(n7<<16)|(n8<<24); }}}
    for(frame=0;frame<30;frame++)redraw();

var RGB=[],ic,ir,ig,ib;
    for(var ic=0;ic<0xff;ic++){
    ir=ic-31;ir*=ir>2;ig=ic-81;ig*=ig>8;ig=ig<<8;ib=(ic)<<16
    RGB[ic]=ir|ig|ib|0xff000000;}
    var dispc=[];

    function dispframe(){
  if(!window.requestAnimationFrame){  window.requestAnimationFrame=window.requestAnimationFrame ||    window.webkitRequestAnimationFrame    || window.mozRequestAnimationFrame    || window.oRequestAnimationFrame    || window.msRequestAnimationFrame;}
if(++frame >= 30)frame = 0;
    if(!dispc[frame]){dispc[frame]={width:w,height:h,data:Uint8ClampedArray(ArrayBuffer(size))};
    var tv=Uint32Array(dispc[frame].data.buffer);
    var intpixels=Uint8Array(wint[frame].buffer);
    for(var op=0,c=0;c<elsize;){tv[op++]=RGB[intpixels[c++]];}
    delete(wint[frame]);}
    context.putImageData(dispc[frame],0,0);
    window.requestAnimationFrame(dispframe);}
    addtm("ms render")    ;dispframe();
    </script></html>

Name: Anonymous 2011-11-10 4:31

Still way way too slow.

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-10 4:43

661ms merge spfl+redraw
<html><head><style>html,body{width:100%;height:100%;margin:0px;}
    </style></head><body><canvas id='c' ></canvas></body>
    <script>//663ms current
    var inittime=Date.now();var starttime=inittime;
    function addtm(str){document.title+=Date.now()-starttime+str;starttime=Date.now()}
    function settm(str){document.title=Date.now()-starttime+str;starttime=Date.now()}
    function dump(a)document.writeln(a.toString())
    var abs=Math.abs
    var cos=Math.cos
    var sin=Math.sin
    var w=window.innerWidth
    var h =window.innerHeight
    w=w-w%8;//unroll factor


    var h8=h*8
    var w8=w*8;
    var canvas3=document.getElementById('c');
    var context=canvas3.getContext("2d");
    canvas3.width=window.innerWidth;
    canvas3.height=window.innerHeight;
    const size=w*h*4
    var elsize=w*h;elsize+=(4-(elsize%4))
    var wint=[];
    for(i=0;i<30;i++){wint[i]=Uint32Array(ArrayBuffer(elsize));}
    var frame = 0;
    var i,preycache;

       var locvar=Float64Array(ArrayBuffer(128));


    var fcos=Float64Array(ArrayBuffer(8*30));
    var fsin=Float64Array(ArrayBuffer(8*30));

    var preyfsin1cos=Float64Array(ArrayBuffer(h8))
    var preyfsin2cos=Float64Array(ArrayBuffer(h8))
    var preyfsin3cos=Float64Array(ArrayBuffer(h8))
    var preyfsin1sin=Float64Array(ArrayBuffer(h8))
    var preyfsin2sin=Float64Array(ArrayBuffer(h8))
    var preyfsin3sin=Float64Array(ArrayBuffer(h8))

    var prexs1cos=Float64Array(ArrayBuffer(w8))
    var prexs2cos=Float64Array(ArrayBuffer(w8))
    var prexs3cos=Float64Array(ArrayBuffer(w8))
    var hprecos=Float64Array(ArrayBuffer(w8))
    var hpresin=Float64Array(ArrayBuffer(w8))
 




function preyfill(){
    for(i=0;i<30;i++){
    fcos[i]=cos(i*0.20943951023931953)
    fsin[i]=sin(i*0.20943951023931953)
    }
    var pc1,pc2,pc3,halfantih=h*0.0625;
    for(i=0;i<h;i++){  
    preycache=i*0.125-halfantih;
    pc1=preycache*0.4338837391175581
    pc2=preycache*0.7818314824680298
    pc3=preycache*0.9749279121818236
    preyfsin1cos[i]=cos(pc1)
    preyfsin1sin[i]=sin(pc1)
    preyfsin2cos[i]=cos(pc2)
    preyfsin2sin[i]=sin(pc2)
    preyfsin3cos[i]=cos(pc3)
    preyfsin3sin[i]=sin(pc3)
    }
}preyfill();

function prexfill(){var preycache=locvar[0];
    var halfantiw=w*0.0625;
    for(i=0;i<w;i++){
    preycache=i*0.125 - halfantiw
    hpresin[i]=sin(preycache)*0.5
    hprecos[i]=cos(preycache)*0.5
    prexs1cos[i]=cos(preycache*0.9009688679024191)
    prexs2cos[i]=cos(preycache*0.6234898018587336)
    prexs3cos[i]=cos(preycache*0.22252093395631445)}}
prexfill()
    var rs=Float64Array(ArrayBuffer(128));
    var temps=Int32Array(ArrayBuffer(64))
    var lvars=Int32Array(ArrayBuffer(32))
 
   var prodxf1=Array(h)
    var prodxs1=Array(h)
    for( i=0;i<h;i++){
    prodxf1[i]=Float64Array(ArrayBuffer(w8));
    prodxs1[i]=Float64Array(ArrayBuffer(w8));
    }

    function redraw(){
    var p,p2,p3,p4,p5,p6,i,co
    var pc1,pc2,pc3,pc4,pc5,pc6
    var ec1,ec2,ec3;
    for( i=0;i<h;i++){
    p=prodxf1[i];
    p4=prodxs1[i]
    pc1=preyfsin1cos[i];
    pc2=preyfsin2cos[i];
    pc3=preyfsin3cos[i];
    pc4=preyfsin1sin[i];
    pc5=preyfsin2sin[i];
    pc6=preyfsin3sin[i];
    for(co=0;co<w;co++){
    ec1=prexs1cos[co]
    ec2=prexs2cos[co]
    ec3=prexs3cos[co]
    p[co]=pc1*ec1+pc2*ec2+pc3*ec3+hprecos[co];
    p4[co]=pc4*ec1+pc5*ec2+pc6*ec3+hpresin[co];}
    }

var r1=rs[0],r2=rs[1],r3=rs[2],r4=rs[3],r5=rs[4],r6=rs[5],r7=rs[6],r8=rs[7];
    var n1=rs[8],n2=rs[9],n3=rs[10],n4=rs[11],n5=rs[12],n6=rs[13],n7=rs[14],n8=rs[15];
    var temp1=temps[0],temp2=temps[1],temp3=temps[2],temp4=temps[3],temp5=temps[4],temp6=temps[5],temp7=temps[6],temp8=temps[7],t1=temps[8],t2=temps[9],t3=temps[10],t4=temps[11],t5=temps[12],t6=temps[13],t7=temps[14],t8=temps[15];;
   var xf1,xs1,y=lvars[0],x=lvars[1],i=lvars[2];
    for(var frame=0;frame<30;frame++){
 var intload=wint[frame],xfracos=lvars[3]=fcos[frame],xfrasin=lvars[4]=fsin[frame];


    for(y=0,i=0;y<h;y++){xf1=prodxf1[y];xs1=prodxs1[y];
    x=0;while(x<w) {
    r1=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r2=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r3=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r4=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r5=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r6=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r7=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
    ;r8=3.5+xf1[x]*xfracos-xs1[x++]*xfrasin
     temp1=(r1|0)
     temp2=(r2|0)
     temp3=(r3|0)
     temp4=(r4|0)
     temp5=(r5|0)
     temp6=(r6|0)
     temp7=(r7|0)
     temp8=(r8|0)
  t1=(temp1&1)+temp1-r1
  t2=(temp2&1)+temp2-r2
  t3=(temp3&1)+temp3-r3
  t4=(temp4&1)+temp4-r4
  t5=(temp5&1)+temp5-r5
  t6=(temp6&1)+temp6-r6
  t7=(temp7&1)+temp7-r7
  t8=(temp8&1)+temp8-r8
 
    n1=(abs(t1)*0xff)
    n2=(abs(t2)*0xff)
    n3=(abs(t3)*0xff)
    n4=(abs(t4)*0xff)
    n5=(abs(t5)*0xff)
    n6=(abs(t6)*0xff)
    n7=(abs(t7)*0xff)
    n8=(abs(t8)*0xff)
    intload[i++]=(n1)|(n2<<8)|(n3<<16)|(n4<<24)
    intload[i++]=(n5)|(n6<<8)|(n7<<16)|(n8<<24); }}}}
redraw();
var RGB=[],dispc=[];
function palgen(){
var ic,ir,ig,ib;
    for(var ic=0;ic<0xff;ic++){
    ir=ic-31;ir*=ir>2;ig=ic-81;ig*=ig>8;ig=ig<<8;ib=(ic)<<16
    RGB[ic]=ir|ig|ib|0xff000000;}}palgen();
    addtm("ms render")
    function dispframe(){
  if(!window.requestAnimationFrame){  window.requestAnimationFrame=window.requestAnimationFrame ||    window.webkitRequestAnimationFrame    || window.mozRequestAnimationFrame    || window.oRequestAnimationFrame    || window.msRequestAnimationFrame;}
if(++frame >= 30)frame = 0;
    if(!dispc[frame]){dispc[frame]={width:w,height:h,data:Uint8ClampedArray(ArrayBuffer(size))};
    var tv=Uint32Array(dispc[frame].data.buffer);
    var intpixels=Uint8Array(wint[frame].buffer);
    for(var op=0,c=0;c<elsize;){tv[op++]=RGB[intpixels[c++]];}
    delete(wint[frame]);};
    context.putImageData(dispc[frame],0,0);
    window.requestAnimationFrame(dispframe);}dispframe();

    </script></html>

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-10 4:44

>>300
72 times faster than original quasicrystal code. And i think thats not the ultimate limit,could be possible to get within half a second

Name: Anonymous 2011-11-10 7:19

>>257
For a second I thought someone had finally broken out the Asm and pwned everyone else.

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-10 7:34

>>303
I have a habit for checking asm output of compiler to check if they make some part of code(like inner loops) calling slow opcode like    
fnstcw

Name: FrozenVoid !!mJCwdV5J0Xy2A21 2011-11-10 22:45

http://pastebin.com/hqy7mvzC version with multifill

Name: Cudder !MhMRSATORI!FBeUS42x4uM+kgp 2011-11-11 5:13

>>303,304
You're tempting me to refresh my demoscene skills and try to write this in 256 bytes.

http://www.pouet.net/prod.php?which=3397

Name: Anonymous 2012-06-18 21:22

Interesting

Name: Anonymous 2012-06-19 11:53

灠╀栩茆➕锠⦘蕑ኇ镹䜙ᒘቨ蔐酧甒ㄲ桸劘慓ͤ灉䢉嚕占ч爧Ćᐢᥲ॥昘ᚖ疁捉锔牘䈗瑑ㄲƄ馂։儵䄣餙ङ椉䤓ᒅ枈炁腢䞙堰癳坙ॄፓ靆॑င匳唐敀捦┉ᤱᥦ㜃蝨ㅉ撓遰眥䙠ᡗ昱錴蔘疂㐩奉瑱瘄焵䤴琧蝰椹ސ䠢–祲喐睲"✉搉爢〶桘ओڔȳ靅恲ࡹ眥蘩劑坱嘶唦昡薇㒑呴偆舉袄☡荁ɹ奒䀨㤵㔙阅皉ृ襷銂敹衦㤨礶ȕ偦垇概ᡱ癉礣ᙔ酱㤙䔵–焸堰树゘癠褨ͩ┥脧銗朄ࡀ銀०摨鍷逷瘹瀁䚖⊔晔ᖉ㈰≖焢䌇蝲⅘顰戕䔴ŗ鐂蕢х奸㡥∇逃喅镐ㅶ݉㑠獒℘ᤖ䤡鐠㌱݂䙄瀴暙ऱ眘镳㝩阐鈱⚔瞆莙焴⁤␔䀹㔸鐵ᤶ敡Ĥ戗堡劔靰ㄲ剃̤㘑癢聆煲垄ᠴ畣暅牱鎐ॗ恆蕳့蝦䀢᎘树䔱砉⎆♅ᙩ蕹₆ሤ厉ᘸ刷䈤褓杢̉垃㙰醙ኘ隓朔Ⅲ故㤐Ȩㄹ领㎔ᅆ䕑ɕ挗十蠳耐憀㜠‹夡កᑙ猓晲阷艷䄥⠶⍔煈嚐耹味䍩

Name: Anonymous 2012-06-19 12:14

䠄斓錈晙梘㠡獦坄戔̧╰陔垖冒桂ᙵࡑ靂✄ၨᙕ㦂蕙ぐ眩㌦䚆恃ဃ扄ᎆ薁ݹ防䆈ᤠ䕆鄨䍘錓葁♇㘁ሑ䜙␇₅煵ᑀ梑〃錹怡ᖂ襱蕓䢓䙑㜵ጨፖᐠ脅㈇灨⎗ࡀ7ℳᝒ怹皅ᔘ霤虡⌔⌈㥃⤆匉愄㍔Ձܘ䕅挹桤葲㔲褀耄ㅅ䀧⍠颇ᢈ鈨ɶ脴䁅呵В鄅葕ℑ戕蒁杅鎖袅ቹሤ䞈❴鑐䜓吁ጲ̈鍉"慧剘䢘✖㑨頁顅ᤓℂၦㅦ䉈怘⑰㦙愶唵甉化፴遉玖扑䜩妐܅醔栁䉳፦ܨ∳瑢蠷䄹A嘕✙䚀蚕恀ᢓ愄熉饘呑甅䄹࠳ऐᅀ䍇饃⎖蜄⑨蠃स敇顀࠸焹茠䘓荧捗瘗昸դ酢㐧牲ऩ畩薓圳隁ᕉ硖唅覕祣ᦂ阶०䔘晀瘙लٔ儰̆ᔧ圹鉳⡂䉢ቆ㌄癣墕䠵錧耉ᤧ⚑䐕ᘉ焗邈陷䀣ᒁ蜁䑘畃ᐠ㉒㠀㥦易✆䈁匘灒ᤠ頁噘䊐℈奱茲地䦆ᝳ鑩栀陲≨ᕇ␥鄁䆉镵〳吃䌅恘ܱ杹Ѡ銆ी兲䥹锘睗畗㥥鉥ܷᤠ鎔䄖∁吆覐椑饉⌐ȶ隓ቸ䘵☣ㄔ㑈熙

Name: Anonymous 2012-06-19 14:49

C++ is a good language. It is not a perfect language because it inherits from C. C is a flawed language where many things are left undefined. C is an ancient artifact that serves no purpose outside of the domain of kernel design. Because of the improvements made upon C to form C++, beginning programmers and veteran programmers alike may be led astray, thinking that modern C usage is a good idea. It is a mistake to believe the success of C++ justifies the continued use and popularity of C. Just because C++ is successful does not mean the language it has inherited from is of high quality.

Name: Anonymous 2012-07-22 14:19

So FrozenVoid and Cudderspace, it's been 7 months, how was the wedding?

Name: Anonymous 2013-08-31 19:43


 Ruitomo? Killing curse that's not unique to you is good enough.

Name: Anonymous 2013-08-31 21:14


How are little girls disgusting? If that's not it, how is a grown man masturbating to little girls any more disgusting than another grown man masturbating to women?

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List