1. Razen
  2. razencad
  3. Issues
Issue #69 new

Retina optimized icons

Guan Yang
created an issue

I just got a new 13" Retina MacBook Pro and they look a little jagged :-)

Comments (13)

  1. Razen repo owner

    This is unfortunately an issue with the QT libraries (used for the UI) not implementing retina support. Everything just gets forced into double-pixel scaling, hence the jaggedness. I'm looking into workarounds, but there's no easy solution at the moment.

  2. jorishoogeboom

    ok just adding whatever was on console when this was tested, not sure if that helps

    15/01/14 17:13:11,185 CoreServicesUIAgent[761]: Saving rejection record:
    Rejected URL=file:///Applications/razen%20beta/Razen.app/
    App URL=file:///Applications/razen%20beta/Razen.app/
    15/01/14 17:13:11,192 com.apple.launchd.peruser.501[155]: ([0x0-0x9c09c].com.razencad.razen[759]) Exited: Killed: 9
    15/01/14 17:13:22,086 Razen[776]: CoreText performance note: Client called CTFontCreateWithName() using name "Lucida Grande" and got font with PostScript name "LucidaGrande". For best performance, only use PostScript names when calling this API.
    15/01/14 17:13:22,086 Razen[776]: CoreText performance note: Set a breakpoint on CTFontLogSuboptimalRequest to debug.
    15/01/14 17:13:22,338 Razen[776]: CoreText performance note: Client called CTFontCreateWithName() using name "Courier New" and got font with PostScript name "CourierNewPSMT". For best performance, only use PostScript names when calling this API.
    15/01/14 17:13:22,353 Razen[776]: CoreText performance note: Client called CTFontCreateWithName() using name "Lucida Grande" and got font with PostScript name "LucidaGrande". For best performance, only use PostScript names when calling this API.
    15/01/14 17:13:22,354 Razen[776]: CoreText performance note: Client called CTFontCreateWithName() using name "Lucida Grande" and got font with PostScript name "LucidaGrande". For best performance, only use PostScript names when calling this API.
    15/01/14 17:13:23,319 Razen[776]: CoreText performance note: Client called CTFontCreateWithName() using name "Courier New" and got font with PostScript name "CourierNewPSMT". For best performance, only use PostScript names when calling this API.
    15/01/14 17:13:23,378 Razen[776]: CoreText performance note: Client called CTFontCreateWithName() using name "Courier New" and got font with PostScript name "CourierNewPSMT". For best performance, only use PostScript names when calling this API.
    15/01/14 17:13:23,414 Razen[776]: CoreText performance note: Client called CTFontCreateWithName() using name "Lucida Grande" and got font with PostScript name "LucidaGrande". For best performance, only use PostScript names when calling this API.
    15/01/14 17:13:23,578 Razen[776]: The function `CGContextErase' is obsolete and will be removed in an upcoming update. Unfortunately, this application, or a library it uses, is using this obsolete function, and is thereby contributing to an overall degradation of system performance.
    15/01/14 17:13:33,764 Razen[776]: modalSession has been exited prematurely - check for a reentrant call to endModalSession:
    15/01/14 17:14:45,244 Razen[776]: modalSession has been exited prematurely - check for a reentrant call to endModalSession:
    15/01/14 17:14:49,622 Razen[776]: CoreText performance note: Client called CTFontCreateWithName() using name "Lucida Grande" and got font with PostScript name "LucidaGrande". For best performance, only use PostScript names when calling this API.
    15/01/14 17:15:07,989 Razen[776]: modalSession has been exited prematurely - check for a reentrant call to endModalSession:
    15/01/14 17:15:17,047 Razen[776]: modalSession has been exited prematurely - check for a reentrant call to endModalSession:
    15/01/14 17:16:45,733 Razen[776]: CoreText performance note: Client called CTFontCreateWithName() using name "Lucida Grande" and got font with PostScript name "LucidaGrande". For best performance, only use PostScript names when calling this API.
    
  3. Guan Yang reporter

    You could get some sense of what this looks like by enabling a HiDPI resolution on a non retina Mac and then stepping back a little, or just compare to the other UI elements.

  4. Razen repo owner

    Annoyingly I don't have a sufficiently hi-res display to support HiDPI (MBP with 1400x900 display). I'll test on an external display when I get the chance.

  5. jorishoogeboom

    What they usually do for retina/HiDPI icons is ship two versions of icons, one for normal dpi and one that is twice the resolution and swap those out depending on the users display.

  6. Guan Yang reporter

    Of course Cocoa would do the swapping automatically. On iOS (especially iPhone) it's common to just ship 2x versions because there are so few non retina models.

  7. Log in to comment