OpenGL & Windows Vista

Will OpenGL on Vista go as fast as on WinXP one day?

Come on guys, is it possible that nobody knows the truth about this serious matter?

Is it possible that you all don’t care about that heavy FPS drop?

Any HONEST answer/opinion is welcome!


DirectX is slower on Vista, too - It’s not just OpenGL. The big issue is the new driver model. It requires the GPU to be able to handle a lot of fancy task-switching stuff, and that causes slowdowns on just about everything. As the drivers get better optimization, that should improve a little bit.

The other big one is the encrypted graphics pipeline - in order to play HD-DVD or Blue-ray movies, Vista encrypts everything going to or from the graphics card. That adds quite a bit of lag, too. It isn’t clear from any of the docs I’ve read if this gets turned off when encrupted content isn’t being played.

Vista also takes more RAM and CPU power than previous Windows versions. That puts a dent in the framerate, as well.

Basically, while Vista purports to make graphics better (DX10 - don’t get me started on this. Most of the “DX10” screenshots I’ve seen could have been made on SM3 hardware), many of the technologies, IMNSHO do just the opposite.

Performance will improve, but it won’t be as good as the performance would be on a less-invasive graphics setup.

Afaik unless you tell Vista that your content needs to be encrypted/protected then it won’t do it.

The ‘taking more RAM’ argument has always been an insane one; I’d rather Windows used my ram for cache when I’m not using it. Once it’s required to be used then it’s given up and either swapped out or lost as is correct.

When it comes to CPU time I’m currently watching mine, the CPU it about 80% idle and as far as I can tell the things taking up CPU time are processes I asked to start. (I’m infact suprised at a few of the one who are getting CPU time, for example ‘steam’ keeps poping up @ 7% o.O). The point anyways is it isn’t Vista stuff eatting CPU time all over the place.

The issue with the speed drop on graphics is down to the new driver model, which is a large departure from the XP model afaik, which won’t have made things easier for the people coding the API.

All that said, personally all the games I play clip along at a decent framerate and are perfectly playable so I’ve nothing to moan about :slight_smile:

The main problem IMHO, is the window compositor. With the compositor turned off the performance difference is not so noticeable.

Thanks you all guys, but I want to underline a few things:

  1. I have downloaded and installed the DirectX 10 SDK and I get 150 FPS (with DX) instead of 10 FPS (with OPENGL) for a similar geometry. So DirectX IS fastest than OpenGL on Vista.

  2. Many big companies are announcing the switch to DirectX 10, please take a look to the following links:

"OpenGL looks certain to face some stiff competition from DirectX over the next few years, regardless of how things pan out with Vista. We’ve seen this month that 3ds Max runs significantly faster with Nvidia and ATI graphics cards under DirectX than OpenGL, and the Autodesk support desk currently recommends that its users run 3ds Max in DirectX mode. In addition, Autodesk’s Chief Operating Officer, Carl Bass has told us of the company’s plans to support DirectX in the forthcoming Inventor Release 11. It will be interesting to see if other CAD vendors follow suit. "

“Also, poor OpenGL performance is common in Windows Vista because most graphics card vendors have not yet shipped OpenGL drivers for Vista. This may change with time as vendors update their drivers, but because Vista requires robust DirectX support, we expect DirectX may often be the best option for Vista.”

Please tell me your opinion.


You may be interested by those two articles:

Also, when you’re coding multi platform softwares, OpenGL is the right solution because this is the only API available for all platforms: Windows, Mac, Linux, etc… and you don’t want to code again the same algorithm in Direct3D just for Windows.

Hi overlay,

I know those articles very well. Unfortunately the don’t help with my poor FPS on Windows Vista.



Blame hardware vendor… not OpenGL!

I get 150 FPS (with DX) instead of 10 FPS (with OPENGL)
There is obviously something wrong with your setup. Or the two benchmarks are not really comparable. A performance difference this large suggests you are hitting a software path in one program and not in the other…

I’m sure I could write a demo that shows exactly the opposite performance difference if I wanted. It’s just a matter of heavily optimizing one code path and not optimizing the other :wink:

What’s your hardware? What exactly are your benchmarks doing? Have you installed the latest driver from the GPU vendor?

yooyo, you are right.

The main question of this post was: is there the room for hardware vendors to fill the gap OR the fact that OpenGL will never have direct access to graphics hardware on Vista will not allow any improvement?




My DELL system features an ATI FireGL 7200 with 256MB of RAM, with the latest driver from AMD/ATI.

Vendor ATI Technologies Inc.
Renderer ATI FireGL V7200
GL version is 2.0.6461
GLU version is Microsoft Corporation

What’s wrong with it?

Believe me or not, every time you run a OpenGL you feel that is going slower than DirectX.

Is there any tool to check if everything is fine?

Or something to compare performances in a very professional way?



You do realize that the ATI FireGL cards usually are horrible at games/texturing? They are designed for CAD users and optimized for line drawing.

(I don’t know for certain about your specific card, just that the FireGL range are workstation cards, not gamer cards)

Vendor ATI Technologies Inc.
Renderer ATI FireGL V7200
GL version is 2.0.6461
GLU version is Microsoft Corporation
The system looks fine, so there is propably something wrong with the benchmark.

I get 150 FPS (with DX) instead of 10 FPS (with OPENGL) for a similar geometry. So DirectX IS fastest than OpenGL on Vista.
You still haven’t told where you get these numbers, so I can’t tell you what’s wrong with them…

AFAIK OpenGL is not generally slower than D3D on Vista, but both are slower than on XP (but only a little).

Of course speed always depends on optimization. For example, if you measure framerate with the Unreal engine, you’ll almost certainly get better performance with D3D, because this code path is better optimized. And I’m sure there are examples that are the other way round. As always, when you originally write code for one API and then port to the other, it’s propably going to be a bit slower. But the difference can’t possibly as large as you describe without some serious error in the code like hitting a software path…

is there the room for hardware vendors to fill the gap OR the fact that OpenGL will never have direct access to graphics hardware on Vista will not allow any improvement?
There is no gap between OpenGL and D3D on Vista. There is a gap between XP and Vista, but that’s the same for D3D, and it’s really minimal.

With desktop compositing enabled, you may slow down or even break OpenGL in certain situations, but these are only special cases when you do certain things like rendering to the front buffer or mixing with GDI. So it’s not really the hardware vendors that need to fix something, but the application vendors that write bad code that are causing problems. OpenGL allows writing bad code, while D3D10 does not. That’s the only gap that exists, and it’s going away with Longs Peak :stuck_out_tongue:

Hi Guys,

We did discover a strange issue in our code. In practice a event fired during OnMouseMove was affecting the fps.

Now graphics performances are comparable to DirectX 10.

Thanks a lot to you all.


OpenGL allows writing bad code, while D3D10 does not.
Sadly, even d3d10 isn’t bonehead proof :wink:

P.S. Anyone seeing this? In the Vista “Basic” appearance setting, try moving/sizing a windowed app such that the bottom of the window is occluded by the taskbar. My little app went from 300fps to 50fps… (I know, who cares)

I know, who cares
Customers do and that means we should, too. If your application will work slow on Vista, then a potential customer may turn towards your competitor because he managed to find a workaround for the problem and didn’t even think about explaining himself to customer by blaiming Vista.

You can’t just tell the customer - it’s not our fault. You should do whatever you can to get the most of his hardware - he paid for it.

For example - when I saw “Gothic 3” I was totally dissapointed with it (the gameplay was poor, but let’s talk about graphics and performance, shall we? :slight_smile: ). Many principal errors:

  • visibility = 100m, but I can see mountains 2km ahead, because sky isn’t fogged at all - very unrealistic and annoying. I could forgive a low budget game for that and perhaps a mid-range.
  • polygons facing 90 degrees from light source still getting diffuse lighting - shadowmapping artifacts perfectly visible
  • way too high hardware demands - and the explanation was: “there is a big world and much data” - I know, I know - but with such title you shouldn’t just write code and accept it as it is. I have optimized my game to run 2x faster without reducing any feature. Hell, I even added many more in the meantime. And I believe I’m not done yet. It’s all about not stopping after obvious optimizations.

The outcome? I didn’t buy that game and I never will, although I’m Gothic fan and bought previous episodes.

So, yes - we should care and even look for workarounds for errors made by others (like driver bugs, or Vista at large) if it comes to that. And we should never assume we did everything right only because we did everything like others do.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.