github chaiNNer-org/chaiNNer v0.14.0
Alpha v0.14.0

latest releases: v0.24.1, v0.24.0, v0.23.3...
2 years ago

After a long wait, 0.14.0 is finally here. This update brings a couple of pretty important changes.

One of the biggest changes is improved video support. Many of you have found that the current video support isn't great, as it has limited encoding options which tend to not work depending on the machine. This is due to how OpenCV's video support works (or I guess, doesn't work), which I won't go into detail about here. As of this update, the video support has been revamped to use a fully-featured FFMPEG build. This means that now we are able to have many more encoding options compared to before, so it gives you a lot more flexibility. It also means that it's pretty much guaranteed to work on any system now. This is a huge improvement that is long overdue.

Another long overdue change is a revamp of how auto-tiling works. For a long time, chaiNNer hid tiling options from users, and just automatically handled it behind the scenes. If you don't know, tiling is something that many upscaling applications implement to get around VRAM limitations when an upscale would use more VRAM than your GPU physically has. We eventually decided to expose manual tiling options to the users, but this still used our internal "split factor" system, leading to the option being called "number of tiles". This was temporary but stuck around longer than we thought it would, and it rightfully confused users.

Thanks to @RunDevelopment's tiling changes, we now have a similar but much better implementation that uses actual tile sizes. This is much more in line with other upscaling applications and is a bit easier to comprehend and plan around. We also have more options in the dropdown, as well as new VRAM estimation for NCNN. You'll see this as "Auto (estimate)" and "Maximum". Picking "Maximum" will function similarly to how it did previously, while "Auto" will function by pre-determining a tile size to use based on available VRAM. PyTorch has been using this method for a while, but now NCNN has it as well. And of course, now we have better options for picking actual tile sizes, meaning you can use the same tile size on multiple images and not have to worry about changing it all the time (if you need to set it manually, that is). We still generally recommend you use the Auto or Maximum modes though.

There's also a lot more in this update, so check out the full changelog below.

New Features / Major Changes

  • Proper "Tile Size" setting on upscale nodes (#1056, #1060, #1095, #1112, #1115)
    • This replaces the "Number of Tiles" dropdown
  • VRAM estimation for NCNN (#1068)
    • Similar to how PyTorch has been for a while, Auto mode now pre-estimates the required tile size based on available VRAM instead of auto-splitting.
    • This should hopefully cut down on the amount of vkQueueSubmit errors, since now we theoretically should prevent out-of-memory errors from happening.
  • Better video support in Video Frame Iterator (#1103, #1108, #1110, #1113, #1123)
    • We are now using a proper FFMPEG build to handle video iteration. This means we have unlocked far more encoding settings to make available for you to use, plus added stability.
  • Paste image from clipboard directly into chaiNNer (#1102)
  • Compression option for saving an image as JPEG or WEBP (#1126)
  • Added NCNN model preview and type information to the Load Model node, similar to PyTorch (#1124, #1133, #1147)

Other Changes

  • Added Lightness slider to Hue & Saturation node (#1080)
  • Changed how brightness in Brightness & Contrast node works (#1081)
  • Improved the internal Nvidia GPU check (#1083)
  • Changed how Change Colorspace defines "from" and "to" values (#1089, #1138)
  • More blend modes (#1072)
  • Added HSL and CMYK to Change Colorspace (#1068)
  • Double-click a slider to reset its value (#1097)
  • Renamed "Amount" to "Radius" for all blurs (#1098)
  • Slightly improved logging to reduce both spam and user confusion (#1116)
  • Adjusted PyTorch's VRAM estimation values tio allow more VRAM use at once (#1120)
  • Improved Text Append default values and made separator optional (#1125)
  • Improved some error messages (#1121, #1134, #1137, #1141)
  • Allow middle-click panning, even over nodes (#1063)

New Nodes

  • Text Padding
    • Add padding to any text or number, mainly for formatting numbers to a specific number of characters (such as converting "2" into "000002")

Bug Fixes

  • Improved output type for crop content node (#1066)
  • Fixed light theme issue on node timers (#1119)
  • Fixed bugs that allowed improper cross-iterator connections (#1128)
  • Fixed copying grayscale images (#1132)
  • Prevented some crashing when certain node import errors occur (#1135)
  • Fixed image iterator improperly sorting lower/uppercase (#1144, #1145)
  • Made Sharpen consistent with blur nodes (#1150)

PS, we also now have nightly builds, which you can find here. Feel free to try these at any time to test out the newest features ahead of release.

As always, thanks to the main contributors: @joeyballentine, @RunDevelopment, @theflyingzamboni

Don't miss a new chaiNNer release

NewReleases is sending notifications on new releases.