I am thinking about a library that I could use for a program to create presentations but I am not sure what one could/should use for a task like that.

What first came to my mind are 2D Gaming Engines that could be used for rendering etc. for a desktop application as well. But would one do something like that?

I don't want to reinvent the wheel here and there does not seem to exist something like a "2D Desktop Application Graphic Engine".

Does anybody have experience with something like that matter?

  • Web browsers are pretty advanced platform-independent 2d desktop and mobile application graphic engines. Unless you're doing hardcore typography, CSS has you covered and saves you from reinventing a styling system. You can even do 3D stuff in web browsers! There are quite a few HTML-based presentation systems around, see reveal.js for a slick demo.
    – amon
    Commented Jan 27, 2015 at 0:41
  • @amon That looks pretty impressive but I am planning to write a desktop application simply because the "end product" is supposed to offer a native GUI beside the graphical rendering part. afaik Steam is using Chromium Embedded Framework (CEF) which could be rendered inside a canvas from a native program. So the "web browser" idea is something I've been thinking about too. Commented Jan 27, 2015 at 0:57
  • The specifics depend on the language, but most languages used for desktop programming have pretty complete 2D graphics support, or at least the ability to bring in existing 2D graphics libraries. I don't see what benefit you'd get from using a game engine for a presentation application. Commented Jan 27, 2015 at 6:17

1 Answer 1


No, don't use a gaming engine. They are typically designed for performance while sacrificing accuracy and also often push the CPU/GPU much harder than you want creating excessive heat and power/battery consumption.

There are "2D Desktop Application Graphic Engines" available, for example I'm an OS X/iOS developer where we have Quartz and Core Animation. They are specifically designed for high performance rendering of user interface elements.

I'm less familiar with other platforms, but I'm confidant they have equivalent engines available.

As others have suggested, using HTML/CSS is another good option that is very popular, especially if you are displaying a lot of content on a wide variety of screen sizes. It's also completely cross platform.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.