Xojo performance compared with vb6

In a very general sense, VB6 is faster than REAL/Xojo on both built apps and IDE performance.

But remember, VB6 didn’t have to bloat itself with the last 15 years of supporting code. But, smartly, that’s what Declares are for.

I disagree with Daniel in the sense that if we are just talking about loop iteration speed, or the real bit parts of accessing variables and computational speed, there’s no doubt that VB is faster than REAL. Daniel is correct about when you’ve layered things up where you are talking about 6+ functions deep - it can depend. Design does come into play.

I remember Borland trying to get a jump on MS with Delphi, saying their compiler was do much faster (the fastest), that sort of thing. REAL just doesn’t have that type of advantage over VB, but the xplat and the inheritance are very, very significant. And, for me, all REAL has to do is do a decent job and not tick me off. =) They don’t have to go supersonic. (And remember, I’m not talking about .NET, because that throws lots of other weird stuff on the table.)

I work in the audio industry so I totally relate. Real-time stuff. Regarding VB apps not working, don’t worry, MS is your friend there. Almost their entire model is based around the billions of legacy apps that just HAVE TO WORK. Apple does not feel the same way. But MS does.

It is smart to make sure you have a way out though.

I use Xojo extensively in live broadcast television running mostly on MacMini’s. No complaints here.

I never made a claim one way or the other there. But just trying a 10,000,000 loop addition test in both, the speed difference is within the margin of error for GetTickCount() in Win32 IF you turn off BackgroundTasks in Xojo. I have no idea what would happen with more sophisticated math or data manipulation. It wouldn’t shock me to find that VB6 was faster in some respects, though both are likely to be slower then C++ or or anything using LLVM (XojoScript).

Daniel Taylor,

I was speaking about compiled app performance.

for the lighting software I send out data values 0 to 255 for as many as 10,000 channels via an usb to serial convertor. At the same time I need to display the status of each intelligent fixture, which has many diferent traits like position, color, beam shape, dimmer etc… Each fixture uses 1 to 100 channels. I keep hearing about flickering issue? that is what I am wondering about now. what exactly is it?

I would like to thank everyone for their response. I am still as confused as ever, but i feel I will have to make a move soon.
Not sure I can ask this, but is there any cross platform c++ ide that may work? looked at QT but it may be a bit expensive (7K+)

What are the timing requirements for the data stream?

Updates up to 40 times a second, and its not always 10,000 channels, it could be as little as 512 channels.

Since Xojo doesn’t have pre-emptive threading, this may be a case where you’d be better off having 2 apps: a main app that shows the user interface (UI) and a 2nd app that runs in the background that sends data to the USB gizmo. (This sounds like DMX, is it?)

You could probably do this within a single app, but you’d have to make absolutely sure that the foreground UI display never blocks a thread for more than 0.025 seconds.

You can still get VB6 to works under Windows 8.1. Actually runs very well.

When you install, you need to do a custom install and uncheck “Data Access”.

Then you need to set Compatibility Mode to the VB executable, "Windows XP (SP2)
and check “Disable display scaling on high DPI settings”

The IDE will run smooth (no flickering) and compiled programs work without any problems.

Make sure to download the VB updates after it is running.

Michael Diehr, what do you mean pre-emptive threading?

Thanks everyone for the reply’s. I have converted my small app to xojo and find the gui VERY Sluggish.

Anyone know when that may be fixed, and when the LLVM will be implemented for regular xojo apps.

Sorry to be so picky but as you know time is valuable, and If I am going to re-write three applications for my small business I want to make sure I am not making the same mistake I made with vb6(only because of loss of support, still love the functionality).

In addition any new comments on people who have moved from vb6 to Xojo, that can comment on the performance difference of xojo compiled app would be greatly appreciated.

Why would xojo have a flicker problem and not vb6, if they are both using com-32

[quote=43119:@Winston Potgieter]Michael Diehr, what do you mean pre-emptive threading?
[/quote]

Xojo uses a cooperative threading model, which means that background tasks have to yield to the foreground thread. There are pros & cons of this.

I’ve written apps that do OpenGL animations at 60fps, which sounds similar to what you are doing : if the frame rate drops, its noticeable.

Suggestion:

  • use the Profiler to see what of your methods are taking too long