Previous topicNext topic

Mysterious invisibility of Text module output

Questions, comments, feedback, etc.
Post Reply
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Mysterious invisibility of Text module output

Post by Terry Payman »

I've recently been plagued by non-visibility of the contents of my Text modules, not resolved by re-installing or updating graphics drivers.
I was first aware of (and reported) this when testing the new Iterator module.

I've tried exporting non-working scenes as projects, then running those projects stand-alone. Previously I've had inconsistent results when doing this, but attached is a project where the problem is consistently evident on two different systems. Initially I only experienced problems in projects that contained the Iterator module but the problem also shows if I use the attached project (saved by the new beta 2.22b3 ) in an earlier version such as Magic 2.21.

Building an additional scene using the Text module in the same project shows the same problem. Furthermore, having once loaded this project the problem persists if I subsequently do File > New Project and simply try to use the Text module in the new project. It's as if the Magic environment is corrupted by something that's not visible within the scene but somehow saved with it and persists even if a new project is opened afterwards.

There's no problem if I build the same scene from scratch in a clean-start instance of Magic. Interestingly, if I subsequently import the problem project it too works.

(Win 10, Magic 32-bit, NVIDIA GTX 1070)
Attachments
Test Text bug.magic
Text module content is not visible when I run this project on either of my two main desktop systems.
(1.24 KiB) Downloaded 266 times
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Mysterious invisibility of Text module output

Post by Magic »

Can't reproduce that here. Does 64-bit have the same issue?
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

Ah, 64-bit works fine.

From the 64-bit version I tried saving the project under a different name and then re-opened that in 32-bit Magic. Same problem, no visible text.

I also tried deleting Magic's XML file, the problem persisted.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Mysterious invisibility of Text module output

Post by Magic »

I'm not sure, but I will investigate.

It could be an issue with the 32-bit graphics driver. The world is moving farther and farther from 32-bit and it's just not as well supported anymore.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Mysterious invisibility of Text module output

Post by Magic »

Looks like it's a 32-bit Spout issue... still investigating.

Edit... if you open the project that doesn't work, disable Spout, save the project, restart Magic, and reload the project, it works.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Mysterious invisibility of Text module output

Post by Magic »

It's as if the Magic environment is corrupted by something that's not visible within the scene but somehow saved with it and persists even if a new project is opened afterwards.
Spout ;)
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

Eric wrote:I'm not sure, but I will investigate.
Thanks Eric! :D
Eric wrote:It could be an issue with the 32-bit graphics driver. The world is moving farther and farther from 32-bit and it's just not as well supported anymore.
wrt "32-bit graphics driver", do you mean the behaviour of the 64-bit NVIDIA driver via Window's WoW64 32-bit compatibility layer? I had understood that only 64-bit drivers were usable under 64-bit Windows.

I'd love to move to 64-bit Magic, but I haven't found adequate alternatives to a couple of Resolume 32-bit FFGL modules that I have used extensively:

- AVFFGLDropShadow seems to give a perfect constant-thickness curve around edges that I haven't been able to emulate. My attempts, based on various blurs, have noticably varying thickness depending on the gradient of the edge they're operating on. This is especially problematic for circular waveforms.

- FFGLEdgeDetection has a lovely quality on live video.
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

Terry wrote:It's as if the Magic environment is corrupted by something that's not visible within the scene but somehow saved with it and persists even if a new project is opened afterwards.
Eric wrote:Spout ;)
Yes! That does seem to be it! :D

A) Problem occurs as a Spout-enabled project is loaded in 32-bit Magic.
A1) Start Magic 32-bit (2.21 release or 2.22b3 beta).
A2) Confirm Spout Output is off by default.
A3) Add one Text module with text.
A4) Enable Spout Output, Use Spout V2.
(Text module still works)
A5) Save Project
A6) Reload using File > Recent Projects
(Text module doesn't work.)

B) Problem occurs if Spout is enabled when a Text module is loaded in 32-bit Magic
B1) Start Magic 32-bit (2.21 release or 2.22b3 beta).
B2) Enable Spout Output
B3) Add one Text module with text.
(Text module doesn't work.)
B4) Disable Spout Output.
B5) Save project
B6) Reload using File > Recent Projects
(Text module still doesn't work.)
B7) Exit Magic. Re-start and load the project.
(Text module works)

C) No problem with Magic 64-bit 2.21 release or 2.22b3 beta.
OK if Spout on when Text module loaded, or when loading a project saved with Spout on.

It's a great pity if I can't use the text module with Spout32, and I'm wondering what else may not work.
BTW, it didn't seem to matter whether or not Spout2 or Alpha enabled
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

... As an interim partial workround, could we have a "Lock Spout Output" option, equivalent to the "Lock Graphics Resolution"?

This would enable text on 32-bit projects which had been saved with Spout on, without having to load and re-save them with Spout off. I find the original creation date useful, and re-saving would lose this.

Have you been able to reproduce my problem? I've tried a third desktop system, behaves just the same.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Mysterious invisibility of Text module output

Post by Magic »

Yes, I was able to reproduce it on a different machine.

I wouldn't want to add an option as a workaround for a bug; it's better if the bug can be fixed. We'll see.
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

Eric wrote:Yes, I was able to reproduce it on a different machine.

:D :D :D :D What a relief! :D :D :D :D
Eric wrote:I wouldn't want to add an option as a workaround for a bug; it's better if the bug can be fixed...
:) :) :) :) My preference too! It's been such a hassle, and such a puzzle until today. :) :) :) :)
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Mysterious invisibility of Text module output

Post by Magic »

So, here is some further information.

One of my laptops has a dual-boot with Windows 7 and Windows 10. Its graphics card is an Nvidia 970GTX. Running the same Magic version on both OS's, Windows 7 exhibits the problem described above, but Windows 10 does not.

I have another laptop with Windows 10 (only) and Intel graphics. This also does not exhibit the problem.

So we can conclude that the problem is something about Windows 7, or Windows 7 in conjunction with the Nvidia.

Investigation continues.

Edit: oops, never mind. I see that it doesn't work on your Win10 system. So, I'm actually more mystified now.
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

Thanks for the update Eric, but as I flagged at the bottom of my first post I have the problem under Windows 10 so there's more to it than just a Win 7 issue (although I have the problem under Win 7 too)

My main studio system is Win 10 Pro 64-bit Version 1809. Graphics card NVIDIA GTX 1070 8GB
My other studio system is Win 7 Pro 64-bit SP1. Graphics card NVIDIA GTX 580 4GB

Both show the problem.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Mysterious invisibility of Text module output

Post by Magic »

Yes, see my note above where I noticed the Win10 problem.

This won't get fixed for 2.22 because it's stable and in feature lock, but I'll figure something out for 2.23.
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

:D :D :D Many thanks Eric :D :D :D
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

Aha!
Attached is a project where not only Text, but also Trails and Optical Flow Distort stop working if Spout Output is enabled in 32-bit Magic.

Furthermore, when started with "Open Project" in a clean-start instance of Magic, this project enables Magic's Spout Output thus guaranteeing that it won't work. Alternatively, importing it into a clean-start Magic instance will work fine until Spout Output is enabled when all stop working (except Text, on occasion).
Spout32 bug, scene exported from Spout-enabled project.magic
When started with "Open Project", this project enables Magic's Spout Output (and does not function correctly).
To see the intended function, Import this project into another that has Spout disabled.
(2.03 KiB) Downloaded 283 times
I'm pretty sure the following is not fully worked out, but FWIW...

I see there's an argument for saving a project's Spout Output enabled state so that Spout Output is re-enabled if it was set when the project was saved, especially if it was part of a self-starting/headless installation. Personally I can't see an argument for disabling Spout Output if a "disabled" project is loaded. I would prefer to decide on a show-by-show basis whether I wished to use Spout to feed other apps, and not have my Spout output killed if I loaded a project that was not saved with Spout enabled. Likewise, there may sometimes be a disadvantage to Spout being automatically enabled whilst a project is loading, as the output may not be desired immediately.

I note that the parent project's Spout Output state is also saved when a (sub) project is created by "Save scene to project". In my experience these Spout state-saving behaviours were unexpected and could helpfully be documented if it is by design, especially as opening that sub project on its own results in Spout being enabled, whereas importing it does not.

My personal preference would be for Spout Output only to be enabled if
0) ... a project is opened that had Spout enabled when the entire project was saved and Spout is not "Locked Off" by my suggested new option.
1) ... Spout Output is enabled explictly using Magic Window Options
2) ... a SpoutSpender module is active in one of the scenes.
3) ... Spout is "Locked On" by my suggested new option.

and, if enabled, not to be disabled by loading a project that had been saved without Spout Output Enabled.

With regard to the issues caused by Spout32, I think these are one (but maybe not the only) cause of many of the weird-but-hard-to-repeat issues I've been having for quite a time. It doesn't take much to confuse me, but these certainly did. Frequently I'd work far too late at night on a Magic project, get stumped by some odd behaviour but be too tired to investigate immediately or to remember exactly what had happened in order to document it adequately for future investigation. In the morning I either couldn't repeat the incident or couldn't resolve it and made a clean start rather than re-use an exported scene or group of scenes. I was left with the suspicion that (likely) my brain or (possibly) Magic had glitched.

- Many times: Modules that had been working would stop. Certainly Trails, and perhaps other modules that also used buffers. A clean start of Magic would sometimes but not always re-enable the function.

- Once: The text re-appeared when I changed its size

- Twice: On returning to the PC after a long break, I noticed the text had gone when I very faintly recalled it being there when I left.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Mysterious invisibility of Text module output

Post by Magic »

Thanks Terry, that's helpful.

Regarding loading/saving Spout settings, yes there's probably some improvements to be made, but we'll have to get to them later.

As far as the critical issue here, I think I've traced it back to Magic v2.2, which is the last time I updated Spout. On my system, the problem doesn't happen in Magic v2.13, which used an earlier release of Spout. Can you confirm?
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

Thanks Eric.
I'm away from base for a few hours. I try to keep earlier versions of Magic, but can't currently confirm that I have 2.13.

EDIT: Confirmed, I have 2.13
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

Confirmed.
Spout with Magic 2.13 works fine.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Mysterious invisibility of Text module output

Post by Magic »

Terry, I think I figured it out. For some reason, when DirectX 9 is selected in the global Spout settings (via SpoutSettings.exe), the problem occurs. But when DirectX 9 is not selected, Spout defaults to DirectX 11, which appears to work properly.

Can you give it a try? You might need to download and install the main Spout package if you haven't already.
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

:D :D :D Yes indeed, de-selecting DirectX 9 fixes the problem. Many thanks Eric. :D :D :D

I did have Spout installed, but was unaware of the setting options.
Magic
Site Admin
Posts: 3440
Joined: Wed Apr 09, 2014 9:28 pm

Re: Mysterious invisibility of Text module output

Post by Magic »

Ok that's probably good enough for now. The problem is otherwise proving very difficult to track down.
- AVFFGLDropShadow seems to give a perfect constant-thickness curve around edges that I haven't been able to emulate.
- FFGLEdgeDetection has a lovely quality on live video.
I'd urge you (and others) to work on finding alternative solutions for 32-bit plugins. It is seeming more and more likely that Magic v3.0 will be 64-bit only.
Terry Payman
Posts: 710
Joined: Sun Sep 14, 2014 8:15 am
Location: UK
Contact:

Re: Mysterious invisibility of Text module output

Post by Terry Payman »

Eric wrote:Ok that's probably good enough for now...
More than good enough for me. Those bugs have been bugging me for ages. I'm delighted that a simple Spout setting will avoid them. Thanks again Eric!
Eric wrote:... I'd urge you (and others) to work on finding alternative solutions for 32-bit plugins. It is seeming more and more likely that Magic v3.0 will be 64-bit only.
Fair enough. The prospect of a Magic so awesome that it needs 64-bits is quite sufficient incentive.
Post Reply