Bug 162604

Summary: WebGL: drawingBuffer problems with Ultra HD Resolutions
Product: WebKit Reporter: Michael Herzog <michael.herzog>
Component: WebGLAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: dino, simon.fraser
Priority: P2 Keywords: BlinkMergeCandidate, EasyFix, InRadar, WebExposed
Version: Safari 10   
Hardware: Mac   
OS: OS X 10.11   
See Also: https://bugs.chromium.org/p/chromium/issues/detail?id=445542

Description Michael Herzog 2016-09-27 04:42:40 PDT
Steps to reproduce the problem:

1. First you need a high resolution monitor (e.g. iMac 5K)
2. Start Safari and maximize your window
3. Go to http://threejs.org/examples/webgl_interactive_cubes.html

What is the expected behavior?

When you position your mouse exactly over a cube, it should be highlighted.

What went wrong?

On ultrad HD resolutions the application is not able to determine the correct cube. This problem only occurs when Safari exceeds a specific resolution. On smaller monitors (e.g.FullHD), everything works fine.

Did this work before? 

No 

Details:

I assume that Webkit must be limiting the maximum drawing buffer width/height which leads to incorrect canvas sizes.

My recommendation is to change the backbuffer limit from e.g. 4k per dimension to 4k x 4k total area like Blink does (see https://bugs.chromium.org/p/chromium/issues/detail?id=445542)
Comment 1 Simon Fraser (smfr) 2017-01-06 14:50:46 PST
rdar://problem/25511381
Comment 2 Michael Herzog 2017-10-15 04:40:36 PDT
This problem is becoming increasingly critical as more users have high-resolution displays. Without any workarounds, interactive 3D applications like the mentioned three.js demo are unusable in combination with a large canvas.
Comment 3 Simon Fraser (smfr) 2017-10-17 13:00:46 PDT
Dup of bug 178223?
Comment 4 Michael Herzog 2017-10-18 10:15:38 PDT
Yes. Although your mentioned bug is far newer than this post. 

Also consider the fix of Blink (https://bugs.chromium.org/p/chromium/issues/detail?id=445542).

*** This bug has been marked as a duplicate of bug 178223 ***