Sign in to follow this  
game of thought

Graphical programming libraries with low graphical requirements

Recommended Posts

Hello, i am looking for a graphical library that has very low system requirements. For a reasonable size project. I couldn't find proper hardware requirements for the libraries(most only really say a basic graphics card with opengl support etc.) and therefore cannot really assume they will work for larger projects(as i found with running opengl games on an intel intergrated card....).

The machines that will be running the programs are very short on vram(2mb i believe) and aren't brilliant for hdd space either(500mb total). So along with a small hdd footprint i am also looking for reasonable graphics with the 2mb i have.

On a side note, how do you calculate the system requirements of your games?

Thank you for your time.

Share this post


Link to post
Share on other sites
Daaark    3553
The requirements are calculated based on what processor features you used, how much RAM you need, and what GPU features you use. They are usually only loose guidelines though, because all machines are slightly different.

You can try the Allegro game library. It's a C\C++ library that has been around for close to 20 years.

Share this post


Link to post
Share on other sites
Ravyne    14300
Is this an embedded system? Can you share the specs in more detail?

When you are dealing with higher-level libraries you might be locked in to what it chooses to use behind the scenes, but I imagine many are pretty intelligent about using what's right based on what the system has. If using a lower-level library like OpenGL or Direct3D, then you're in control of what hardware support gets invoked and you don't pay for what you don't use.

Keep in mind that if you render using the CPU, those CPU cycles can't be used for other things necessary for running the game, like AI, or processing geometry. If the system has only 2MB of VRAM, it sounds seriously old though -- the GPU is probably not much more than a basic blitter, framebuffer, 2D primitives, and cursors. I doubt it has any 3D rendering capability at all and its about a 50/50 shot that there's even scaling or rotation of 2D images. If you somehow find yourself with an abundance of CPU power despite the minimal GPU, you can probably do quite a bit via software rendering, if you've got a similarly-limited CPU, then I suggest probably SDL or Allegro, or for you to write your own tailored graphics routines.

If you have to roll your own, try to find a good graphics text that's from around the same time (2-4 years after, ideally) as the CPU was new -- a lot of what's true about processors today is not true of the processors of yesteryear, so sound micro-optimization advice tends to move on after a new CPU architecture takes hold 3-5 years later. If your processor has SSE, 3D-now, or MMX -- use it.

Share this post


Link to post
Share on other sites
Ravyne    14300
Are you *sure* the graphics card has only 2mb? It's extremely odd for a system with that modern of a processor to have such poor graphics -- even the crappy PCI cards they stick in servers that will run headless for 99.9% of their life come with 8 or 16mb. 2mb isn't even enough to double-buffer any reasonable display resolution. It'd also be fairly uncommon for a core 2 duo not to have integrated graphics, and even if it were something crappy like a GMA 950, it'd be a couple orders of magnitude better than what you describe. If it is integrated, you might just need to turn up the VRAM setting in the BIOS, but I didn't think they allowed you to go down to just 2mb.

What's the exact GPU you're dealing with?

If it is true, then at least you've got a modern-ish, dual-core CPU that you can work with. This will run something like Allegro or SDL quite nicely, as it supports SSE2, maybe even 3 (but 2 is the big one for graphics operations). If you end up rolling your own graphics routines, then the two vectors you've got for good performance are SSE2 (for 3D transformations and block moves, and rasterization if you're clever), and dual-core -- its relatively straight forward to have the renderer running on the second core, since there won't likely be any data-sharing issues.

Share this post


Link to post
Share on other sites
mhagain    13430
[quote name='Ravyne' timestamp='1348559732' post='4983500']
Are you *sure* the graphics card has only 2mb?
[/quote]

Yes, definitely double-check this.

[quote name='game of thought' timestamp='1348522079' post='4983361']
running opengl games on an intel intergrated card
[/quote]

If it's an integrated Intel you're talking about, then you have a LOT more than 2mb video RAM (hell, even an original 3dfx from 1996 had more). These generally share main memory with the rest of the system though, so whatever you're using to report the 2mb may be just giving you the wrong figure. Also note that one of the key problems with running OpenGL games on Intel graphics is the quality of their OpenGL driver - historically it's been very poor (their D3D driver is [i]much[/i] better and typically all you have to worry about is low performance, although the recent HD series are starting to look quite good).

Share this post


Link to post
Share on other sites
Im really not sure, i checked the stats again with cpuz and i have gma3100x, from what i found on google it is about 4mb unfortunatley, and The bios is locked to the computers by a password. Supports directx 9.0c though which is good.

Share this post


Link to post
Share on other sites
Ravyne    14300
You're being kind of elusive here -- what kind of environment are you in where the BIOS is locked and you have to create a program for this specific kind of computer -- its sounding more and more like you're a (high-school?) student.

The first thing I'd do is talk to your network admin and tell him about this 4MB mess. Presuming they're running Windows Vista or better, I'm sure Window's would love a little more VRAM to work with, and those computers would feel twice as snappy with even a modest amount of shared video memory of 32 or 64 MB. Its either an oversight, or a misguided attempt to prevent games from running on the machines that is throwing basic desktop performance out the door baby-with-the-bathwater-style.

The GMA3100x is hardly a performance king, but it at least supports a relatively modern feature-set. It's even got programmable shader support (pixel shaders in hardware, vertex shaders in the driver software).


Anyhow, what's your situation with these machines? what kind of access/control do you have? do you have any influence with the admin? If not, why are you writing a program for these specific machines?

Share this post


Link to post
Share on other sites
UziMonkey    143
2 megs of video memory won't even hold a 1024x768 framebuffer. I seriously doubt it only has 2 megs with a CPU that fast. My first pc had 2 megs of VRAM... in 1997 or so.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this