# Direct2D

**URL:** https://forum.juce.com/c/direct2d/33.md

[Latest](https://forum.juce.com/latest.md) · [Categories](https://forum.juce.com/categories.md) · [Tags](https://forum.juce.com/tags.md)

---

## [About the Direct2D category](https://forum.juce.com/t/about-the-direct2d-category/59242)

<div class="topic-metadata">

**Author:** [@t0m](https://forum.juce.com/u/t0m)\
**Replies:** 0

</div>

Use this category to discuss Direct2D .

---

## [D2D bug: WM\_GETMINMAXINFO not handled](https://forum.juce.com/t/d2d-bug-wm-getminmaxinfo-not-handled/68954)

<div class="topic-metadata">

**Author:** [@alatar](https://forum.juce.com/u/alatar)\
**Replies:** 3\
**Last updated:** [July 7, 2026, 2:53pm UTC](https://forum.juce.com/t/d2d-bug-wm-getminmaxinfo-not-handled/68954 "2026-07-07T14:53:23Z")

</div>

I noticed weird mouse behaviour and sudden disappearance of the native Windows title bar, when using the D2D renderer. This problem only happened, when my app window was considerably wider than my monitor/display. I have…

---

## [Direct2D performance regression in develop vs 8.0.12](https://forum.juce.com/t/direct2d-performance-regression-in-develop-vs-8-0-12/68794)

<div class="topic-metadata">

**Author:** [@remaincalm](https://forum.juce.com/u/remaincalm)\
**Replies:** 9\
**Last updated:** [May 17, 2026, 4:08am UTC](https://forum.juce.com/t/direct2d-performance-regression-in-develop-vs-8-0-12/68794 "2026-05-17T04:08:29Z")

</div>

Hi. I’d like to report two major direct2d performance regressions somewhere in develop. Test: 16 instances of a new plugin I am working on, on screen at the same time. A number of controls have animated 60fps repaints. …

---

## [Add visual to Direct2D tree for use with WebView2?](https://forum.juce.com/t/add-visual-to-direct2d-tree-for-use-with-webview2/68518)

<div class="topic-metadata">

**Author:** [@kcdopt](https://forum.juce.com/u/kcdopt)\
**Replies:** 0\
**Last updated:** [March 16, 2026, 11:36pm UTC](https://forum.juce.com/t/add-visual-to-direct2d-tree-for-use-with-webview2/68518 "2026-03-16T23:36:22Z")

</div>

I am experimenting with the WebView2 Composition Controller for the goal of allowing the user to drag and drop files from their desktop into specific areas of my GUI. In order for the Composition Controller to work, it n…

---

## [Host freezing when multiple plugin UI instances are open since JUCE 8.0.8](https://forum.juce.com/t/host-freezing-when-multiple-plugin-ui-instances-are-open-since-juce-8-0-8/67441)

<div class="topic-metadata">

**Author:** [@benschmitz](https://forum.juce.com/u/benschmitz)\
**Replies:** 20\
**Last updated:** [March 6, 2026, 11:34am UTC](https://forum.juce.com/t/host-freezing-when-multiple-plugin-ui-instances-are-open-since-juce-8-0-8/67441 "2026-03-06T11:34:51Z")

</div>

Just ran into this issue and so far have isolated it to JUCE versions 8.0.8 and later, so I’m assuming whatever changed was in that version. I don’t see any breaking changes so not even sure where to begin, and no except…

---

## [Possible interaction: direct2d + Nvidia frame-rate limit -\> bad slowdowns? (deep dive)](https://forum.juce.com/t/possible-interaction-direct2d-nvidia-frame-rate-limit-bad-slowdowns-deep-dive/65106)

<div class="topic-metadata">

**Author:** [@remaincalm](https://forum.juce.com/u/remaincalm)\
**Replies:** 5\
**Last updated:** [November 12, 2025, 7:29am UTC](https://forum.juce.com/t/possible-interaction-direct2d-nvidia-frame-rate-limit-bad-slowdowns-deep-dive/65106 "2025-11-12T07:29:12Z")

</div>

Hi all. I may have discovered the root cause of some host issues I was seeing. I’m not sure if it is just my setup though. Looking for help to validate. TLDR Nvidia’s “Max Frame Rate” and Nvidia “Background Application …

---

## [Direct2D unit test assertions](https://forum.juce.com/t/direct2d-unit-test-assertions/67340)

<div class="topic-metadata">

**Author:** [@AdamVenn](https://forum.juce.com/u/AdamVenn)\
**Replies:** 0\
**Last updated:** [October 12, 2025, 5:21pm UTC](https://forum.juce.com/t/direct2d-unit-test-assertions/67340 "2025-10-12T17:21:22Z")

</div>

I ran the JUCE unit tests in debug mode and hit the following assertion a few times: // If this is hit, something has gone wrong when trying to create a Direct2D renderer, // and we're about to fall back to a software r…

---

## [D2D: Power Throttling Woes](https://forum.juce.com/t/d2d-power-throttling-woes/67172)

<div class="topic-metadata">

**Author:** [@Algernon](https://forum.juce.com/u/Algernon)\
**Replies:** 12\
**Last updated:** [September 25, 2025, 4:00pm UTC](https://forum.juce.com/t/d2d-power-throttling-woes/67172 "2025-09-25T16:00:52Z")

</div>

I’ve found something rather interesting (at least to me). This is a hard one to show, for reasons I’ll get into below. I’ve made a visualizer, the code is rock solid (let’s just assume this is true). It updates through …

---

## [Juce 8 applyFontToAllText appears to be text-size-dependent](https://forum.juce.com/t/juce-8-applyfonttoalltext-appears-to-be-text-size-dependent/61883)

<div class="topic-metadata">

**Author:** [@ssc](https://forum.juce.com/u/ssc)\
**Replies:** 27\
**Last updated:** [August 15, 2025, 9:20pm UTC](https://forum.juce.com/t/juce-8-applyfonttoalltext-appears-to-be-text-size-dependent/61883 "2025-08-15T21:20:46Z")

</div>

Hi, I am in the process of porting my project to JUCE 8, which has been mostly flawless except for some unexpected behaviour with label rendering: labels seem to not be inheriting the default LookAndFeel font (as if app…

---

## [Direct 2D Dynamic Gradients](https://forum.juce.com/t/direct-2d-dynamic-gradients/66860)

<div class="topic-metadata">

**Author:** [@KMSonnox](https://forum.juce.com/u/KMSonnox)\
**Replies:** 0\
**Last updated:** [August 14, 2025, 11:02am UTC](https://forum.juce.com/t/direct-2d-dynamic-gradients/66860 "2025-08-14T11:02:03Z")

</div>

I’m encountering a significant performance bottleneck with the Direct2D renderer when using a large number of dynamically moving gradients alongside a waveform. To work around this, I’ve started pre-caching the gradients…

---

## [\[Juce 8\] Different font rendering between Label and TextEditor](https://forum.juce.com/t/juce-8-different-font-rendering-between-label-and-texteditor/64821)

<div class="topic-metadata">

**Author:** [@mgrand](https://forum.juce.com/u/mgrand)\
**Replies:** 2\
**Last updated:** [July 4, 2025, 3:02pm UTC](https://forum.juce.com/t/juce-8-different-font-rendering-between-label-and-texteditor/64821 "2025-07-04T15:02:02Z")

</div>

When porting from Juce 7 to 8, I noticed that bits of text were looking blurry on Windows. It seems like the font rendering between Labels and TextEditors is different, at least for the font I use (Roboto). Here is a s…

---

## [BR createCopy + bitmapData + setBackupEnabled (false)](https://forum.juce.com/t/br-createcopy-bitmapdata-setbackupenabled-false/66433)

<div class="topic-metadata">

**Author:** [@lalala](https://forum.juce.com/u/lalala)\
**Replies:** 2\
**Last updated:** [July 3, 2025, 5:00pm UTC](https://forum.juce.com/t/br-createcopy-bitmapdata-setbackupenabled-false/66433 "2025-07-03T17:00:14Z")

</div>

on master 8.0.8. it seems that Image::createCopy() doesn’t work when the image is setBackupEnabled (false) and painted via BitmapData. Here is a pip to reproduce. painting the image directly works fine, but if i do a …

---

## [Direct2D debug messages](https://forum.juce.com/t/direct2d-debug-messages/61319)

<div class="topic-metadata">

**Author:** [@matt](https://forum.juce.com/u/matt)\
**Replies:** 50\
**Last updated:** [June 3, 2025, 8:13pm UTC](https://forum.juce.com/t/direct2d-debug-messages/61319 "2025-06-03T20:13:51Z")

</div>

@refx and @fuo - I recommend you enable the Direct2D debug layer on your machines; that might help track down some of the issues you’ve both reported. Some relevant links: Direct2D debug layer overview Install Direct2…

---

## [Working with Image Objects](https://forum.juce.com/t/working-with-image-objects/65227)

<div class="topic-metadata">

**Author:** [@matt](https://forum.juce.com/u/matt)\
**Replies:** 5\
**Last updated:** [April 25, 2025, 6:42am UTC](https://forum.juce.com/t/working-with-image-objects/65227 "2025-04-25T06:42:23Z")

</div>

TL;DR Turn off backup mode for procedurally generated Image objects for a big performance boost. Turning off backup mode for images only affects Direct2D images. juce::Image temporaryImage{ juce::Image::ARGB, 100, 100,…

---

## [Startup loading/Unloading of DirectX Threads](https://forum.juce.com/t/startup-loading-unloading-of-directx-threads/65817)

<div class="topic-metadata">

**Author:** [@florian](https://forum.juce.com/u/florian)\
**Replies:** 21\
**Last updated:** [April 23, 2025, 11:22am UTC](https://forum.juce.com/t/startup-loading-unloading-of-directx-threads/65817 "2025-04-23T11:22:49Z")

</div>

Hi, I’ve just updated to JUCE 8.0.7 from JUCE 6. When starting up my application, I see this kind of debug output: \[...\] 'mtplayer.exe' (Win32): Loaded 'C:\\Windows\\System32\\DXCore.dll'. Symbol loading disabled by Includ…

---

## [Direct2D Performance Update](https://forum.juce.com/t/direct2d-performance-update/65008)

<div class="topic-metadata">

**Author:** [@matt](https://forum.juce.com/u/matt)\
**Replies:** 33\
**Last updated:** [February 5, 2025, 10:17am UTC](https://forum.juce.com/t/direct2d-performance-update/65008 "2025-02-05T10:17:17Z")

</div>

Hi everyone- The recent changes to the JUCE Direct2D renderer are a big improvement (see here); however, there are still some bottlenecks that are slowing performance. I’m working with the JUCE team to get that sorted …

---

## [Profiling Direct2D Performance](https://forum.juce.com/t/profiling-direct2d-performance/65031)

<div class="topic-metadata">

**Author:** [@dave96](https://forum.juce.com/u/dave96)\
**Replies:** 7\
**Last updated:** [January 30, 2025, 10:13am UTC](https://forum.juce.com/t/profiling-direct2d-performance/65031 "2025-01-30T10:13:45Z")

</div>

We’ve just updated to the juce develop tip, it’s made a fair improvement but we’ve still got situations where the UI is very laggy. We’re building with both JUCE\_ETW\_TRACELOGGING=1 and JUCE\_DIRECT2D\_METRICS=1. I’m able…

---

## [Direct2D: program gets very slow and jassertfalse is hit](https://forum.juce.com/t/direct2d-program-gets-very-slow-and-jassertfalse-is-hit/64415)

<div class="topic-metadata">

**Author:** [@eigilS](https://forum.juce.com/u/eigilS)\
**Replies:** 2\
**Last updated:** [November 27, 2024, 12:04am UTC](https://forum.juce.com/t/direct2d-program-gets-very-slow-and-jassertfalse-is-hit/64415 "2024-11-27T00:04:50Z")

</div>

JUCE 8.0.1: Windows 11 If I do not disable Direct2D (w. Image spectrogramImage{ Image::RGB, widthOfTuneWindow, hightOfTuneWindow, true, \*\*juce::SoftwareImageType{}\*\* }; ) my program gets very slow. Why can that…

---

## [Image Permanence](https://forum.juce.com/t/image-permanence/64279)

<div class="topic-metadata">

**Author:** [@matt](https://forum.juce.com/u/matt)\
**Replies:** 1\
**Last updated:** [November 18, 2024, 3:38pm UTC](https://forum.juce.com/t/image-permanence/64279 "2024-11-18T15:38:46Z")

</div>

Hi everyone- Here’s a JUCE branch that adds support for Image permanence: As discussed on this thread, I think we need the ability to distinguish between “permanent” and “disposable” images. Disposable images are cre…

---

## [FL Studio plugin editor thumbnail issue](https://forum.juce.com/t/fl-studio-plugin-editor-thumbnail-issue/64015)

<div class="topic-metadata">

**Author:** [@Aapo](https://forum.juce.com/u/Aapo)\
**Replies:** 0\
**Last updated:** [October 31, 2024, 8:06am UTC](https://forum.juce.com/t/fl-studio-plugin-editor-thumbnail-issue/64015 "2024-10-31T08:06:39Z")

</div>

Hey guys, I was made aware of an issue with FL Studio on Windows where the plugin editor thumbnails for the plugin browser don’t work. Where the thumbnail should be a clear image of the plugin GUI, the resulting image s…

---

## [\[BUG\] \[FIXED in develop\] JUCE 8 Direct2D standalone app repaint flashing](https://forum.juce.com/t/bug-fixed-in-develop-juce-8-direct2d-standalone-app-repaint-flashing/63693)

<div class="topic-metadata">

**Author:** [@thomash](https://forum.juce.com/u/thomash)\
**Replies:** 1\
**Last updated:** [October 2, 2024, 1:42pm UTC](https://forum.juce.com/t/bug-fixed-in-develop-juce-8-direct2d-standalone-app-repaint-flashing/63693 "2024-10-02T13:42:26Z")

</div>

Post copied from github for visibility. Detailed steps on how to reproduce the bug With the new Direct2D renderer for Windows in JUCE 8 (tested with 8.0.2), we are seeing undesirable graphical issues with standalone app…

---

## [JUCE 8 / Direct2D—assertion when calling getFromMemory()](https://forum.juce.com/t/juce-8-direct2d-assertion-when-calling-getfrommemory/61857)

<div class="topic-metadata">

**Author:** [@davidleonalex](https://forum.juce.com/u/davidleonalex)\
**Replies:** 7\
**Last updated:** [September 18, 2024, 4:46pm UTC](https://forum.juce.com/t/juce-8-direct2d-assertion-when-calling-getfrommemory/61857 "2024-09-18T16:46:58Z")

</div>

I’m getting an assertion when calling juce::ImageCache::getFromMemory() with a large filmstrip file. The filmstrip file is pretty big, 19200 pixels high and I’m getting the following assertion #if JUCE\_DEBUG // …

---

## [Juce 8 bug with long menus in Ableton Live](https://forum.juce.com/t/juce-8-bug-with-long-menus-in-ableton-live/61973)

<div class="topic-metadata">

**Author:** [@davidleonalex](https://forum.juce.com/u/davidleonalex)\
**Replies:** 13\
**Last updated:** [August 23, 2024, 11:11pm UTC](https://forum.juce.com/t/juce-8-bug-with-long-menus-in-ableton-live/61973 "2024-08-23T23:11:30Z")

</div>

I’m getting a weird bug with very long menus in Juce 8, but only in Ableton Live on Windows (I’ve not seen it happen in other DAWs yet). If you have a long menu that is taller than the display, when you scroll down the …

---

## [Does Direct2D cache the painting function?](https://forum.juce.com/t/does-direct2d-cache-the-painting-function/62460)

<div class="topic-metadata">

**Author:** [@zsliu98](https://forum.juce.com/u/zsliu98)\
**Replies:** 8\
**Last updated:** [August 21, 2024, 5:55pm UTC](https://forum.juce.com/t/does-direct2d-cache-the-painting-function/62460 "2024-08-21T17:55:42Z")

</div>

My equalizer plugin allow users to choose UI colours. When they press the save button of the UI settings, the main editor will call sendLookAndFeelChanged and paint everything with the new colour(s). The plugin won’t sav…

---

## [Render to image with D2D](https://forum.juce.com/t/render-to-image-with-d2d/62542)

<div class="topic-metadata">

**Author:** [@Fandusss](https://forum.juce.com/u/Fandusss)\
**Replies:** 4\
**Last updated:** [August 20, 2024, 12:04pm UTC](https://forum.juce.com/t/render-to-image-with-d2d/62542 "2024-08-20T12:04:32Z")

</div>

Hi everyone, I wanted to gain some clarity on image rendering with D2D. I’m about to implement a goniometer, to show phase correlation. The art style is a lot of dots, which fade over time. Historically I’ve done this b…

---

## [Assertion in juce\_Direct2DGraphicsContext\_windows.cpp](https://forum.juce.com/t/assertion-in-juce-direct2dgraphicscontext-windows-cpp/61956)

<div class="topic-metadata">

**Author:** [@fuo](https://forum.juce.com/u/fuo)\
**Replies:** 12\
**Last updated:** [July 10, 2024, 12:21pm UTC](https://forum.juce.com/t/assertion-in-juce-direct2dgraphicscontext-windows-cpp/61956 "2024-07-10T12:21:33Z")

</div>

I am hitting this assertion randomly (but consistantly when it hits) with JUCE 8.0.0, line 116 of juce\_Direct2DGraphicsContext\_windows.cpp: jassert (layerParameters.opacity != 1.0f || layerParam…

---

## [JUCE 8 Direct2D + High refresh rates problem](https://forum.juce.com/t/juce-8-direct2d-high-refresh-rates-problem/61844)

<div class="topic-metadata">

**Author:** [@pstitt01](https://forum.juce.com/u/pstitt01)\
**Replies:** 4\
**Last updated:** [June 27, 2024, 7:13pm UTC](https://forum.juce.com/t/juce-8-direct2d-high-refresh-rates-problem/61844 "2024-06-27T19:13:24Z")

</div>

The new Direct2D stuff seems to be working really nicely for me so far. However, I’ve found a condition where it doesn’t work well. If I set Windows’ refresh rate to 240 Hz and use my laptop’s internal graphics card (In…

---

## [Loading bulk PNGs in threads got unsafe when moved to Direct2D? \[solved\]](https://forum.juce.com/t/loading-bulk-pngs-in-threads-got-unsafe-when-moved-to-direct2d-solved/61924)

<div class="topic-metadata">

**Author:** [@remaincalm](https://forum.juce.com/u/remaincalm)\
**Replies:** 3\
**Last updated:** [June 26, 2024, 6:41pm UTC](https://forum.juce.com/t/loading-bulk-pngs-in-threads-got-unsafe-when-moved-to-direct2d-solved/61924 "2024-06-26T18:41:37Z")

</div>

My plugin loads about 20 PNG files in threads at startup. Since switching to Direct2D, I’ve noticed rare crashes on startup. I can repro it in Debug build in Windows with the minimal test code below. This usually cras…

---

## [Int vs float rectangles with scaling: a proposal for Windows/MacOS consistency for JUCE 8](https://forum.juce.com/t/int-vs-float-rectangles-with-scaling-a-proposal-for-windows-macos-consistency-for-juce-8/60744)

<div class="topic-metadata">

**Author:** [@fuo](https://forum.juce.com/u/fuo)\
**Replies:** 10\
**Last updated:** [April 19, 2024, 9:46pm UTC](https://forum.juce.com/t/int-vs-float-rectangles-with-scaling-a-proposal-for-windows-macos-consistency-for-juce-8/60744 "2024-04-19T21:46:34Z")

</div>

Hi there, I have been trying out the new Direct2D backend quite a lot lately, and was really impressed at the performance and integration within the Juce framework. @matt did a fantastic job there! Now the performance …

---

## [Direct2D preview branch](https://forum.juce.com/t/direct2d-preview-branch/59243)

<div class="topic-metadata">

**Author:** [@t0m](https://forum.juce.com/u/t0m)\
**Replies:** 66\
**Last updated:** [April 5, 2024, 11:36pm UTC](https://forum.juce.com/t/direct2d-preview-branch/59243 "2024-04-05T23:36:09Z")

</div>

Hello all. We are delighted to announce that a preview of the new Direct2D (Windows) renderer is now available on the direct2d branch of the JUCE GitHub repository: https://github.com/juce-framework/JUCE/tree/direct2d …

[Next page](https://forum.juce.com/c/direct2d/33.md?page=1)
