macOS 11: Get system information (GPU, resolution) programmatically (in C) I need to access data about GPU and screen resolution in C, not using system_profiler, because it takes too long(.3s-.5s system_profiler SPDisplaysDataType), and needs greping and cutting, which is not that fast either.
Caching would be answer, but very short-sighted as someone can use different monitors etc.
Unfortunately system_profiler is closed source.
EDIT: I used CGDisplayPixelsWide and CGDisplayPixelsHigh to get resolution. During compilation i had to compile with -framework Cocoa -framework IOKit. Only minus that it gets system resolution rather than screen resolution. So function looks like this.
static char *get_resolution()
{
        int screen_width = CGDisplayPixelsWide(CGMainDisplayID());
        int screen_height = CGDisplayPixelsHigh(CGMainDisplayID());
        ...
}
displayplacer allows to read and write display settings and is open source. I'm not sure about GPU details though.
The API used seems to be defined in IOKit/graphics/IOGraphicsLib.h.