ctd*_*per 5 javascript google-chrome canvas html5-canvas
我今天从Chrome版本17升级到Chrome:18.0.1025.142.
我注意到我正在处理的一个网络应用程序有一个奇怪的蓝色层,在加载时出现,然后在你开始滚动时消失.
我在JS中跟踪了以下几行:
context.canvas.width = canWidth;
context.canvas.height = canHeight;
Run Code Online (Sandbox Code Playgroud)
canWidth和canHeight是动态生成的.
注释这些线会阻止蓝色层渲染,但这不是一个修复,因为我需要使用动态生成的值来控制画布宽度/高度.
我还尝试将context.canvas.width和context.canvas.height硬编码为600,这也产生了蓝色层问题.
这在以前版本的Chrome上不是问题,我在FireFox中没有任何问题.
关于问题可能是什么的任何建议?
编辑:
以下是上面所在的代码块(nodeLeft和nodeTop生成在其他位置):
context.clearRect ( 0 , 0 ,canWidth, canHeight );
context.canvas.width = canWidth;
context.canvas.height = canHeight;
context.beginPath();
context.moveTo(x, y);
context.lineTo(nodeLeft, nodeTop);
context.strokeStyle = "#000000";
context.lineCap = "round";
context.stroke();
Run Code Online (Sandbox Code Playgroud)
编辑:
好的,我帮我拿到了。这似乎是某些 AMD 显卡的问题。我可以在催化剂控制中心关闭铬的高性能模式。这解决了大部分对我来说烦人的事情......希望它能在下一个版本中得到解决。
有关更多信息,请参阅:http://code.google.com/p/chromium/issues/detail ?id=121658
这不是解决方案,但我面临着同样的问题,这让我发疯。我正在努力确定它。我在不同的机器上测试了不同的浏览器:
问题:
结论1: 似乎并不是每台装有Chrome 18.xx的机器上都会发生这种情况似乎是硬件问题,但实际上无法进一步限制它。
结论2: 如果我将画布的大小设置为200高度/宽度,则不会出现问题。如果我将其设置为高于 200,则会导致画布/矩形变形并出现其他问题。
结论 3: 只有在画布上绘制某些内容或设置某些内容(即 fillStyle)时,问题才会出现。
这是我使用的测试片段:
<canvas id="canvas" width="300" height="300" style="background-color:orange"></canvas>
...
ctx.fillRect (10, 10, 55, 50);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6337 次 |
| 最近记录: |