Retina / Hi-DPI display support?

It’s probably an old question, but we’ve had Retina displays for a couple of years now and it was always discussed that a major rewrite of Renoise is required to support Retina (or so I believe), so, 3.0 and it doesn’t look like it. Would be nice to hear from the team on the topic.

When did you read that? What issues do you experience with Renoise on a Retina display?
Taktik did something for Retina displays in 2.8.1, which version of OSX do you currently run? 10.9? That might also be of influence.

How does the screen look (if you can post screenshots)?

10.9, yes, but I lived through every version of Renoise on every corresponding version of OS X, and it always was ugly-ish on Retina.

https://www.monosnap.com/image/ZTg9Kt5JzH1iGKLI702pLtIPY.png

I’ve no idea what font do you use but I typed “Oct” under the original text outlined in purple, and notice how blurry Renoise’s text looks. I dunno if it’s intentionally “pixelated” font, but even if it is, it isn’t crisp, it’s very blurry on the edges. All text in Renoise looks blurry — and text is half the battle with UI presentation on Retina screens. All other assets are blurry too — the logo in the corner, the grid (yes, the grid) in Tracks, each and every icon, even most of the lines and boxes have blurry edges.

All in all, Retina is about crispiness, be it pixellated crispiness or anti-aliased crispiness. Renoise as it is now looks blown-up and upscaled in a not very pleasant way. I remember it crispy-sharp on older normal Mac displays, it looked gorgeous.

The Retina displays are simply going beyond normal resolutions. (resolutions that PC users need two displays for on a Gaming GPU card).
It seems indeed everything is simply blown up, but i also noticed that the Apple documentation that was linked to in the given topic was frankly also giving advise on how to polish those fuzzy bits so i expected these things had been changed as well.

For basic Retina “support”, we could obviously just render the entire GUI natively at Retina’s higher resolution, but then you’d be staring at tiny pixel fonts everywhere, and I’m pretty sure nobody really wants that :]

Every single visual element you see in Renoise is carefully positioned, sized, spaced, arranged, and so on, essentially pixel-by-pixel and by hand. While we do have some helper widgets that can automatically display stuff in lists, or automatically align groups of elements together in nice ways and things like that, ultimately it still requires a lot of tedious trial and error, making sure that everything is positioned correctly and fits exactly where it should.

So the main problem to tackle here is converting the entire GUI system from this slightly oldschool pixel-by-pixel approach, to a more modern, flexible and scalable system. This is unquestionably a huge, huge task to undertake. I’m not saying that it will never happen, but when we say “major rewrite” we really do mean a major rewrite that is focused purely on reworking only the graphical side of things and nothing else. Every other feature of Renoise would potentially be put on hold for 6+ months (or who knows how long really), just to solve this problem.

Ultimately, the end result of such a new system and months of work would pretty much be the same overall interface, but rendered at a higher DPI and with a bit more visual clarity. There wouldn’t be any ground-breaking new stuff here, it would just look a bit better – and be slightly less blurry – than the current upscaled Retina solution.

As always, with our tiny dev team, it’s a constant struggle to balance everything that we need to do, while trying to figure out which features are the most important or useful to the community at large.

Not necessarily.

I’ve been staring at Retina screens since they first came out — iPhone 5, then iPad gen 3, then the new Macbook Pro. Being a UI designer by trade (a daily job) nudged me to contemplate the Retina situation over the course of years. While the “proper” Hi-DPI display support is exactly what you’ve been describing — scaling things to precision — sounds truly enormous, the Apple’s approach to Retina screens is simple and consistent: “let’s make everything exactly 2× the resolution before”. This exactness is the key — we’ve seen most of the OS X and iOS apps adopting Retina displays over the course of a season, and even the sluggish sluggers like Adobe took a year (but I can’t say their updates were visually significant — they just had to rewrite some really old Carbon code, or that’s what I’ve heard from Adobe engineers). I’ve personally delivered quite a bunch of UI stuff for iOS (Retina and normal displays) and several Retina-ready microsites, and I believe that supporting that exact “double time” is a question of a weekend well spent with a Retina display, not half a year doing heavy UI lifting. And yes, someone will have to re-deliver all the graphics at double size, but that’s not a lot of work either. Yes, you’ll have to accommodate for double the resolution of everything, and no, it’s a simple math. And yes, answering your original question, pixellated fonts are still cosy on Retina displays if you render them without artefacts. My initial complaint was in the vein that everything is blown up blurry; if everything I see in Renoise was just blown up exactly two times, things would look a lot better.

But that, of course, is my personal opinion.

If we “only” want to handle scaling by 2x, then yes, it’s a “simple” matter of going through every line of code and applying the necessary pixel multiplier to each drawing function. This is “simple”, but still a pretty huge pain in the ass in its own right, with a lot of very tedious work needed to modify thousands of lines of code and make sure that everything is still working as intended. This is the lesser of evils, and it may not seem like a big deal, but believe me, it still is.

If we want to tackle the interface problem properly – to allow for whatever random new displays may come in the future – then we do need a more suitable and scalable solution. This is the thing that will take a shitload of time to realize properly, and what I was referring to earlier. This has been on our minds for a while, and we even have various concepts printed and stuck on the walls of the office to remind us about this, but it’s simply an ugly task that manages to slip away from us each time.

As a rough compromise in the meantime, maybe the scaling algorithm can simply upscale the GUI in a more “raw” fashion and give a pixellated 2x look, rather than trying to resample or smooth it in a “fancy” way.

BTW: the high DPI is an issue on linux, too.

Having a 166 dpi 13 inch display with 1920x1080 pixels makes many labels hard to read. It would be awesome to have some kind of fix / workaround for this (like scaling the whole UI by some factor).

Maybe.

Guys, I really don’t want to upend your gig here. Renoise is a great, great piece of software. One of the best out there. Worth every eurocent. It’s just that on Retina it’s a bit on the uglier side, is all.

I already bought dblue’s awesome Glitch plugin and I intend to buy Redux and to support this software and the community as much as I can, and yes, I appreciate all your coding efforts — but hey, we live in Kickstarter age, and maybe a little bit of an incentive might sweeten the deal. Ask around, maybe there are people like me out there who would be willing to support financially some light UI overhaul.

Don’t get me wrong, I never really pitched in about any of Renoise’s features — you get something new done with each and every version. That’s just great. Some things I like, some things I don’t really like, but hey, I’m subjective — and the product is living and breathing and that’s what’s really important. This whole Retina issue is about a particular thing being objectively wrong, visually off, that’s why I come and say it out loud.

That is your solid right and its okay by us and the devs try to give them their viewpoint from their angle which is always hard to explain if the amount of lines of code involved is not known publically :)

I can testify that the font is awful.
Fixing that alone would be extremely appreciated!

So what is the status on giving Renoise a GUI makeover for ultra high resolution displays? 4K+ and UWQHD monitors are becoming more common and (relatively) affordable, and a GUI based on scalable vector graphics rather than pixels would be a really nice improvement.

What Image Line did for FL Studio 12 is a good example of how much more flexible a vector graphics GUI is for adjusting to different displays and visual needs/preferences. I realise this must be a major coding effort, but once you have a vector-based GUI, you never have to look back.