Remix.run Logo
▲ bartread 5 hours ago

I'm going to guess if you did it on the video card and simply disabled those enhancements it would be considerably more energy efficient than doing it on the CPU as well which (a) means your laptop battery lasts longer on a charge, and (b) also opens up the possibility of not needing a particularly powerful CPU in order to juice the resolution, because the video hardware is doing the work for you.

From a programming perspective I do completely get the desire to have the CPU do all the work though - if you want absolutely everything under your control it's easier, and especially if your game is single-threaded.

▲delta_p_delta_x 4 hours ago | parent [-]

I've mentioned this elsewhere, but nowadays, anything you see out of an HDMI/DP/eDP cable comes out of a GPU. Modern OSs make it impossible to do 'software rendering' any more; it's just that much faster and that much more efficient, even if it is harder to program directly. Even IPMI BMCs have a tiny GPU doing stuff.

▲notabotiswear 3 hours ago | parent | next [-]

Why is it “impossible”? If you mean that a rendered frame has to reside in the graphics memory before being sent to the display, then I think that was the case even when software rendering was a thing.

If you mean rendering a frame entirely in the main memory by the CPU, then there is nothing making it impossible. I mean, most major 3D rendering software still have CPU renderers as an option. Slow, but doable.

P.S: I am using offline renderers here as an extreme example. A game renderer - especially for scenes like Quake’s - are definitely going to be far simpler and cheaper.

▲consp an hour ago | parent | next [-]

Using the extra unpopulated memory slots on your VGA card to get that 1024x786 at 256 colors. 800x600 is the largest which will fit in 512k of video memory at that colors depth, or getting 16bit color space in 800x600 due to having doubled your memory from 512k to 1024k. And those were definately the software rendering days, every ramdac needs it's own memory pool.

▲delta_p_delta_x 3 hours ago | parent | prev [-]

By 'impossible', I mean it in a very strict sense of blitting full-screen frames directly into the framebuffers provided by HDMI or (e)DP representing a visible surface. This is still kind of possible in Windows when games are properly full screen and not 'borderless full screen', but the OS still does compositing in the background, and the GPU is still involved to some extent.

Of course, offline rendering is a different story.

▲notabotiswear 2 hours ago | parent | next [-]

I suppose the disagreement here is on the scope of “rendering.”

▲alpaca128 17 minutes ago | parent | prev [-]

[dead]

▲shadowgovt 3 hours ago | parent | prev [-]

It's also because at this point the operating systems themselves use the accelerated graphics architecture for things like window compositing, because that also turned out to be faster. And it's much easier to do cute little visual effects like wiggles and window distorts if those entities are actually 3D rendered graphics objects.

Even the standard desktop experience is a 3D graphics application these days.

▲delta_p_delta_x 3 hours ago | parent [-]

Indeed. I wrote up a commment[1] explaining why code editors needed graphics acceleration some months ago; this ties in to that.

[1]: https://news.ycombinator.com/item?id=44966266