← Back to team overview

kicad-developers team mailing list archive

Re: Build for software rendering only?

 

Andy,

I think that's the opposite of what I want! :)

OS X is "smart" in that it tries to run the integrated graphics unless a
specific application (or hardware feature, like an external monitor)
requests discrete graphics.  For example, launching KiCad doesn't require
discrete graphics, but when you switch to the OpenGL canvas OS X assumes
OpenGL requires max performance, so it jumps to the discrete GPU, even if
the integrated GPU might be "good enough" for the task (to be fair, OS X
has no idea what you're requesting in OpenGL, just that OpenGL may require
the discrete GPU for optimal performance).  Once KiCad requests the
discrete card it doesn't look like it'll relinquish control until the
process ends.  Chrome somehow gets around this behavior, but that might be
due to different processes for different tabs...I'm not entirely sure.

Ideally, I don't think we need the discrete graphics card for PCBNew's
OpenGL canvas.  We're not doing any crazy GPU things here, the integrated
card should be good enough, and let machines run cooler, save battery, etc.

On Fri, Oct 10, 2014 at 3:09 PM, Andy Peters <devel@xxxxxxxxx> wrote:

> On Oct 10, 2014, at 12:07 PM, Andy Peters <devel@xxxxxxxxx> wrote:
>
> > On Oct 9, 2014, at 12:03 PM, Ian Woloschin <ian@xxxxxxxxxxxxx> wrote:
> >
> >> Easiest way to tell is using gfxCardStatus, https://gfx.io/, which
> will tell you what's running.  You can also, sort of, lock it to integrated
> or discrete.  I did a quick test and KiCad ran fine when locked to the
> integrated card, so I think this should work, which will be very nice if
> you're running on batteries.  Unfortunately, I'm not sure how to get an
> Info.plist that works, so I don't have it working by default.  I tried
> modifying the Info.plist that's in the kicad.app bundle, but that did not
> seem to work.  Realistically, this is a *very* minor issue, but if we're
> polishing the OS X builds this is probably something that should at least
> be on a list of things to have working for a true "stable" release.
> >
> > OK, I installed gfxCardStatus on my 17" Late 2011 MBP (like I said, the
> last of the line ...). It tells me that I'm using the Intel integrated
> graphics.
> >
> > Then I added the NSSupportsAutomaticGraphicsSwitching=YES line to
> pcbnew's Info.plist file (in
> /Applications/kicad/pcbnew/Contents/Info.plist) and started up Kicad. I
> opened a design in pcbnew, and with the default canvas gfxCardStatus still
> tells me that I'm using the integrated graphics.
> >
> > Switch to the OpenGL canvas, and bang! We're now using the AMD Radeon
> graphics controller. Seems like redraws and such are VERY fast. I grabbed
> an IC and started to move it and it redraw FAST.
> >
> > I switched back to the default canvas, and the graphics controller did
> NOT switch back to the integrated. However, that grab-and-move-an-IC test
> is back to be much slower than the accelerated version.
> >
> > So, yeah, modify the plist file and take advantage of the Radeon
> graphics! I have no idea how the plist file gets generated as part of the
> build/packaging process but I will look into it.
> >
> > I suppose that on a machine where this sort of graphics switching
> doesn't exist the entry in the plist will be ignored.
>
> One more thing: exiting Kicad causes the graphics to switch back to the
> integrated controller.
>
> -a
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
>

Follow ups

References