How to fix canvas flicker in Windows 7/8/10?

[quote=338637:@Norman Palardy]
Probably NOT as reading & replying on the forums is NOT part of our job descriptions
We do it when we have a few “spare” moment mostly
Which is why we repeatedly tell people don’t expect that a post on the forums is the same as a bug report
Its not
Not in any way[/quote]

I have read that argument before - perhaps by you Norman. The truth is however that the forums would be less valuable without the input of Xojo engineers. If all Xojo staff ceased to contribute to them I’d expect it would not be long before it was added to someones job description. This aspect of the community in my opinion is simply too important to the current ecosystem to discard.

Julian’s troubleshooting of the issue is very impressive considering he does not have access to the Xojo source. I can see in Feedback many others have contributed feedback reports such as <https://xojo.com/issue/48151> where @Rob Johnston mentions that Windows is unusable due to flicker so I don’t think its incumbent on him to submit yet another bug report regarding the issue.

I think what he is asking for is some kind of meaningful feedback that the problem is in fact recognized and a solution is forthcoming. Windows flicker has historically always been cast aside as a Microsoft implementation detail but it continuously comes up every single month with no resolution in sight.

<https://xojo.com/issue/738> on March 19th, 2008 complaining of Windows flicker and the user upset that Xojo is not a cross platform solution when Windows is so terribly implemented.

Geoff contributed in March 27th, 2010 that Xojo 2010 r2 would have improvements in this area because customers were going to be unable to use the product due to the flickering not found in other development tools.

So… how many bug reports are required to substantiate a claim?

OLD RealSoftware forums http://forums.realsoftware.com/viewtopic.php?f=6&t=103&hilit=flicker from October 3rd, 2005 complaining of horrible Windows flicker.

[quote=338639:@Phillip Zedalis]I have read that argument before - perhaps by you Norman. The truth is however that the forums would be less valuable without the input of Xojo engineers. If all Xojo staff ceased to contribute to them I’d expect it would not be long before it was added to someones job description. This aspect of the community in my opinion is simply too important to the current ecosystem to discard.
[/quote]
There’s no “argument” here.
Its plain out straight forward a fact. Period.
Its not - and never has been from the inception of the email lists through to today - a job requirement or listed on any engineers job description.
We do it because we want to.

I did NOT say “submit another bug report”
I DID respond to his question of why there had been no response to a post on the forums
And the answer is

  1. we dont read every post - there are days where literally all I do is “mark all as read”
  2. we aren’t required to read or reply to everything (see above)

I believe Julian is onto something with the order of drawing. Unfortunately, this requires diving into the gut of the Xojo beast, which is far from being easy for mere mortals.

I happen to think Julian should indeed file a bug report with its experiments attached, let alone to take date and see if, indeed, Xojo takes that into account. His idea would apparently be a marked progress toward a flicker-free Windows. That would be at least a huge step in the right direction, since it is pretty apparent now that Xojo will probably never implement .Net controls.

To play devils advocate, though, it is possible to create programs with very little flicker under Windows. Case in point : the IDE itself.

[quote=338643:@Norman Palardy]There’s no “argument” here.
Its plain out straight forward a fact. Period.
Its not - and never has been from the inception of the email lists through to today - a job requirement or listed on any engineers job description.
We do it because we want to.

[/quote]

The “argument” being you are not required to reply therefore no one should expect one. My point was engagement from Xojo engineers like yourself is vital to this community. Everyone would feel it if you all left. Whether that is in your job description or not is a Xojo, Inc. implementation detail.

We value your contributions.

[quote=338643:@Norman Palardy]

I did NOT say “submit another bug report”
I DID respond to his question of why there had been no response to a post on the forums
And the answer is

  1. we dont read every post - there are days where literally all I do is “mark all as read”
  2. we aren’t required to read or reply to everything (see above)[/quote]

You implied submitting a bug report when you said a forum post is in no way like a bug report. At least that is how I interpreted it.

Suggestion based on very little hard information:

If the problem is mainly due to drawing in reverse order, and Xojo CONSISTENTLY draws controls in reverse order, then it must be possible to make it draw them in the right order by reversing the order of the controls ‘wherever it writes them down’.

The suggestion: maybe the draw order is determined by the creation order.
Maybe the creation order is determined by the order they appear in the project file.
Maybe if the file is saved in XML, they can be reversed by hand or by Arbed.
(but ideally by Xojo at the point of saving)

I appreciate this is probably naive, but does it have legs?

Julian’s bug report: https://xojo.com/issue/47001

I wasn’t aware of it but will give it maximum points.

Lets see how long it takes to push it to the number one spot :wink:

[quote=338656:@Markus Winter]Julian’s bug report: https://xojo.com/issue/47001

I wasn’t aware of it but will give it maximum points.

Lets see how long it takes to push it to the number one spot ;)[/quote]

It’s my top case too now, soon we would require windows builds and i can’t imagine how bad it’s gonna be. Perhaps this could help reduce flickering.

The last thing for me to say on the Windows flickering :

Xojo inc. solve it NOW because, this is something which should be fixed a very very very long time ago.

I use also Scirra Construct 2 & 3 as game development tool, and there is no Windows flickering at all even with hundreds of objects and sprites in a layout.

If others can do it, why not Xojo inc?!? Why is it still not fixed in more than 10 years? Fix it or tell us the Xojo inc. team can’t fix it.

The Windows flickering is really something which makes Xojo less and less attractive. Your Windows users where very patient but on each persons patience comes an end.

Why is Windows such a low priority for Xojo inc.?

Nope. It does not work that way.

In fact, it is the way Xojo draws forms on the window that is in reverse order. I cannot locate Julian’s post about that at the moment, but AFAIK there is no way to automatically reverse the order.

FWIW, the ONLY way to get Xojo, or more appropriately, William Yu, to listen, is a well built feature request, maybe with a project attached (Julian, could you do that ? Pretty Please). Venting in forum can be good for blood pressure, but it achieves very little results. In a few days, all this conversation will have scrolled into oblivion.

+75 - Rank 27th

[quote=338637:@Norman Palardy]@anon20074439 This has been clearly shown by the post here and what response did it receive? A response about me possibly using the IDE incorrectly!
You mean MY response ?
You need to reread my response if you think I said anything even approximating “you’re using the IDE wrong”[/quote]

I think most knew what I was getting at. My apologies, I was in a rush to do something else and didn’t get the chance to re-read and correct the post, what I meant to say was, I found what seemingly was a huge problem with the framework, I documented it, gave evidence of it happening, included some screenshots for clarity and even compared it against a program compiled with another development environment, for the only response to come back as “this is expected behaviour when you click on something in the IDE” even though I said this was happening when the program is running.

I’m not having a go at you Norman, I love that fact that everyone from Xojo chips into the forums when they can/want to. It helps the community out greatly and ultimately secures Xojos future for every person that is helped. On the other hand, its the first port of call for anyone with a problem, I doubt that everyone who tries Xojo also installs the feedback application, they will more than likely come to the forums first. If they search for flicker they will see hundreds of related articles on this forum each with their own unique answer, or attempted answer, who knows how many follow up with a post of their own when there are countless posts about this seemingly without resolution. I doubt there are any metrics for users to have tried Xojo in Windows and not followed up with a license because they found some issues that weren’t resolved. This is however a double edged sword, being vocal on the forums and helping out in places is great, but when there’s no help, or no feedback, it can seem like things are being ignored. With an almost 5 month gap since I posted <https://xojo.com/issue/47001> and a rather, how do I put it, non-committal replication of the problem, how do I know its even on someones radar?

I have Michael, three days after posting to the forums about it to see if anyone else could shed some quick and simple light on the matter I decided to take it to <https://xojo.com/issue/47001>. It doesn’t pick up on the fact that it’s related to flicker because I find it pointless and futile to report/look into that until the problem of z-ordering is remedied. Only then, will I start looking into the issues of flicker, if they do exist then.

The ticket is in for the problem, I don’t think they need it to be repeated, it’s just a click of a button to mark the feedback as a duplicate of another ticket and there’s a instant waste of a time putting the feature request/new ticket in. I think (hope) they know about it now, as its moving up the rankings on feedback.

[quote=338655:@Jeff Tullin]If the problem is mainly due to drawing in reverse order, and Xojo CONSISTENTLY draws controls in reverse order, then it must be possible to make it draw them in the right order by reversing the order of the controls ‘wherever it writes them down’.

The suggestion: maybe the draw order is determined by the creation order.
Maybe the creation order is determined by the order they appear in the project file.
Maybe if the file is saved in XML, they can be reversed by hand or by Arbed.
(but ideally by Xojo at the point of saving)

I appreciate this is probably naive, but does it have legs?[/quote]

Not naive at all Jeff, this is perfectly reasonable, this is exactly the same conclusion that I came to when I was looking into the issue. In <https://xojo.com/issue/47001> I attached an example project that clearly shows the problem and what happens in a real usage case. I showed what should be happening by reversing the order of items through the IDE, applying a z-order fix regarding WS_CLIPCHILDREN and WS_CLIPSIBLINGS and showing what happens when this is done, a perfectly functional application that behaves “normally” and as expected. The main problem here is that you need to reverse the order of the UI elements, if you then need to find something in the IDE it will be in the wrong order and when you cross compile to MacOS you will have the problem over again, but in reverse. I havent yet found a way to alter the order of UI elements at runtime before the window is first opened, which is what would be needed to be performed on Windows for there to be a “drop in” fix to the problem.

Having only known about Xojo for just over 15 months, I am a relative community outsider, looking at this with a fresh set of eyes its seemingly gone on way longer that it should have. People seem to have been brainwashed into thinking that flicker or z-order problems are because of Microsoft or the way Windows works. This just isn’t the case, you should be able to overlay canvases on top of each other without flicker you should be able to have a control partially occluding another without the one behind punching through or causing unwanted refreshes of the control it overlays, this is basic stuff.

I’ll be the first to admit that I haven’t renewed my license due to some of the problems I have found with the framework. I was contemplating using older versions of the Xojo to develop with but I have come up against problems that cause hard crashes that have since been fixed with newer versions of Xojo. The problem I now have is that I MUST upgrade to get past these crash causing problems because fixes are not made to older edition of Xojo and by upgrading to the newer versions of Xojo I then encounter problems that have been introduced by the move to DirectDraw.

I am essentially stuck between a rock and a hard place without a version of Xojo that I can develop with even though I have spent approximately $1000 on software and plugins even before the cost of time comes into the equation. This isn’t about me though, its bigger than that (even with my mid section girth).

Everyone has their own issues to put points in that are important to them and as such I hate doing this, pimping out tickets for votes, I was actually going to post something similar in a new thread in Targets>Windows but I set it to draft and left the post in limbo.

I’m afraid that I don’t have any points to allocate as I don’t have an active license but its nice to see that <https://xojo.com/issue/47001> has moved up in position. As the forum isn’t a guaranteed method of contact with Xojo, organising feedback points is the main way forum members (with a license) can actually raise their voice and point their finger at a problem in a way that is directly visible to Xojo. If you value Windows development at all, or want to one day move your MacOS app to Windows, please install the feedback tool and put your points into <https://xojo.com/issue/47001>.

If you have spare points, or have them in something that hasn’t been implemented in years or seems like a pipe dream, please also put them towards <https://xojo.com/issue/47541> and <https://xojo.com/issue/46398> which are both show stoppers for Windows developers. When/if the problems are fixed, you can always move then back.

It’s my #1 case.

I appreciate your troubleshooting, investigation, and diligence on this. I hope your research has gotten the ball rolling to get it resolved. Not bad for new to the community!

And you’ve done that very well :slight_smile: Thanks a lot again.

Now your Feedback is in the overall “top 20” - certainly a ranking that doesn’t get overlooked.
And while we can’t ever know - we all hope it’ll be on someones to-investigate-(and-hopefully-do-something)-list sooner than later.

Julian, did you add a link to this thread to the feedback ?

No Michel, I don’t think there’s any new info in the thread to help with the problem.

I’m happy its got in the top 20 though, thanks all.

For what it’s worth; our company was investigating porting a mammoth (in size, and age!) VB6 project over to Xojo. We have a trial account, and in porting some of our controls over on some very basic ‘test rig’ forms, the flicker and latency was noticeable, to the point we wouldn’t be happy ‘upgrading’ our customers to the Xojo build.

When you make a Xojo account, you get emails asking you how you’re getting on. I mentioned the stuttering/unresponsive UI elements on Windows as being a reason why the project was on hold—despite a lot of initial enthusiasm—and was told that 2017r2 (released this summer) will see a big improvement in that area.

I keep checking back here every week or so to see if it’s available for testing.

Thanks Julian for your huge effort to resolve this and bring this obvious glaring issue to the forefront.

I’m trying to sort out an issue with posting feedback - when I do I’ll pile on board.

If its worth anything, the game project I made in Xojo 2 years or so ago (Game Link) had noticable flicker and lag in some spots with a fair number of canvases on the screen. I think improvements with this would attract more game makers to use Xojo.