Farklı sonuçlar farklı tarayıcılarda aynı matematik kullanarak
Chrome tarayıcısını güncelledi beri bu soru ne bu sorun artık ortaya çıkar anlamına gelen bir iç hata düzeltildi gibi gereksiz biraz. Edit:
Bir kare tuval üzerine sabitlenmiş bir animasyon var.
Büyük daire daha az istikrarlı hale gelir hareket. Ama sadece bu da değil, en azından benim için Krom daha Firefox.
Matematik bu işlev yapılır:
function update(deltaTime){
var centerX = canvas.width/2;
var centerY = canvas.height/2;
i.currentAngle = (i.currentAngle || 0) (deltaTime/1000 * i.rotationSpeed);
if(i.currentAngle>2*Math.PI){
i.currentAngle-=2*Math.PI;
}
i.x = centerX (i.radius*i.factor) * Math.cos(i.currentAngle);
i.y = centerY (i.radius*i.factor) * Math.sin(i.currentAngle);
}
Bu çalışma örnek: kodudur
Krom çıkışlar:
Firefox Çıkışları:
Firefox için nişan alıyorum ne kadar yakın gibi görünüyor Henüz Chrome sadece tuhaf.
Neden böyle farklı sonuçlar alabilir miyim? Gördükleri birkaç kişiye sordum belirtmeliyim, herkes yanlışlık farklı miktarlarda görmektir.
CEVAP
Sorun Javascript matematik ile değil; vartuval.
function bigCircle(angle) {
var radius = 5000; //the bigger, the worse
var x = canvas.width/2 radius*Math.cos(angle);
var y = canvas.height/2 radius*Math.sin(angle);
ctx.beginPath();
ctx.arc(x, y, radius, 0, 2 * Math.PI);
ctx.lineWidth = 2;
ctx.stroke();
}
Numaraları görünür dikkat edintam olarakFirefox, ama kırmızı yay ile aynı açıkçası Krom yanlış çizilmiş.
İlginçtir, bu Math.PI / 4
katları vardır ama bunlar arasındaki değerleri için (dolayısıyla OP örnekte dalgalı davranış) tüm açıları için çalışıyor.
Chromium bug #320335 geldi.
EDİT: ilk olarak Mayıs ayında rapor görünüşe göre 2012 ve Skia kütüphanede bir hata neden oldu.
Şimdi fixed olarak çözümlendi.
Farklı tarayıcılarda bir URL uzunluğu ...
Aynı dalda iki farklı işliyor arasında...
Neden Python karşılaştırma dizeleri ku...
Çözme MSB3247 - Bulundu bağımlı aynı d...
Soket seçenekleri SO_REUSEADDR ve SO_R...