8 Dimensional Octagon 5 dec, 2012 @ 2:13pm
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.
Visar 1-15 av 15 kommentarer
< >
spantherix 5 dec, 2012 @ 11:56pm 
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 dec, 2012 @ 12:25am 
Ursprungligen skrivet av 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 dec, 2012 @ 1:10am 
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 dec, 2012 @ 1:30am 
Ursprungligen skrivet av 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 dec, 2012 @ 4:43am 
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 dec, 2012 @ 4:48am 
Ursprungligen skrivet av axeolin:
Ursprungligen skrivet av 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.
Senast ändrad av 8 Dimensional Octagon; 6 dec, 2012 @ 4:57am
play3man 6 dec, 2012 @ 5:50am 
So, let set required OpenGL version to 2.1!
yabba 6 dec, 2012 @ 7:53am 
Ursprungligen skrivet av 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.
Senast ändrad av yabba; 6 dec, 2012 @ 7:58am
8 Dimensional Octagon 6 dec, 2012 @ 8:36am 
Sorry, I should have been clearer, its directx capablity is like how winelib handles directx.
yabba 6 dec, 2012 @ 10:28am 
Ursprungligen skrivet av 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 dec, 2012 @ 1:50pm 
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 dec, 2012 @ 2:07pm 
If you read Faster Zombies! it explains a little about Valves porting techniques.

http://blogs.valvesoftware.com/linux/faster-zombies/
Yulike 6 dec, 2012 @ 2:19pm 
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 dec, 2012 @ 2:26pm 
Ursprungligen skrivet av 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.
Hiroghkk 6 dec, 2012 @ 2:28pm 
I wonder if this abstraction layer is really a dynamic translator or something more like a wrapper of the OpenGL calls...
Visar 1-15 av 15 kommentarer
< >
Per sida: 15 30 50
Datum skrivet: 5 dec, 2012 @ 2:13pm
Inlägg: 15