Rick Brewster Posted October 24 Share Posted October 24 This build fixes some issues reported with the previous build, namely with pasting or loading images of certain types (e.g. 8-bit PNGs) or with certain types of color profiles (XYB/LUT). Input latency for the canvas has also been further reduced a little. Change Log Changes since 5.1 beta (build 9056): Fixed: Right-clicking in the Colors window's palette will now correctly set the inactive color (regression from 5.0) Improved input latency further by using a dedicated per-Control thread for asynchronously calling IDXGISwapChain[1]::Present[1]() instead of using the shared threadpool. This also fixes some weirdness at startup with canvas redrawing when a lot of plugins are installed, especially if antivirus decides to do a more in-depth security scan. Fixed: Could not copy 8-bit-or-less bit-depth images from Explorer into Paint.NET. Fixed: Copying a 4-bit PNG from Explorer into Paint.NET would have extremely bad performance. Fixed: Images with XYB LUT color profiles were not loading, or were loading incorrectly Fixed: GPU effect plugins will not default to Float32 precision when using IDeviceContext.CreateImageFromBitmap(). This was otherwise resulting in inconsistent rendering output or analysis results. Fixed: IImagingFactory.CreateColorTransformedBitmap() and IBitmapSource.CreateColorTransformer() are now available for plugins to make use of for color management purposes. New: Plugins may now use PixelFormat.[Try]CreateDefaultColorContext(), IImagingFactory.[Try]CreateDefaultColorContext(), and IDeviceContext.[Try]CreateDefaultColorContext() extension methods. These will create the default color context (color profile) for the given PixelFormat. New: Plugins may now use the PixelFormat.GetInfo() extension method to retrieve the corresponding IPixelFormatInfo object New: Plugins may now implement the managed ITextRenderer interface (corresponds to the native IDWriteTextRenderer1 interface), and use it when calling ITextLayout::Draw(...) New: Added ITextLayout methods Get/SetCharacterSpacing and Get/SetPairKerning New: Added ITextFormat properties LastLineWrapping, OpticalAlignment, and VerticalGlyphOrientation Download and Install This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable "Also check for pre-release (beta) versions of paint.net" and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP. You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs. 1 1 1 The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Rick Brewster Posted October 24 Author Share Posted October 24 Known issue: Copy-paste of BMP images from Explorer is still bugged. I've already fixed it for the next update. The workaround is to use File->Open, or drag-and-drop the image, in order to open it into its own tab. Then, copy from that tab into the target image tab. The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Tactilis Posted October 24 Share Posted October 24 18 minutes ago, Rick Brewster said: Improved input latency further by using a dedicated per-Control thread for asynchronously calling IDXGISwapChain[1]::Present[1]() instead of using the shared threadpool. The above change and the earlier implementation of Asynchronous Present in build 9000 are superb. I used to be aware of a small delay between starting the click & drag of a Rectangle Select and the selection outline appearing. It is now instantaneous and the drag feels super smooth. It makes a real difference. 1 1 Link to comment Share on other sites More sharing options...
Rick Brewster Posted October 24 Author Share Posted October 24 Yeah I've been really happy with Async Present. It doesn't make much of a difference on my uber-PC (currently Ryzen 9950X), but I immediately noticed a difference on my test PCs, even the high-spec ones! I'm glad I took the risk 1 The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Rick Brewster Posted October 24 Author Share Posted October 24 On Intel iGPUs in particular I was also noticing issues with rectangle select. Like there would be a few frames of "lag" and then it would start updating. I tracked it down to needing to call Flush() on the ID3D11Device itself after calling Present() on the swapchain. Some kind of internal garbage cleanup ... ? The pencil tool would also often start with a long(-ish) straight segment, like the UI thread got too busy for a few milliseconds and couldn't catch the mouse/pen input. That seems to be gone now. The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Tactilis Posted October 24 Share Posted October 24 8 minutes ago, Rick Brewster said: I was also noticing issues with rectangle select. Like there would be a few frames of "lag" and then it would start updating. Yep. I was sometimes seeing this on an NVIDIA GeForce RTX 3050 Laptop GPU. Lag completely gone now. 1 Link to comment Share on other sites More sharing options...
_koh_ Posted October 24 Share Posted October 24 2 hours ago, Rick Brewster said: Fixed: Could not copy 8-bit-or-less bit-depth images from Explorer into Paint.NET. Ctrl+V is fixed, but IClipboard.TryGetImageBgra32() still has the same error. Link to comment Share on other sites More sharing options...
Rick Brewster Posted October 25 Author Share Posted October 25 2 hours ago, _koh_ said: Ctrl+V is fixed, but IClipboard.TryGetImageBgra32() still has the same error. Alright let me look into that ... The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Rick Brewster Posted October 25 Author Share Posted October 25 Okay, fixed. Thanks for finding that! Bitmaps with palettes are a sore point, they are trickier to get right because you always have to remember to copy over the palette, which is very easy to forget. In this case, `ClipboardImage` itself wasn't copying over the palette. 4-bit images wouldn't have had this problem: PixelFormats.Indexed4 isn't a "fully supported" format due to it having a bit-depth that isn't a multiple of 8 (not a whole number of bytes per pixel, i.o.w.) so it would be auto-converted to BGRA32 anyway. 1 The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Ego Eram Reputo Posted October 25 Share Posted October 25 You broke left-clicking the color wheel (as in it's not setting the Primary color slot). Right clicking works a treat! Both left and right work correctly in the palette (both minimized & extended). 3 ebook: Mastering Paint.NET | resources: Plugin Index | Stereogram Tut | proud supporter of Codelab plugins: EER's Plugin Pack | Planetoid | StickMan | WhichSymbol+ | Dr Scott's Markup Renderer | CSV Filetype | dwarf horde plugins: Plugin Browser | ShapeMaker Link to comment Share on other sites More sharing options...
BoltBait Posted October 25 Share Posted October 25 1 hour ago, Ego Eram Reputo said: You broke left-clicking the color wheel (as in it's not setting the Primary color slot). Right clicking works a treat! Both left and right work correctly in the palette (both minimized & extended). Yup, left clicking in the colorwheel does nothing except update the UI with the new color values... but, it doesn't set the primary color. Right clicking does set the non-selected color (primary or secondary) well. Palette area works properly for setting primary/secondary colors. 1 Download: BoltBait's Plugin Pack | CodeLab | and a Free Computer Dominos Game Link to comment Share on other sites More sharing options...
Rick Brewster Posted October 25 Author Share Posted October 25 Yup that repros for me too 😬 I'll debug that next and push a new build tomorrow. The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Tactilis Posted October 25 Share Posted October 25 I know what you mean here but the words are not quite accurate. So with fixes: 6 hours ago, Ego Eram Reputo said: You broke left-clicking the color wheel (as in it's not setting the Primary active color slot). Right clicking works a treat! 4 hours ago, BoltBait said: Yup, left clicking in the colorwheel does nothing except update the UI with the new color values... but, it doesn't set the primary color active color slot. Right clicking does set the non-selected inactive color slot (primary or secondary) well. Palette area works properly for setting primary/secondary colors. Some may feel this is just being pedantic, but since it is necessary to have the concept of active and inactive slots that are distinct from primary and secondary, I feel we should encourage the use of the correct terminology. When I was starting out, I had to read and re-read the Colors page of the documentation (which itself contained errors) several times before I understood how the slots worked. 1 Link to comment Share on other sites More sharing options...
Win080811 Posted October 25 Share Posted October 25 can you fix the bug where the color wheel works but when i try to draw with that color i picked (not from the template) it doesn't draw that color (like orange or light green) it's annoying to use the nerdy side with the "more" button Link to comment Share on other sites More sharing options...
Tactilis Posted October 25 Share Posted October 25 1 hour ago, Win080811 said: can you fix the bug where the color wheel works but when i try to draw with that color i picked (not from the template) it doesn't draw that color (like orange or light green) @Win080811 (A) Are you referring specifically to the problem that exists only in 5.1 beta build 9063 that is described in the comments above? or (B) Are you referring to some other 'bug' that has existed in earlier versions of paint.net (for example is it in 5.0.13)? If it is (A), then Rick Brewster has already said he will fix it and will push a new build out asap: https://forums.getpaint.net/topic/131469-paintnet-51-beta-build-9063/?do=findComment&comment=638562 so there is no need to comment further. If it is (B), then please do not comment in the Preview Center / paint.net beta thread. Please start a new bug report post and explain very clearly what problem you are experiencing and what behaviour you expect to see. Thank you Link to comment Share on other sites More sharing options...
BDP Posted October 25 Share Posted October 25 I don't seem to be able to set the Primary Colour with this version by left-clicking. Right-clicking does, however, set the Secondary Colour. The colour values change, but not the active primary square Brian Link to comment Share on other sites More sharing options...
Tactilis Posted October 25 Share Posted October 25 4 minutes ago, BDP said: I don't seem to be able to set the Primary Colour with this version by left-clicking. Right-clicking does, however, set the Secondary Colour. The colour values change, but not the active primary square @BDP Please read the thread first. This problem was already reported above, has been repro'd by Rick, and a fix is on its way. Link to comment Share on other sites More sharing options...
Rick Brewster Posted October 25 Author Share Posted October 25 New build that fixes the issues reported in this thread: The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Recommended Posts