I would stick to the concept of pixels rather than dpi when working with computer graphics.

DPI(dots per inch) is a translation from computer graphics to physical print. Where as you are solely working with pixels on a screen. dpi doesn't make much sense in this form of use.


Another alternative to DirectX (or DelphiX) is to use SDL. (www.libsdl.org) Which is a cross-platform alternative to both DirectX and OpenGL. (though you can use OpenGL with it for use of your 3D hardware)

The great thing about SDL is that you don't have to worry about your users having the correct version of SDL installed or not. (except if they are running Linux) You provide can freely include the version of SDL they need to run the game in the form of dll files.

JEDI-SDL is a great package that allows you to do all of your SDL stuff, with a ton of examples. The only downside is that it's not component based so you can't just drop some stuff into a Windows form and make it all Windows GUI friendly, you'd have to work with a window or fullscreen full of graphics of your own design.

You can checkout JEDI-SDL at jedi-sdl.pascalgamedevelopment.com