Coblyn 3.2.0

Posted on 2019-08-14 at 19:42

This release of Coblyn is the last in the series of 32-bit to 64-bit macOS conversions I’ve been working on recently. Now all of my apps are compatible with macOS 10.15 for when it comes out later this year.

As with the others, the main point of this release is simply the 64-bit conversion, but there are a few other small changes:

And as with GridBike, I’ve released a new Windows version to pick up the fixes I’ve made.

Download Coblyn here.

GridBike 2.2.0

Posted on 2019-08-12 at 20:00

This release of GridBike, as with the recent release of Reversi, is simply to convert the app from 32-bit to 64-bit. This means it will be able to run on macOS 10.15 onwards (and will stop warnings on macOS 10.13 and 10.14). Other than that it should look and behave the same as the previous version.

One side effect of the conversion is that GridBike now requires macOS 10.7 or later.

I’ve released a new Windows version to match. This is also unchanged apart from being built with a newer version of Visual Studio.

Download GridBike here.

Reversi 1.3.0

Posted on 2019-08-10 at 10:55

This release of Reversi is mainly just to convert it from being a 32-bit app to a 64-bit app. This means it will be able to run on macOS 10.15, which is the first version of macOS to drop support for 32-bit apps. Other than that it should look and behave virtually identically to the previous version.

One side effect of the conversion process is that Reversi now requires macOS 10.7 or later. I don’t anticipate this being much of an issue since that version has been out for 8 years now…

Download Reversi here.

macOS 64-Bit Apps

Posted on 2019-08-09 at 07:30

The next version of macOS (10.15), due later this year, will completely drop support for apps built in 32-bit mode. For a while now (since 10.13.4) macOS has been issuing warnings when running 32-bit apps as a reminder, and you may have seen these if you use my software. So it’s time for some updates!

Two apps, Ephemeral and psxdmh are already 64-bit. But three others aren’t:

Over the coming weeks I’ll be releasing updates to these apps to convert them to be 64-bit. I’ve started work on converting all of them and it’s been progressing well (far less painful than I had imagined).

Stay tuned for updates very soon!

Ephemeral 2.2.0

Posted on 2018-11-23 at 19:19

This version of Ephemeral might look virtually unchanged on the outside, but on the inside I’ve converted it to render using Metal instead of OpenGL/OpenCL (on compatible Macs). This is in preparation for the future: a while back Apple announced that OpenGL and OpenCL were both deprecated in favour of Metal, meaning that they’ll be removed in a future version of macOS.

Another benefit of Metal is that it is much easier to use (to write and maintain code). In contrast, I’ve always found OpenCL to be quite difficult and fragile. And given that Metal is Apple’s favourite (OpenGL has languished unchanged by Apple for years), Metal should give the best possible performance.

The full set of changes in this release are:

Download Ephemeral here.

Using Metal in macOS Screen Savers

Posted on 2018-11-17 at 18:58

In my last post I was glowing in my praise for Apple’s Metal technology. Since then my love affair with Metal has cooled just a little. The underlying technology is great, but I just couldn’t get the recommended way of handling Metal graphics (MTKView) to play nice in a screen saver. It works fine in normal apps such the test harness I use for Ephemeral development, but there’s something about living inside a screen saver that makes it exhibit some odd behaviour, primarily visual glitches on start up.

So I ended up dropping down one level in the technology stack, getting rid of MTKView in favour of using CAMetalLayer and CVDisplayLink. Now I have a Metal screen saver that is free of glitches, and works exactly the way I want it to. Despite the switch in technology the bulk of my code didn’t need to change, which was a relief. And for a bonus I’m now using the new timer to run the OpenGL/OpenCL variant of Ephemeral, which is now drawing more smoothly than ever before.

There’s one more issue with Metal that’s cost me a huge amount of time, which is a rare problem which causes visual corruptions. The symptom is that every second frame of animation is garbled, but only ever when running from System Preferences in preview mode. I tried everything I could think of to fix it, but just couldn’t get it to go away.

And then I had the idea of looking at Metal screen savers written by other developers. I found three, and managed to get all of them to draw with the same style of corruption. So I think I can put this down to a problem with macOS: it seems very unlikely to me that all these Metal–based screen savers, independently created by different developers and using different methods for drawing, contain the exact same bug. Coupled with occasional visual corruptions I see on the macOS lock screen and desktop, and I feel even more certain that macOS that’s at fault.

With all that out of the way, the new Metal version of Ephemeral is almost ready to go…

Going Metal

Posted on 2018-08-28 at 21:20

A few months ago Apple announced the deprecation of OpenGL and OpenCL. These technologies are the basis for my Ephemeral screen saver, so this announcement was a great excuse to learn Metal, Apple’s replacement.

My early impression of Metal is that it’s far easier to use: it was relatively straightforward to get it to draw the IFS fractals, whereas with OpenCL it was an absolute nightmare. In fact Metal makes things so easy, I’m seriously considering turning some of my other ideas into screen savers. Anyway, the conversion of Ephemeral is progressing well, and I hope to have a release ready soon.

In other news, I recently moved my web hosting to a new provider, which has allowed me to start using https for added security. At the same time I made a few other small changes to the website, including retiring the RSS feed — it just wasn’t worth the trouble.

Older news items are available in the archive.