Forum Discussion

ADG1999's avatar
ADG1999
Regular Visitor
4 months ago
Solved

Custom Visuals Appear Blurry in Power Bi Services

All custom visuals appear blurry in Power BI Service when page zoom ≠ 100%. Diagnostics confirm the issue is not in the visual code (HTML, CSS, Canvas, SVG all behave identically).

The root cause is that
 the browser composites the visual iframe as a bitmap before applying the page-level CSS transform. In Power BI Desktop the issue does not occur because zoom changes are handled by passing new viewport
 dimensions to update() instead of CSS transform. Requested fix: either pass the page scale factor inside VisualUpdateOptions so visuals can render at physical pixel resolution, or implement page zoom
 using SVG viewBox instead of CSS transform on the report container

5 Replies

  • Hi ADG1999 ,

     

    Yes this is existing issue and I believe Microsoft is already aware of this behavior.  Would suggest raising this in the Fabric Ideas forum with a request to expose page scale (pageScale) in VisualUpdateOptions or to handle zoom using something like SVG viewBox instead of CSS scaling.  

     

    Thanks,

    Pallavi

  • Kagiyama_yutaka's avatar
    Kagiyama_yutaka
    Icon for Continued Contributor rankContinued Contributor

    maybe I’m wrong, just an experimental thought, but the blur feels like the iframe gettin’ raster‑locked too early, so keep report zoom 100% and if it still fuzzes just tap the visual size once to force a clean redraw.

    • ADG1999's avatar
      ADG1999
      Regular Visitor

      Thanks for the suggestion. I tested this and the behavior seems consistent with that hypothesis: at 100% zoom the visual is sharp, while at 87% it becomes blurred.

      From my tests, the issue appears to be caused by Power BI Service applying a CSS `transform: scale()` to the report/page container. This scales the whole iframe externally, so the custom visual content is rasterized/scaled by the browser and becomes blurry.

      Clicking/selecting the visual may force a repaint in some cases, but it does not seem to solve the issue when the report page itself is rendered below 100%. The only reliable workaround I found so far is to keep the report at Actual Size / 100% zoom.

      • Kagiyama_yutaka's avatar
        Kagiyama_yutaka
        Icon for Continued Contributor rankContinued Contributor

        yeah, sounds like we’re seeing the same pipeline… once scale hits the container, the iframe’s frozen. 100% is the only clean path for now until Service exposes pageScale or drops the CSS transform.