Scale Сompensation GPU Bug

Discuss Moho bugs (or suspected bugs) with other users. To report bugs to Smith Micro, please visit support.smithmicro.com

Moderators: Víctor Paredes, Belgarath, slowtiger

User avatar
KuzKuz
Posts: 472
Joined: Mon Aug 19, 2013 5:12 pm
Location: Ukraine

Scale Сompensation GPU Bug

Post by KuzKuz »

Scale compensation doesn't work correctly with GPU acceleration in the viewport.

Steps to reproduce:

1 - Download and open Moho File
2 - Enable GPU
3 - Render the frame
4 - Compare the view with the render

Image
User avatar
synthsin75
Posts: 9934
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Scale Сompensation GPU Bug

Post by synthsin75 »

That's just in the workspace display. There are many things that don't work well in the workspace with GPU acceleration enabled.
The render is correct.
User avatar
KuzKuz
Posts: 472
Joined: Mon Aug 19, 2013 5:12 pm
Location: Ukraine

Re: Scale Сompensation GPU Bug

Post by KuzKuz »

Without GPU acceleration i lose fps, i think this is very important. FBF don't work, GPU don't work, Masks don't work, Paint Bucket tool don't work. I can't use normally all this features. Maybe need just to fix bugs?
Last edited by KuzKuz on Sun Jan 22, 2017 2:54 pm, edited 1 time in total.
User avatar
synthsin75
Posts: 9934
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Scale Сompensation GPU Bug

Post by synthsin75 »

That's the trade off for faster drawing and playback.

Maybe there's some other software you'd be happier with.
User avatar
KuzKuz
Posts: 472
Joined: Mon Aug 19, 2013 5:12 pm
Location: Ukraine

Re: Scale Сompensation GPU Bug

Post by KuzKuz »

If I wouldn't like this software, or wouldn't need it, I wouldn't be bothered by all those bugs.
User avatar
synthsin75
Posts: 9934
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Scale Сompensation GPU Bug

Post by synthsin75 »

Software "bugs" are unintended or unexpected flaws in the software. This issue to to be expected, as a result of speeding up drawing and playback, and is just a limitation to the current technology. Yelling "bug" for expected behavior is ridiculous. Now if you asked for improvements, that would sound more reasonable.

But if you really think expected behavior is a bug, you don't understand how software development works.
User avatar
KuzKuz
Posts: 472
Joined: Mon Aug 19, 2013 5:12 pm
Location: Ukraine

Re: Scale Сompensation GPU Bug

Post by KuzKuz »

It seems to me that the switch layers are being cached by something (it could be the video card cache), and what the developers need to do is just disable that caching when the scale compensation is in use.
User avatar
Greenlaw
Posts: 9191
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Scale Сompensation GPU Bug

Post by Greenlaw »

FWIW, I find comparable masking and display limitations in other animation programs, like TB Harmony for example, so I'm not sure going to another package it going to make it better. :P

That said, I agree that Moho's workspace previews could and should be better, mostly with how nested masking is depicted in the workspace. I'm hopeful that this part of the screen display can be improved in a future release--it would really be a big boost for productivity.

For now, however--and probably in the foreseeable future--there's going to be certain limitations with the live preview quality, otherwise there would be no point in rendering 'final' quality images..you would just save what's in the workspace. Mike could probably make the workspace preview quality perfect right now but Moho's interactivity will probably suffer greatly for it.

At work, our Moho scenes tend to become too heavy for full FPS playback well before we even begin animation, and that's with many preview options disabled. I usually never bother with hitting the play button in the transport; when seeing full fps playback with audio is critical, I always use Preview Animation.

When I really need to see the final quality preview at full FPS, but I don't want to take the time to render final quality yet, then I use the Render Half-Res setting with Extra Smooth Images disabled--this creates a high quality animation in a fraction of the time. In fact, I have a custom configuration set up in Moho Exporter just for this purpose.

It's not perfect but I think that's as good as it's going to get...for now, anyway. :)
User avatar
Greenlaw
Posts: 9191
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Scale Сompensation GPU Bug

Post by Greenlaw »

KuzKuz wrote:It seems to me that the switch layers are being cached by something (it could be the video card cache), and what the developers need to do is just disable that caching when the scale compensation is in use.
I've been noticing some caching event going on when using very high-res images in Switch Layers.

In a recent scene I've been working with, it takes a long moment for a Switch to switch to a new group but once that happens, the switching works instantly. That's not really a complaint but, yeah, it might be nice if there was option to cache everything when the scene was opened so I wouldn't keep hitting the delays during animation. (In my case, I probably need just use lower res images. I wish Moho had an option to use proxy images like many compositing and video programs do.) :)
User avatar
KuzKuz
Posts: 472
Joined: Mon Aug 19, 2013 5:12 pm
Location: Ukraine

Re: Scale Сompensation GPU Bug

Post by KuzKuz »

I think it would be nice to have something like a checkbox to enable or disable switch layer caching.
User avatar
synthsin75
Posts: 9934
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Scale Сompensation GPU Bug

Post by synthsin75 »

For vectors, GPU acceleration basically does nothing but cache. It renders all unselected layers (or unanimated layers during playback) to images , which are faster to display. Disabling that is the same as disabling GPU acceleration altogether for vector layers.

Your original file shows all group type layers (group, bone, switch) the same, except for when there's a bone in a bone or switch layer. When there are any bones, Moho assumes there will be animation, and must calculate that layer instead of caching it to a static image for display. That's the only difference. It doesn't effect rendering, and you can even check your workspace results by temporarily disabling GPU acceleration (which is why it was added to the display quality settings...instead of having to hunt it up in the preferences).
User avatar
Greenlaw
Posts: 9191
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Scale Сompensation GPU Bug

Post by Greenlaw »

KuzKuz wrote:I think it would be nice to have something like a checkbox to enable or disable switch layer caching.
I know we're actually talking about two different things but, yeah, I kinda wish there were more options for display and caching to boost performance and/or improve preview quality when you need it.

Getting back on topic, I normally have GPU acceleration disabled. This is because it seems to cause masking preview problems in our rigs that can make the rigs too difficult to animate. This happens with any graphics card, Nvidia, ATI or Intel, so I don't think it's a hardware or driver problem. In fact, I'm not sure I ever intentionally have GPU acceleration enabled these days. In some situations, I do notice a performance improvement with GA enabled but the masking problems make me turn it back off again, and we have pretty beefy graphics cards at work.

TBH, accurate masking preview is a much higher priority for us than GPU acceleration, but it would be great to see both addressed in a future version of Moho. (Maybe right after drawing tool improvements though. Want, want, want!) :P
User avatar
Greenlaw
Posts: 9191
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Scale Сompensation GPU Bug

Post by Greenlaw »

Hmm...sorry, this is a little OT but, yeah, I think I need some way to force a cache for Switch Layers. I have a scene here that I have to 'pre-cache' by clicking on all my switch layer layers before I can animate it, otherwise the UI performance gets really 'chunky'. Once I have all the contents of the Switch Layer cached, it works fine.

I guess we need a 'Force Caching' button...something like that anyway. I'll submit that as a request later.
User avatar
synthsin75
Posts: 9934
Joined: Mon Jan 14, 2008 11:20 pm
Location: Oklahoma
Contact:

Re: Scale Сompensation GPU Bug

Post by synthsin75 »

Greenlaw wrote:Hmm...sorry, this is a little OT but, yeah, I think I need some way to force a cache for Switch Layers. I have a scene here that I have to 'pre-cache' by clicking on all my switch layer layers before I can animate it, otherwise the UI performance gets really 'chunky'. Once I have all the contents of the Switch Layer cached, it works fine.

I guess we need a 'Force Caching' button...something like that anyway. I'll submit that as a request later.
Would a script help? I could write a script that selects through all the selected layers. Then you'd just need to sort layers by type and select all before running the script.
User avatar
Greenlaw
Posts: 9191
Joined: Mon Jun 19, 2006 5:45 pm
Location: Los Angeles
Contact:

Re: Scale Сompensation GPU Bug

Post by Greenlaw »

Oh, if it's not too much trouble, that would be fantastic! Thanks Wes!

I'll get in touch with you as soon as I can whip up an example I can send.

(I really need to learn Lua. I learned a little bit of Javascript/Extendscript for After Effects at work, so maybe I can adapt.) :)
Post Reply