>>17718
I noticed this too with some of my test files, that larger ones would eat a lot of CPU and memory, but it wasn't as bad as you have seen. That sucks if it is hitching your whole system. This is the library we use for it:
https://github.com/Isotr0py/pillow-jpegxl-plugin
It provides encode/decode and registers with Pillow as a plugin. It is in Rust, I think a python wrapper around this
https://github.com/inflation/jpegxl-rs , which is bindings on libjxl itself. My assumption was the extra memory and CPU was due to the higher level languages here,
and particularly because this is new tech and it just hasn't been optimised yet. I could see how the lossless decoder is shit simply because there haven't been many real world use cases yet. My plan was to wait and assume that new versions (and, hopefully, an eventual native plugin integration into Pillow) would simply improve performance.
EDIT: I tried generating an effort 6 fairly large lossless jpegxl, and while I didn't get audio hitching, it hitched a youtube video in the background while loading. That sucks!
Unfortunately, I am not sure if I can do much about this. I am planning to re-engineer my render pipeline to handle large images better, but new libraries like this may not even benefit from that. I think I have to assume that this library has been written with some aggressive thread yielding
or whatever because they made it for command line encoding or something, and it hasn't been smoothed out yet. Wait and see, is probably the correct strategy. Hydrus is set up to get the latest version of this library every week, so fingers crossed performance improves in future.
>>18162
Sorry to say I don't
think I have changed the behaviour here, and I don't
think I've had underscore-replacement tech in sidecars, so my guess is your incoming tags were nicer quality somehow before, or you had string processing steps to clean them up manually?
Underscores have been a bit of a problem for a long time. I've been foolish in trying to support as much as possible when it comes to allowed tag characters and so on. I do want to have a big red button that merges them all to whitespace equivalents, and options to massage all incoming tags with rules like 'ditch all underscores according to these patterns' to stop future instances. I just wrote about it a bit earlier here
>>18230 in response to
>>17669 . Not yet, but I want it in future.
>>18188
I wrote like three replies to this with long-winded technical bullshit but I'm still not sure exactly what happened so I'm just going to make it simple. Might be I have a sync calculation bug in my code, and I will look into it.
Your actual questions:
1) Might have been, but if there is a logical problem in my sync code, this was the correct way to fix it. I do not know why it appeared to resync everything in your PTR--it should just do everything that is connected to 'DC'. Now, DC might have tens of thousands of connections, so maybe this triggered 20-60% of all the sibling rules (I'm sure pokemon is connected to DC some way, and that to a hundred other things).
2) Might be a presentation problem--there's some technical weirdness in the program between the 'actual' sync and the 'ideal' sync, and that menu currently shows the actual, which I think it shouldn't.
Regarding the three blocks part--do you have any/many DC-based siblings or parents in your 'my tags', or are all these tag relationsh coming from the PTR? If your 'my tags' disagrees with the PTR (for instance, if it has 'catwoman' as a child, probably because of some sibling mapping disagreement), then I will recognise that the three domains do not share all the same ideal and inferred tags. If your 'manage where siblings and parents apply' rules just said 'PTR' on both 'my tags' and 'PTR', or indeed if they said 'my tags, then PTR', then eventually these two lists would harmonise completely, but if the two services differ, then putting 'my tags' in there will cause different lists.
Most importantly, the UI here is shit and I can do better. I will think about this.
3) Not easily, and only with bigger commands that truly trigger a 100% complete resync of everything.
4) Basically if you put in 'series:batman', the dialog is supposed to load all the direct descendants (character:batman) and ancestors (studio:dc). But dc has children in other branches, let's say superman, and character:batman may have other parents, let's say 'superhero' or something. Those 'cousins', and all the very complicated nest of tertiary and n-ary branches that spill out from that and probably connect to pokemon and azur lane one way or another, may be useful to see, or they may be spam. The checkbox is supposed to show that, but the dialog's pair-based view is still a horrible way to look at the directed graphs here.
Thank you for this feedback. I will do a bit of poking around here and see if I can do some quick improvements to the UI and so on to make things clearer and help our future debugging for this stuff. I'll look into the 'show whole chains' thing too.