<p>In general, no. Most applications, unless they are games, or 3D applications like CAD or animation software, will use OS APIs to do their drawing. On Windows, this can be things like <a href="https://docs.microsoft.com/en-us/windows/desktop/gdiplus/-gdiplus-gdi-start" rel="noreferrer">GDI or GDI+</a>. On macOS you would usually use CoreGraphics or one of its derivatives. </p>

<p>At a lower level than the application level, the operating system talks to the graphics driver to tell  it to draw things on the screen. They may do so using OpenGL or a proprietary API that's not usually exposed directly to applications. (For example on older macOS versions, the Window Server used OpenGL directly to do its compositing. I believe it uses Metal now.) Additionally, some drawing may not be done by the graphics card at all, but the results may be sent to the graphics card for display. For example, the original Windows GDI did its drawing using the CPU, as hardware accelerated graphics were not included on every machine.</p>

<p>So really, there are a variety of ways for applications to do their drawing. They rarely use OpenGL, DirectX, etc. directly unless they have heavy graphics requirements. However, under the hood, the OS may be using those technologies or something similar, or something even lower-level.</p>

CC BY-SA 4.0
2018-11-08T07:32:30.413Z
So the typical flow for something like Excel would be: Draw using GDI -> OS passes those pixels to the GPU for display?
Startec
CC BY-SA 4.0
2018-11-08T17:13:19.020Z
Yes, typically it would happen like that.
user1118321
CC BY-SA 4.0
2018-11-08T03:35:16.917Z
2018-11-08T03:35:16.917Z
user1118321
<p>I have a server and my only monitor is plugged into its graphics card.</p>

<p>My question is - do all programs (Windows explorer, Excel whatever) draw their output using the graphics card and more specifically an API such as OpenGL?</p>

<p>The output is coming from the graphics card so I do not see how it could not be but it seems like that would require anyone who is using a server to have a GPU to any visual output.</p>

<opengl>
Do operating programs such as Microsoft Office or Windows Explorer use OpenGL to draw?
Startec
# Do operating programs such as Microsoft Office or Windows Explorer use OpenGL to draw?

(Asked by: username_0 on 2018-11-07)

I have a server and my only monitor is plugged into its graphics card.

My question is - do all programs (Windows explorer, Excel whatever) draw their output using the graphics card and more specifically an API such as OpenGL?

The output is coming from the graphics card so I do not see how it could not be but it seems like that would require anyone who is using a server to have a GPU to any visual output.

**Tags:** opengl


---

## 1 answers

### Answer by username_1 on 2018-11-08. Score: 6 | Accepted answer

In general, no. Most applications, unless they are games, or 3D applications like CAD or animation software, will use OS APIs to do their drawing. On Windows, this can be things like [GDI or GDI+](https://docs.microsoft.com/en-us/windows/desktop/gdiplus/-gdiplus-gdi-start). On macOS you would usually use CoreGraphics or one of its derivatives.

At a lower level than the application level, the operating system talks to the graphics driver to tell it to draw things on the screen. They may do so using OpenGL or a proprietary API that's not usually exposed directly to applications. (For example on older macOS versions, the Window Server used OpenGL directly to do its compositing. I believe it uses Metal now.) Additionally, some drawing may not be done by the graphics card at all, but the results may be sent to the graphics card for display. For example, the original Windows GDI did its drawing using the CPU, as hardware accelerated graphics were not included on every machine.

So really, there are a variety of ways for applications to do their drawing. They rarely use OpenGL, DirectX, etc. directly unless they have heavy graphics requirements. However, under the hood, the OS may be using those technologies or something similar, or something even lower-level.

> **Comments:**
> **username_0**: So the typical flow for something like Excel would be: Draw using GDI -> OS passes those pixels to the GPU for display?  
> **username_1**: Yes, typically it would happen like that.  

---

