Steam for Linux > Discussões Gerais > Detalhes do Tópico
8 Dimensional Octagon 5 Dez, 2012 às 14:13
HUGE TF2 performance increase
On my computer (AMD e-300 APU) playing TF2 yielded about 1-2 FPS, after decreasing graphics settings all the way, it was at about 3-5 FPS. After adding -dxlevel 80 to the command line, I had it at a playable 10-15 FPS.
A mostrar 1-15 de 15 comentários
< >
spantherix 5 Dez, 2012 às 23:56 
dxlevel? I thought it was an OpenGL port? why does your direct x level command work then? Is valve only using emulation of directX through Wine.org like technology? x.x
axeolin 6 Dez, 2012 às 0:25 
Originalmente postado por spantherixGER:
dxlevel? I thought it was an OpenGL port? why does your direct x level command work then? Is valve only using emulation of directX through Wine.org like technology? x.x

It's not like wine. AIUI they effectively translate from directx->opengl in a way that should get near native performance.

Same thing they did on the Mac.
mruuh 6 Dez, 2012 às 1:10 
The dxlevel switch is probably hardcoded deep inside source engine to enable/disable effects corresponding to what various directx versions support. On linux this probably toggles the opengl implementations of these effects.
[Linux] MrSchism 6 Dez, 2012 às 1:30 
Originalmente postado por mruuh:
The dxlevel switch is probably hardcoded deep inside source engine to enable/disable effects corresponding to what various directx versions support. On linux this probably toggles the opengl implementations of these effects.

Makes sense. I'll give it a go.
Systematic Chaos 6 Dez, 2012 às 4:43 
My fps did not changed. But TF2 load time reduced to reasonable. No longer hangs after closing settings dialog. Also in-steam browser no longer hangs showing mouse hover texts. Big development.
8 Dimensional Octagon 6 Dez, 2012 às 4:48 
Originalmente postado por axeolin:
Originalmente postado por spantherixGER:
dxlevel? I thought it was an OpenGL port? why does your direct x level command work then? Is valve only using emulation of directX through Wine.org like technology? x.x

It's not like wine. AIUI they effectively translate from directx->opengl in a way that should get near native performance.

Same thing they did on the Mac.
Actually it is like wine, wine's translator just isn't as good as source's apparently.
Última alteração por 8 Dimensional Octagon; 6 Dez, 2012 às 4:57
play3man 6 Dez, 2012 às 5:50 
So, let set required OpenGL version to 2.1!
yabba 6 Dez, 2012 às 7:53 
Originalmente postado por brpylko Ubuntu 12.10 64 bit:
Actually it is like wine, wine's translator just isn't as good as source's apparently.

It's not like wine. WIne is running directx and windows dlls in order to run a windows binary.

Steam is running native linux binaries.

If Steam on linux were like wine, they would have just installed the windows version of TF2.

There are similar "run windows programs on Mac" too, which Steam on Mac is not using.
Última alteração por yabba; 6 Dez, 2012 às 7:58
8 Dimensional Octagon 6 Dez, 2012 às 8:36 
Sorry, I should have been clearer, its directx capablity is like how winelib handles directx.
yabba 6 Dez, 2012 às 10:28 
Originalmente postado por brpylko Ubuntu 12.10 64 bit:
Sorry, I should have been clearer, its directx capablity is like how winelib handles directx.

rbarris worked on the port and posted some info to SPUF at the time.

Unfortunately SPUF is down (actually not sure why that's unfortunate, but ...)

The thread is called "Is Source on OS X really openGL native?" if you want to google later.

Here's some quotes though

In response to someone saying "sounds like wine?"

He said "No. With Wine, a Windows-built .exe is loaded into a UNIX process and then tricks are done to make to able to run.

On Mac Source, all of the source code has been compiled native. Specific modules have been replaced with ones that can drive OS X API's, like graphics and sound. All the OpenGL code lives in a little lib called "shaderapidx9" which is shorthand for "the shading subsystem that can run on dx9-class hardware". That's sort of the grand central station for graphics API traffic coming out of the engine and down into the OS&driver."

And, speaking in general about how it worked he said

"I wrote the native OpenGL module for Source Mac. It presents a DX9 compatible interface to the engine, engine calls me, I call GL, dots appear"

To me that's not like wine, especially not in the context that the question was asked at the top of the thread. YMMV.

But, I'm assuming they've done a similar thing for Linux as Mac. It's not really clear if that's the case from the talks I've watched and blog posts on Valve Linux, but the fact things like dxlevel work suggests they might have.
Fuzz 6 Dez, 2012 às 13:50 
Everything I've read about it says they are, effectively, converting DX calls into OpenGL calls on the fly. The game is still written using DirectX.
Yulike 6 Dez, 2012 às 14:07 
If you read Faster Zombies! it explains a little about Valves porting techniques.

http://blogs.valvesoftware.com/linux/faster-zombies/
Yulike 6 Dez, 2012 às 14:19 
Here you go;

http://blogs.valvesoftware.com/linux/faster-zombies/#comment-3986

Valve Linux team says:
August 2, 2012 at 3:00 pm
We use a modified abstraction layer (based on the original Mac OS X work) that translates Direct3D calls to the proper OpenGL calls. This layer has received the most work but changes have also been made above this layer that resulted in improved performance.
Reisen Udongein Inaba [因幡] 6 Dez, 2012 às 14:26 
Originalmente postado por Fuzz:
Everything I've read about it says they are, effectively, converting DX calls into OpenGL calls on the fly. The game is still written using DirectX.

That is true. In fact, it probably would have been better if they just wrapped it in Wine, considering the fact that it's just painful to play with a dual core processor.
Rumpelstiltskin 6 Dez, 2012 às 14:28 
I wonder if this abstraction layer is really a dynamic translator or something more like a wrapper of the OpenGL calls...
A mostrar 1-15 de 15 comentários
< >
Por página: 15 30 50
Postado a: 5 Dez, 2012 às 14:13
Comentários: 15