Optimizing OpenGL FPS

Started by
7 comments, last by 21st Century Moose 8 years, 5 months ago

Hi

looking at this:

I wonder what they still need to optimize on Linux, espcially for use with the upcoming SteamVR.

I've used OpenGL a very little bit on the three main os, but never that much to run into such FPS differences.

Nvidia on Linux should be as fast as on Windows, X-Plane for ex. runs 20% faster with my GTX770 on Ubuntu.

Thanks for feedback, links and ideas to broaden my horizon.

Advertisement

I've used OpenGL a very little bit on the three main os, but never that much to run into such FPS differences.

Nvidia on Linux should be as fast as on Windows, X-Plane for ex. runs 20% faster with my GTX770 on Ubuntu.

This is called proof by example.

Game systems are complex. Yours or X-Plane's cases may not stress the same usage scenarios as Alien Isolation does. It could be difference in performance in a feature that has an easy marketed label attachable to it ("oh, it's geometry shaders that are slower", or "oh, tessellation is this much slower") which can be easy to attribute to layman terms, or it might as well not, and it could just be about some internal API call access patterns that a specific engine or a new fancy rendering technique might need to use.

What is causing the actual slowdown in this specific case, your guess is as good as anyone else's, and the only way to know is if you could ask the first-hand developers who have access to the code and have profiled the game on multiple platforms.

I saw this article yesterday:

http://arstechnica.com/gaming/2015/11/ars-benchmarks-show-significant-performance-hit-for-steamos-gaming/

Shows some quite big differences in performance.

Interested in Fractals? Check out my App, Fractal Scout, free on the Google Play store.


Nvidia on Linux should be as fast as on Windows


Expectation is one thing, but reality is another. Linux and Windows are 2 different operating system with different driver models and other underlying technology that the GPU driver depends on. So there are a multitude of issues that could cause significant differences between any OS and not as simple as, its the same hardware.
This could also be Windows D3D vs Linux GL performance.

Different engine renderer, different API, different drivers, different calling patterns, different shader language, different OS.

I would expect that any D3D->GL port would be initially slower, before all the GL workarounds are added in.

Yes, probably a dual core, as used in that test, is not enough as one thread alone is needed for hlsl -> glsl conversion?

Found out that in Steam settings you can show FPS on Linux. My GTX770 with a i7 and all settings maxed is always above 100FPS with Alien Isolation.

Yes, probably a dual core, as used in that test, is not enough as one thread alone is needed for hlsl -> glsl conversion?


This should be one-time-only and at startup/load. If HLSL is being converted to GLSL at runtime then the developers have done something insane, stupid or malicious.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

A dualcore seems way outdated for game tests to me. For ex. if you would try X-Plane with a dualcore it would hardly run at all on all os. As X-Plane performs best on Linux, I'm way surprised to see such. The porting was done by a Mac company hence no wonder it needs a multicore.

PS: yes it fully uses all 8 cores hence I'm not surprised about such FPS on a dated dualcore

Even a i3 is mentioned as minium in the specs and this ridi* arstecnica gaming test site uses a dualcore!

A dualcore seems way outdated for game tests to me. For ex. if you would try X-Plane with a dualcore it would hardly run at all on all os. As X-Plane performs best on Linux, I'm way surprised to see such. The porting was done by a Mac company hence no wonder it needs a multicore.

PS: yes it fully uses all 8 cores hence I'm not surprised about such FPS on a dated dualcore

Even a i3 is mentioned as minium in the specs and this ridi* arstecnica gaming test site uses a dualcore!

The article does acknowledge this:

The hardware on that bare bones machine is a little out of date now, but since that hardware is remaining static for both sides of the test, it should suffice for giving an idea of the relative performance between the operating systems.

You should note that what we're talking about here is a comparison between two operating systems. For this kind of test it seems to me that making the test be CPU-bound is what you actually want to do. Otherwise you'll get pretty much identical results from the same GPU hardware, which would be a meaningless outcome.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

This topic is closed to new replies.

Advertisement