Early 2013, Retina MPB, UI performance benchmarking and review

Discussion in 'MacBook Pro' started by DiscardedPacket, Mar 8, 2013.

  1. DiscardedPacket macrumors member

    Joined:
    Mar 8, 2013
    #1
    A bit of background about myself. I'm an IT consultant, which means I spend months at a time at customer sites on projects, hotdesking. I rarely have an external monitor to connect to, so i'm almost always relying on my laptop screen to get stuff done. My old laptop was an Early 2011 13" cMPB, i7, 8GB RAM, 128SSD.

    So my reasons for moving onto the retina laptop? I wanted more screen real estate, but maintain the portability and weight of the 13" laptop. The 128SSD was also getting a bit restrictive. The new retina model I purchased is Early 2013, 2.7Ghz, 16GB RAM, 512 SSD.

    I've been reading this forum for months working out if I should get it now or wait for Haswell. Some people couldn't notice the performance issues, some could, not sure who to trust, I decided to go ahead and take the risk and purchase.

    So, based on this, I've done some benchmarking using the quartz debug tool so everyone here can see what the performance is like.

    Personally for me I find 1920 x 1200 too small, so I run the laptop in 1680 x 1050. The performance is better in "best for retina", but for me 1440 x 900 is just too big. So all the tests below are performed in 1680 x 1050.

    The following states are the FPS rate as depicted by the quartz debug tool when scrolling through the particular applications. i've used the same files (PDF, XLS, etc.) with all testing.

    Early 2011, 13" cMPB

    Medium Detail PDF: 40 FPS
    High Detail PDF: - 30 FPS
    Large Spreadsheet (Excel 2011): 12 FPS
    Safari (not webkit) on buzzfeed.com: 45 FPS
    Safari (not webkit) on gmail Inbox: 10 FPS

    These are the tests using the new retina macbook.

    I used gfxCardStatus to switch between integrated and discrete graphics. Note that I also performed the tests in dynamic switching mode, and the discrete graphics never kicked in.


    Early 2013, 15" rMPB

    Integrated Graphics - (GPU Diode Temperature: 45c)

    Medium Detail PDF: 20 FPS
    High Detail PDF: - 15 FPS
    Large Spreadsheet (Excel 2011): 10 FPS
    Safari (webkit) on buzzfeed.com: 50 FPS
    Safari (webkit) on gmail Inbox: 25 FPS

    Discrete Graphics - (GPU Diode Temperature: 60c)

    Medium Detail PDF: 25 FPS
    High Detail PDF: - 15 FPS
    Large Spreadsheet (Excel 2011): 10 FPS
    Safari (webkit) on buzzfeed.com: 55 FPS
    Safari (webkit) on gmail Inbox: 35 FPS

    Now, with the final test I found a hack on these forums where you can rename /System/Library/Extensions/AppleGraphicsPowerManagement.kext and it basically allows the discrete graphics to go a little harder. The temperature of the GPU does increase slightly, but the performance is much much better.

    Discrete Graphics - Kext Deleted (GPU Diode Temperature: 70c)

    Medium Detail PDF: 30 FPS
    High Detail PDF: - 25 FPS
    Large Spreadsheet (Excel 2011): 20 FPS
    Safari (webkit) on buzzfeed.com: 60 FPS
    Safari (webkit) on gmail Inbox: 45 FPS

    ------------------------------

    Based on these tests, these are my thoughts:

    1. From a user experience, the integrated graphics is not sufficiently powerful enough to move the pixels at a smooth frame rate on the display.
    2. The safari webkit is amazing and really helps the performance of browsing, I use this exclusively. This makes me believe that software optimisations can be done to correct the UI performance issues in other applications.
    3. I don't think if Haswells 50% increase of the integrated GPU will be enough to provide the performance people want when mobile, although it will definitely be better. I think a software fix needs to happen in addition to this.

    The way I am running the laptop at the moment is with the kext file disabled and using gfxCardStatus to manually change between discrete and integrated.

    When I am at a desk and plugged into a power source, i'll use the discrete graphics, and the performance is very good, and very similar to my old 13" laptop.

    When I am on the road or in a data centre or something I change to integrated graphics, but I don't really care about the performance because i'm usually either just in a web browser or terminal session.

    So, my final thoughts on the retina?

    1. This is the best laptop that I have ever owned.
    2. The screen is amazing (anti glare, contrast, retina graphics etc)
    3. Running on discrete graphics with the hack in place you should have no issues, the temp on the GPU runs a little higher but still within acceptable limits.
    4. Running on integrated graphics you will have a slight performance hit but you will usually only use this when you are not at a desk doing intensive work. Plus, the safari webkit makes any browsing as fast in integrated as discrete (as shown in my benchmarks).
    5. I don't think Haswell will be enough to improve the integrated graphics performance, some software modifications will need to be made.

    So, if you really need a laptop, the early 2013 retina is an awesome machine. Just be aware that it won't run silky smooth on integrated graphics.
     
  2. Ultra AleM macrumors 6502a

    Ultra AleM

    Joined:
    Jun 22, 2012
    Location:
    Italy
    #2
    I have your laptop, too, and fixed the lag by turning off the auto GPU switch from the settings. The Intel HD 4000 makes you save battery but just cannot handle the pixels.

    What I am surprised about is that you use your rMBP at 1650x1080p ratio. I tried to and the texts becomes blurry, because this is not the best and optimized aspect.

    I think it looks better on a high-res cMBP.
     
  3. DiscardedPacket thread starter macrumors member

    Joined:
    Mar 8, 2013
    #3
    yeah, in the test above i've disabled auto GPU switching. But using gfxCardStatus allows you to change to integrated when you are mobile, thus allowing you to get 6-7 hours battery life instead of 2-3.

    I'm using 1680 x 1050 (scaled, not true resolution), so it renders at 3360 x 2100 then scales down. It appears perfect to me... very crisp. Not sure how you are thinking it is blurry?

    The cMPB 15" was never an option for me, too big, too heavy. The rMPB 15" has an amazing lightweight design.
     
  4. pogoking macrumors newbie

    Joined:
    Jan 22, 2012
    Location:
    Poland
    #4
    Could you please run the same tests but on the 'Best for Retina' setting?
     
  5. eljimberino macrumors member

    Joined:
    Feb 13, 2013
    #5
    As we say in Australia: bloody oath.
     
  6. leman macrumors 604

    Joined:
    Oct 14, 2008
    #6
    Thanks for the benchmarks! They seem to mirror my own findings I posted in these forums some time ago, that there is not much performance difference between the integrated and the discrete GPU.

    Your tests show that:

    a) Excel needs some major reworking to its rendering algorithms
    b) Apple needs to optimise their PDF rendering engine (assuming you have used Preview)

    A few questions: did you conduct your tests with maximised application windows? And - did you use Preview or some other PDF viewer?
     
  7. locoboi187 macrumors 6502a

    Joined:
    Oct 3, 2012
    #7
    Another test showed that the integrated GPU is more than capable pushing these pixels but the software wasn't on par yet.
     
  8. DiscardedPacket thread starter macrumors member

    Joined:
    Mar 8, 2013
    #8
    1) Yes, maximised windows were used for each test.
    2) I used preview to test the PDFs.

    Edit: The difference between integrated and discrete is only apparent once AppleGraphicsPowerManagement.kext has been disabled/removed. I think they can optimise the configuration on this file so that the discrete GPU is allowed to burst when required, currently there is some sort of ceiling that is configured to limit the clock speed / output that it can do.

    ----------

    I'm australian too, mate :p

    ----------

    Just ran the test again in "best for retina" mode:

    Integrated Graphics - (GPU Diode Temperature: 45c)

    Medium Detail PDF: 30= FPS
    High Detail PDF: 15 FPS
    Large Spreadsheet (Excel 2011): 12 FPS
    Safari (webkit) on buzzfeed.com: 55 FPS
    Safari (webkit) on gmail Inbox: 30 FPS

    Discrete Graphics - (GPU Diode Temperature: 70c) - kext deleted.

    Medium Detail PDF: 32 FPS
    High Detail PDF: 25 FPS
    Large Spreadsheet (Excel 2011): 20 FPS
    Safari (webkit) on buzzfeed.com: 60 FPS
    Safari (webkit) on gmail Inbox: 50 FPS

    ----------------

    Not surprising, the performance is better than scaled mode...
     
  9. ppone macrumors regular

    Joined:
    Sep 1, 2011
    #9
    I did the steps you recommended and it did not change the GPU clock speed. I know this because I ran a CUDA program called deviceQuery, that comes with the CUDA development samples for OS X.

    I renamed the AppleGraphicsPowerManagement.kext to AppleGraphicsPowerManagement1.kext1, cleared the caches by running

    sudo rm -rf /System/Library/Caches/com.apple.kext.caches/*

    and restarted and I verified the kext was not loaded by running

    kextstat |grep AGPM , which returned nothing as expected.

    Both times I got the GPU clock rate at 900 MHz for the GPU clock speed.

    Output both times.

    $ ./deviceQuery
    ./deviceQuery Starting...

    CUDA Device Query (Runtime API) version (CUDART static linking)

    Detected 1 CUDA Capable device(s)

    Device 0: "GeForce GT 650M"
    CUDA Driver Version / Runtime Version 5.0 / 5.0
    CUDA Capability Major/Minor version number: 3.0
    Total amount of global memory: 1024 MBytes (1073414144 bytes)
    ( 2) Multiprocessors x (192) CUDA Cores/MP: 384 CUDA Cores
    GPU Clock rate: 900 MHz (0.90 GHz)
    Memory Clock rate: 2508 Mhz
    Memory Bus Width: 128-bit
    L2 Cache Size: 262144 bytes
    Max Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536,65536), 3D=(4096,4096,4096)
    Max Layered Texture Size (dim) x layers 1D=(16384) x 2048, 2D=(16384,16384) x 2048
    Total amount of constant memory: 65536 bytes
    Total amount of shared memory per block: 49152 bytes
    Total number of registers available per block: 65536
    Warp size: 32
    Maximum number of threads per multiprocessor: 2048
    Maximum number of threads per block: 1024
    Maximum sizes of each dimension of a block: 1024 x 1024 x 64
    Maximum sizes of each dimension of a grid: 2147483647 x 65535 x 65535
    Maximum memory pitch: 2147483647 bytes
    Texture alignment: 512 bytes
    Concurrent copy and kernel execution: Yes with 1 copy engine(s)
    Run time limit on kernels: Yes
    Integrated GPU sharing Host Memory: No
    Support host page-locked memory mapping: Yes
    Alignment requirement for Surfaces: Yes
    Device has ECC support: Disabled
    Device supports Unified Addressing (UVA): Yes
    Device PCI Bus ID / PCI location ID: 1 / 0
    Compute Mode:
    < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

    deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 5.0, CUDA Runtime Version = 5.0, NumDevs = 1, Device0 = GeForce GT 650M
    _______________________________________________________________

    The only way to speed up the UI, is to use a non HIDPI resolution; setting the UI scale = 1.0.

    That is the only way.


     
  10. DiscardedPacket thread starter macrumors member

    Joined:
    Mar 8, 2013
    #10
    Sorry mate, removing power management the kext definitely improves the performance of the laptop (to a large degree). This is evident in my benchmarks, as well as the fact that the GPU runs hotter (appears to be working harder).

    This may not be the clock speed that is being modified, but it may be some power saving features that are turned off in order to get the video card to work harder. So i'm not sure what deleting the kext affects, but it definitely makes the machine faster.
     
  11. ppone macrumors regular

    Joined:
    Sep 1, 2011
    #11
    The Graphics Power Management probably throttles the GPU in certain cases of high load or high heat.

    Times that you aren't stressing the GPU you might not see a performance gain.

    I would run some GPU benchmark that stress out the GPU and isolates just the GPU.

    Like http://unigine.com/products/heaven/download/

    You can also try the GPU benchmarks on xbench, however xbench runs very quickly.

    Going off of Quartz Debug, isn't always the best way.

    Again the biggest performance gain you are going to see is by using a non HiDPI resolution.


     
  12. jffluis macrumors regular

    jffluis

    Joined:
    Aug 28, 2012
    #12
    I'm waiting till Apple fixes this annoying issue with the HiDPi mode in Retina models.

    I have very good framerate scrolling on Facebook with webkit and HD4000 but in some applications is just lags a lot! Resizing windows, Mail.app and so on.. when I'm running Ubuntu on Parallels at 2880x1800 everything runs so smooth! Resizing, scrolling. Why on OS X it doesn't run well as it should? :(
     
  13. ppone macrumors regular

    Joined:
    Sep 1, 2011
    #13
    I am running OS X 10.8.2 at 2048x1280 non HiDPI it runs smooth.



     
  14. jffluis macrumors regular

    jffluis

    Joined:
    Aug 28, 2012
    #14
    I'm talking about HiDPi not non-HiDPi.
     
  15. br3nt, Mar 10, 2013
    Last edited: Mar 10, 2013

    br3nt macrumors member

    Joined:
    Jul 1, 2012
    #15
    the lag is pretty non-existent in modes where hiDPI is not used.. I'm doing this with "RDM" app, usually 1920x1200 or 2048x1280.
    Switch to scaled 1920 (hiDPI) and voíla - lag
     
  16. hackerwayne macrumors 6502a

    hackerwayne

    Joined:
    Feb 17, 2012
    Location:
    Kuala Lumpur, Malaysia
    #16
    Retina 13" MBP is no doubt the best laptop ive ever owned.
     
  17. theuserjohnny macrumors 6502

    Joined:
    Jul 7, 2012
    #17
    How would I be able to run it like that without the hiDPI I would like to try it at 2048 x 1280
     
  18. br3nt macrumors member

    Joined:
    Jul 1, 2012
    #18

    I'll upload my working copy (tested with Mountain Lion 10.8.2. latest updates + virusscanned with clamXav)

    Code:
    http://speedy.sh/k3Dr3/RDM.app
    Edit: there are two bugs with it though,
    a) if you choose choose some really low setting, e.g 800x600 you might not see the app in the menubar.. just go to settings > display and choose whatever

    b) RDM.app needs to quit and re-started when connecting an external monitor. It won't recognise the attached displays automatically in "real-time".

    Other than that, it does what it should - letting you change resolutions...

    attached the app here also + screenshot of it
     

    Attached Files:

  19. jffluis macrumors regular

    jffluis

    Joined:
    Aug 28, 2012
    #19
    1920x1200 looks blurry on rMBP. You have any trick to make fonts more defined on 1920x1200?
     
  20. ppone macrumors regular

    Joined:
    Sep 1, 2011
    #20
    I did a benchmark using

    http://unigine.com/products/heaven/download/, which really stresses out the GPU and nicely benchmarks the GPU and out puts the results in a standard format.

    I do see an 11% improvement on average, by taking out the AppleGraphicsPowerManagement.kext. That improvement is not enough to justify the potential downside of running warm.

    For me the better solution is just using non-hidpi on automatic graphics switching.

    I get more screen real estate, no lag, less memory usage, for me better productivity.



     
  21. DiscardedPacket thread starter macrumors member

    Joined:
    Mar 8, 2013
    #21
    For me I think the 11% improvement is just enough to make things smooth as silk. I don't think 70c on the GPU diode would be considered too "warm", as with the kext in place it runs at 60c, so its only a 10c difference. As long as you have AppleCare - it shouldn't really matter :)

    The issue here is the HiDPI scaling as we all know. The only other options for silky smooth performance as I see them are:

    1) Run native resolution - unusable for most people.
    2) Run non HiDPI - texts looks very blurry which defeats the purpose of having a retina display.

    If there was a way to run non-HiDPI with crisp text I would be all over it. Sadly HiDPI looks to be the only option at the moment to run non-native and maintain the crisp look.
     
  22. leman macrumors 604

    Joined:
    Oct 14, 2008
    #22
    There are definitely some weird aplication-specific bugs in Apple's Cocoa (UI frameworks). For instance, compare resize performance between Mail and Calendar. On my system, Mail feels rather choppy and Calendar is absolutely smooth - yet the Calendar has arguably the more complex layout. This must have something to do with how the application recompute their UI layout on resize... Probably the best example is App Store. To be honest though, App Store resizing is also laggy on non-retina Macs (just not that extreme).
     
  23. DiscardedPacket thread starter macrumors member

    Joined:
    Mar 8, 2013
    #23
    As an update on this, 10.8.3 greatly improved the UI performance for me...
     
  24. mykem macrumors regular

    Joined:
    May 20, 2008
    #24
    With the last 10.8.3 update the text even at 1920 x 1200 (15" rMBP, of course) becomes noticeably smoother and crisper at the same time. It was fuzzier prior to the update. I'm running mine @ 1920 exclusively. I've never even considered 1440 x 900 because as I did with my old MBP, I find at that scaling the desktop is pretty much unusable (for what I do).
     
  25. nontroppo macrumors 6502

    nontroppo

    Joined:
    Mar 11, 2009
    #25
    Out of curiosity, are you planning benchmarks for comparison?
     

Share This Page