Windows Flicker in the IDE

Had a few issues but I am now operational with Xojo.
First thing I noticed on windows is the flickering when maximizing.
Its as if 30 windows try to open all at once on the right and bottom of the screen and then it maxes.

Hope compiled apps are not like this!

The flicker on Windows irks me as well.

Just installed the IDE now and it’s the first thing I noticed. That is going to be very, very annoying.

Out of curiosity, what versions of Windows are you using? I’m on Windows 8 x64 and not seeing any flickering.

First thing I came here to post about.

Example:
http://www.youtube.com/watch?v=_02MRznOizk&feature=youtu.be

Windows 8 64 bit,

Windows 7 x64. It also flickers when resizing:
http://www.youtube.com/watch?v=r45bm-hXl9Q

We will continue to work on resolving Windows flickering issues.

Geoff, will that extend the Xojo framework in general and not just your IDE?

It depends on how we fix it. The problem is that scrolling Win32 controls flickers. That’s not just apps built with Xojo but apps built with anything. Win32 is not double-buffered the way OS X and Linux are.

Short term we will probably just disable smooth scrolling of the Inspector on Windows. We disabled the animations on Windows for the same reason. Long term, our plan is to build the Windows GUI portion of the Xojo framework in .NET. That will solve it because .NET is double-buffered. This won’t have any impact on how you write your code and we will likely use a version of .NET that is pre-installed on all the version of Windows we support.

If you take a look at Microsoft Outlook for example and resize the main window you will see that it is done with an XOR’ed rubber band. When you release the mouse you will still see the controls flicker. If you resize the Panes inside the application you will be dragging an XOR’ed bar across the screen. Nothing moves or flickers until you release the mouse (and then you will still see the controls flicker into place once). This, as Geoff mentions above, is a Win32 problem and the solution has often been to draw something else in response to the resize messages rather than let the controls individually repaint during the resizing. And yes .NET has a few tricks such as double buffering and also suspending and resuming the layout.

Geoff, what is the current method used in Xojo for rendering controls?

Last time I had a control rendering issue was a simple container control used to ironically contain controls, but if you were to move that container all the embedded controls would flicker if I recall correctly. Move the controls individually and it was fine (but that doesn’t help if you wanted to use the container control too)

That to me suggests you would simply want to use WS_EX_COMPOSITED ? There’s also a WS_EX_LAYERED too.

I thought when windows started using hardware based desktop compositions (i.e. DirectX & dedicated framebuffers for windows) all these paint-based rendering issues we gone, and that was several version of Windows back, probably since XP…

That said I have to admit, Xojo applications are the only “real world” applications I have noticed flickering etc, at least significantly and almost globally.

I can get the various Windows control panels that are resizable to flicker as well.

The flickering is really bad on my machine, resizing or scrolling is terrible. I don’t get this flickering
in any other programming language or programs I use.

This should be fixed, don’t blame the OS, blame the programming.

Here is my machine info.

Windows 8 with 8G RAM
Video GTX 650 ti Boost

[quote=10631:@George Balla]The flickering is really bad on my machine, resizing or scrolling is terrible. I don’t get this flickering
in any other programming language or programs I use.

This should be fixed, don’t blame the OS, blame the programming.[/quote]
Write an app using Win32 controls and you will have flickering problems like this if you move the controls. What most apps do is try to avoid moving them.

I am using win 8 64 bit.
Flickering is allot worse than RS 2012r2.

I would have to post a video to show you what I mean - it really is like 30 windows open and close within 1/2 second on the bottom and right of the screen.

Everything else I like :slight_smile:

Win32 flicker isn’t that simple, and I have to stand up for the Xojo team on this one. There may be steps they can take to improve flicker in the IDE. But it’s not a simple…or even feasible…matter to eliminate it completely from any Win32 app. It really is an OS issue.

Geoff, we use Delphi Rad XE3 at work and using Win32 controls causes no flickering at all
in the Delphi IDE.

Hope it gets fixed in a few released.

I agree the OS is an issue, my issue is that in Xojo its worse than 2012r2.
Geoff has commented that its being looked at.

[quote=10681:@George Balla]Geoff, we use Delphi Rad XE3 at work and using Win32 controls causes no flickering at all
in the Delphi IDE.

Hope it gets fixed in a few released.[/quote]
I believe Delphi uses .NET or they draw their own controls. I’m not sure which. We will do what we can do reduce the flicker in the IDE. However, long term, we need to move the GUI layer of the framework under the hood to .NET since it’s the only double-buffered solution for Windows.

I’m all for that, as I spend a ridiculous amount of time turning on/off Redraw Lock statements on controls that have support it (i.e. Einhugur StyleGrid) and other little tricks to keep Windows from flickering as best I can. But doesn’t VB6 make extensive use of WIN32 controls? All 3 of my products were originally written using VB6 and I have flciker problems with any of them.