[Webkit-unassigned] [Bug 215141] New: Flickering on sedona.dev

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Aug 4 14:50:35 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=215141

            Bug ID: 215141
           Summary: Flickering on sedona.dev
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebGL
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: dino at apple.com
                CC: dino at apple.com

* TITLE:
Safari Technology Preview canvas flickering (not on Safari)

* USER REPORTED AREA:
Safari

* MACHINE WAS RUNNING BUILD:
unknown

* MACHINE MODEL:
Web

* DESCRIPTION:
Visit the https://sedona.dev/ using the latest Safari Technology Release [Release 110 (Safari 14.0, WebKit 15610.1.21.0.2)]. Hovering and moving over the canvas will produce flickering not seen in the most recent version of Safari [Version 13.1.2 (15609.3.5.1.3)], Chrome or Firefox.

A little bit of code (changing the alpha and premultipliedAlpha affect the colour of the flickering, but do not reduce it.):
    let renderer = new THREE.WebGLRenderer({
      antialias: false,
      //alpha: true,
      //premultipliedAlpha: false
    });

    renderer.setPixelRatio(window.devicePixelRatio);
    renderer.setSize(vm.width, vm.height);
    var ctx = renderer.getContext();

    vm.pickingScene = new THREE.Scene();
    vm.pickingScene.autoUpdate = false;
    vm.pickingTexture = new THREE.WebGLRenderTarget(1, 1);

    function updateIntersects() {
      if(ctx.checkFramebufferStatus(ctx.FRAMEBUFFER) !== ctx.FRAMEBUFFER_COMPLETE)
        return;

      if (!vm.mousePos.x || !vm.mousePos.y)
        return;

      const pixelBuffer = new Uint8Array(4);

      const pixelRatio = vm.renderer.getPixelRatio();

      vm.camera.setViewOffset(
        ctx.drawingBufferWidth,
        ctx.drawingBufferHeight,
        (vm.mousePos.x * pixelRatio) | 0,
        (vm.mousePos.y * pixelRatio) | 0,
        1,
        1
      );

      vm.renderer.setRenderTarget(vm.pickingTexture);
      vm.renderer.render(vm.pickingScene, vm.camera);
      renderer.setRenderTarget(null);

      vm.camera.clearViewOffset();

      vm.renderer.readRenderTargetPixels(
        vm.pickingTexture,
        0,
        0,
        1,
        1,
        pixelBuffer
      );

      const id =
        (pixelBuffer[0] << 16) | (pixelBuffer[1] << 8) | (pixelBuffer[2] << 0);

      if (pixelBuffer[3] > 0 && id >= 0 && id < vm.indexedVertices.length) {
        const v = vm.indexedVertices[id];

        if (vm.activeVertex !== v) {
          vm.activeVertex = v;
        }

* OTHER INFORMATION:

Safari issue area
Webpage Rendering

Specific URL
https://sedona.dev/

What extensions or content blockers do you have enabled?
N/A

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200804/2def9e0d/attachment-0001.htm>


More information about the webkit-unassigned mailing list