Stickies
Stickies >> General Board >> Rendering artifacts and black screen Fall Creator
http://tomrevell.conforums.com/index.cgi?board=general&action=display&num=1518023481

Rendering artifacts and black screen Fall Creator
Post by somnivore on Feb 7th, 2018, 11:11am

After updating to Windows 10 Fall Creator, I noticed that stickies that have a height greater than 2^14 pixels (no scrollbar) start to render incorrectly (vertical blurring). At some point thereafter, the screen goes blank!

(oops, I guess this is in the wrong sub-forum, sorry)
Re: Rendering artifacts and black screen Fall Crea
Post by Tom Revell on Feb 7th, 2018, 1:32pm

Uh do you really mean 2^14? That's an extremely large sticky, way taller than any screen I've ever heard about.

In any case, in what way do they render incorrectly? If the entire screen goes blank I'd look first at your graphics card drivers, but Stickies could be triggering something I suppose?

Tom
Re: Rendering artifacts and black screen Fall Crea
Post by somnivore on Feb 7th, 2018, 2:20pm

Yes. I really mean 2^14. Without scroll bars, it just keeps going... My screen is 1200 tall. Nothing unusual.

I can't describe it more precisely without a screenshot, which I'll see if I can get later. The text is vertically blurred.

Yes, I first assumed it was due to GPU drivers, but I tried a very different version and it still happened. The only other factor was Fall Creator Update.

I'm guessing some winapi behavior changed in Fall Creator. I tried to reproduce it in a test project, but couldn't. So there must be something specific Stickies is doing.

If you don't have Fall Creator to test with or can't repro, maybe if you could tell me how the note rendering (or at least text rendering) is done, perhaps I can try to come up with some test program to repro.
Re: Rendering artifacts and black screen Fall Crea
Post by somnivore on Feb 7th, 2018, 2:21pm

And it is specifically 2^14.

Is there may be some text measuring or buffer allocation function you're calling that is capped at 2^14 now?

Feels like some kind of buffer overrun.

Or maybe it was always capped like that but it just happened to work before.
Re: Rendering artifacts and black screen Fall Crea
Post by somnivore on Feb 7th, 2018, 2:23pm

I realize my use case is unusual.

Basically I have some notes that I use as a kind of stack and I just let them run off the screen. If I need to review the whole thing, I just copy/paste it into a text editor, but usually I'll just be using the visible part.
Re: Rendering artifacts and black screen Fall Crea
Post by somnivore on Feb 7th, 2018, 2:26pm

Btw, it happens in version 8 and 9. I upgraded to 9 in case there might be a fix, but the behavior is the same.
Re: Rendering artifacts and black screen Fall Crea
Post by somnivore on Feb 7th, 2018, 3:51pm

https://imgur.com/a/cyQ70
Re: Rendering artifacts and black screen Fall Crea
Post by Tom Revell on Feb 11th, 2018, 06:00am

Thanks for the screenie, it looks like some rows of pixels are being duplicated. Some sort of display scaling issue.

I can see the same thing here, with an updated W10 and Stickies 9. What I can tell you, unhelpfully, is that it's not my code. I make use of the MS rich text control, as that avoids my having to write a tonne of code to duplicate what already exists! To that end I don't draw the text myself, but text note contain one rich text control, which is responsible for drawing itself.

I can well believe that there's something in the MS code which falters when the control size is that large, but as it's their code, I can't look, or affect the way it works.

However, as you appreciate, the solution is straightforward - size the note to be smaller vertically. Whether it's 16,000 or 6000 pixels tall, both sizes extend off the bottom of the screen, and have no bearing on being able to access the content. It's an interesting edge case you've found, and maybe there's a programmer in MS somewhere who would be able to provide an explanation, but I suspect they might say the same as me - it's only encountered in unrealistic real world situations smiley

Tom
Re: Rendering artifacts and black screen Fall Crea
Post by somnivore on Feb 11th, 2018, 12:51pm

It's realistic for me tongue

But, yes, I understand why you might not want to be inclined to spend effort on it.

I suppose if you were so inclined you could make some kind of workaround by limiting the vertical size of the control. It may be as simple as imposing a limit on the vertical dimension. Of course then the question is - what is a sensible limit? Perhaps min(16000,screenHeight)
Re: Rendering artifacts and black screen Fall Crea
Post by Tom Revell on Feb 12th, 2018, 12:47pm

Perhaps if I could understand why the issue with the control affects you that would help? In order to get the sticky that size, I'd guess that you've manually set it that tall?

If you want that much content on the note, you could set on scrollbars and then manually make the edit control shorter. That doesn't affect functionality, seeing as you're not able to get to the bottom of it anyway.

I appreciate that you don't want to see the graphics glitches, I'd find that annoying as well, but if I understand correctly, you don't need to?

Tom
Re: Rendering artifacts and black screen Fall Crea
Post by somnivore on Feb 12th, 2018, 2:27pm

Yes, once I figured out what was causing it, I worked around it by enabling the scroll bar on the note.

I'm mainly concerned for others that might not be as discerning when their screen(s) suddenly go blank after updating to Fall Creator.

I tried to repro with a test project, drawing a RichTextBox outside a form, but I couldn't repro the problem.

Are you using a RichTextBox or somehow else rendering rich text? I'm guessing you are at least using a heavily customized control.
Re: Rendering artifacts and black screen Fall Crea
Post by Tom Revell on Feb 14th, 2018, 4:20pm

I'm using the MS rich edit control - the one provided by msftedit.dll in more recent versions of Windows.

Tom