編輯:這個問題將在兩天內允許我這樣做時獲得500點聲望的獎勵。如果在此期間得到答覆,則第一個發佈的修復程序的作者將盡快獲得聲望。iOS6 CSS3 3D轉換速度非常慢
與iOS5.1相比,iOS6似乎打破了CSS3轉換的性能,非常糟糕。如果您可以提供一個修復程序,將iOS6上的以下示例的性能提高到與iOS5.1相當的水平,而不失一般性,您可以獲得一大堆我辛苦獲得的聲譽。該示例在iOS5.1上運行得非常好(在iPhone 4和4S上)。 iOS Chrome應用程序是運行此測試的好地方,因爲它嵌入了UIWebView。
現在看來,這些元素似乎正在硬件加速,但蘋果的低層管道存在一個殺死性能的bug。我已經嘗試了一些硬件加速的解決方法,並且似乎在iOS5.1上調用GPU的任何內容都會導致iOS6上的大幅減速。
即使修改動畫功能,該錯誤仍然存在,如下所示。
function animate(node) {
node.style.webkitAnimation = 'sample 5s infinite';
node.style.webkitPerspective = 1000;
node.style.webkitBackfaceVisibility = 'hidden';
}
請幫助我打擊iOS6的暴政,並釋放我現在非常糟糕的應用程序。
<!DOCTYPE html>
<html>
<head>
<title>Animation Playground</title>
<style>
@-webkit-keyframes sample {
0% { -webkit-transform: translate3d(0px, 0px, 0px); }
10% { -webkit-transform: translate3d(0px, 0px, 0px); }
20% { -webkit-transform: translate3d(10px, 0px, 0px); }
40% { -webkit-transform: translate3d(10px, 10px, 0px); }
50% { -webkit-transform: translate3d(10px, 20px, 0px); }
80% { -webkit-transform: translate3d(20px, 20px, 0px); }
100% { -webkit-transform: translate3d(0px, 0px, 0px); }
}
</style>
<script type="text/javascript">
function fib(node, a, b) {
node.innerHTML = a;
setTimeout(function() {
fib(node, a + b, b);
}, 0);
}
function animate(node) {
node.style.webkitAnimation = 'sample 5s infinite';
}
function createNode(row, column) {
var node = document.createElement('div');
node.style.width = '7px';
node.style.height = '7px';
node.style.position = 'absolute';
node.style.top = 30 + (row * 9) + 'px';
node.style.left = (column * 9) + 'px';
node.style.background = 'green';
return node;
}
function run() {
for (var row = 0; row < 20; ++row) {
for (var column = 0; column < 20; ++column) {
var node = createNode(row, column);
document.body.appendChild(node);
animate(node);
}
}
var output = document.getElementById('output');
fib(output, 0, 1);
}
</script>
</head>
<body onload="run()">
<div id="output" style="font-size: 40px; position: absolute; left: 220px;"></div>
</body>
</html>
http://cssdeck.com/labs/full/bchlgewv/0我沒有看到iOS 5.1和6之間的任何區別。 – mddw
並排留下兩個設備並觀看櫃檯; iOS 5.1輕而易舉地超過iOS 6. – eplawless