PDA

View Full Version : Apple Is Falling back in OpenGL?




Soulstorm
Mar 9, 2005, 12:24 PM
This is mostly a poll, but I would really want some written answers to this post, too!

I made a post in another forum, concerning a matter, for which I also made a post here... It's mac UT2004 performance in graphics and sound. (I want to have as many information as possible, so sometimes I make posts about certain matters into more than 1 forum... :) )

After one or 2 replies, the subject changed to apple falling back with OpenGL support and drivers. I think it is an interesting read. So I would like you to read that...

http://www.macaddict.com/forums/topic/54334

and tell me what you think. Apple is falling back with OpenGL? That is because of Apple's inability to keep up?



Demon Hunter
Mar 9, 2005, 01:06 PM
My educated guess is that Apple optimizes OpenGL the way it wants to; that is to say, not for gaming. At the end of the day Apple can choose to implement OpenGL in a variety of ways. For the high-end video producer? For consumers who want eye-candy? For the lonely Mac gamers? Where is their revenue coming from? They tend to choose the former, it seems.

This does not explain Apple's lack of support for professional video cards like FireGL and QuadroFX.

This driver/OGL issue always pops up in the gaming threads. And, as usual, none of us really know much because Apple doesn't tell us anything. All I know is that OS 9 was using OpenGL 1.4 and it would be a sad, sad day if we were still using 1.5.

So we have a variety of forces working against Mac gaming-dom here.

Apple optimizes... but not for gaming.
PC games are coded... with Windows in mind.
OpenGL games are coded... with PCs in mind.
Games are ported... without the support needed from Apple.

As you can see, it's a vicious cycle. :(

Soulstorm
Mar 9, 2005, 01:32 PM
That I can understand it. What I cannot understand is why apple is giving so much emphasis into mac gaming since they do not support it properly? Look into their site. They refer to mac os x as the next generation game-development OS. Why, since they are not able to keep up wiith OpenGL?

Demon Hunter
Mar 9, 2005, 01:44 PM
That I can understand it. What I cannot understand is why apple is giving so much emphasis into mac gaming since they do not support it properly? Look into their site. They refer to mac os x as the next generation game-development OS. Why, since they are not able to keep up wiith OpenGL?

Where is that reference?

madoka
Mar 9, 2005, 01:59 PM
Yes but when Apple subsidiary Video Loca comes out with their video cards, we will pwn!

http://pics.bbzzdd.com/users/otispunkmeyer/bf3d2000.jpg

AlmostThere
Mar 9, 2005, 02:28 PM
All I know is that OS 9 was using OpenGL 1.4 and it would be a sad, sad day if we were still using 1.5.

My 1Ghz G4 iBook says it is using OpenGL 1.3 ... but the versioning is not something to get too hung up on. Most of the functionality of later versions is still there through the OpenGL extensions (e.g. I can see ARB_vertex_shader listed as an available extension which only became 'official' in OpenGL 2.0)

Mantat
Mar 9, 2005, 03:31 PM
That I can understand it. What I cannot understand is why apple is giving so much emphasis into mac gaming since they do not support it properly? Look into their site. They refer to mac os x as the next generation game-development OS. Why, since they are not able to keep up wiith OpenGL?

Not able to keep up with OpenGL? do you know what you are saying? Keeping up with the most recent version has nothing to do with gaming performance, none at all! OpenGl is just a library of functions, new versions just add more fonctionnality, that is all.

What Apple need to do, is add a load of extension to CoreImage so it could be used for 3D. Also finding a way to motivate developpers to code with dual procs in mind, the sluggish performance of Doom 3 are mostly due to the fact that only a single CPU is working, this is ridiculous from the initial developpers. This engine will be used for many more games for the years to come yet they dont include dual procs support... What will happen if in a year or two all pc users have dual procs mobo? This is a blatant oversight and I cant believe that John Carmack agreed with it...

Give me Core3D and sudently there will be a lot of games who run faster on the mac.

And yes, OSX is the best platform there is for game developpement. In fact, for any developpement. The libraries are well done and documented, XCode is awesome and you have an array of extraordinary easy functionnality that you can use (Rendez-vous for exemple) without much coding.

Soulstorm
Mar 9, 2005, 04:25 PM
Not able to keep up with OpenGL? do you know what you are saying? Keeping up with the most recent version has nothing to do with gaming performance, none at all! OpenGl is just a library of functions, new versions just add more fonctionnality, that is all.

What Apple need to do, is add a load of extension to CoreImage so it could be used for 3D. Also finding a way to motivate developpers to code with dual procs in mind, the sluggish performance of Doom 3 are mostly due to the fact that only a single CPU is working, this is ridiculous from the initial developpers. This engine will be used for many more games for the years to come yet they dont include dual procs support... What will happen if in a year or two all pc users have dual procs mobo? This is a blatant oversight and I cant believe that John Carmack agreed with it...

Give me Core3D and sudently there will be a lot of games who run faster on the mac.

And yes, OSX is the best platform there is for game developpement. In fact, for any developpement. The libraries are well done and documented, XCode is awesome and you have an array of extraordinary easy functionnality that you can use (Rendez-vous for exemple) without much coding.

1)first of all, doom 3 run like crap because of bad drivers. Do you realize that pc's do not have dual processors? Yet, doom 3 runs a lost better in pc's. To make a game run in dual processors despite the fact that it is designed to use only one of them, is a waste of time.

2)Yes, XCode is great I agree. Mac OS X is great for developing games, but not for playing them. Bad drivers. Bad. Bad, Bad.

3)It is also that developers do not put much effort into optimizing the game for OS X.

4)Apple is doing some efforts, because they know they are behind. OS 10.2 was crap in terms of Graphics performance (not only in games. Even in the finder it was slower than panther). The last 4 updates of Panther improve dramatically game performance. So, if that's not bad drivers then what is it??

BornAgainMac
Mar 9, 2005, 04:58 PM
Any word with a major upgrade to OpenGL with Tiger? Nevermind, anyone that does know probably signed the non-disclosure agreement.

jim.
Mar 9, 2005, 05:16 PM
I thought OpenGL was just a graphics API. So it doens't mean that OpenGL 2.0 is more optimized, and faster than 1.3. Far from it. The functions are supported in hardware, and we know that Apple is behind on some of its graphics hardware. I think the problem is entirely crap drivers, something that PC gamers have been putting up with for years from ATi and others.

Coding with dual procs in mind requires making a multithreaded app. That isn't a big deal, as a lot of apps are multithreaded, but you need to decide what to send down the pipe so that the program executes as planned. This can have some detriment to single proc machines if not planned well. I don't think you are going to get the gaming companies to code this way for a minority of people. If you could that means that we would all have the latest games on our macs and be laughing at our PC friends.

Jim

TheCheat
Mar 9, 2005, 05:38 PM
Any word with a major upgrade to OpenGL with Tiger? Nevermind, anyone that does know probably signed the non-disclosure agreement.
There will of course be updated drivers. I wouldn't count on anything "major" much beyond the incremental updates we've seen with each 10.3.x release, unfortunately.

Actually, I am just speculating, basing this on the past. The topic starter suggests that Apple is "unable to keep up".... as if they are just barely starting to lag. This has ALWAYS been a problem for Mac OS X. The only difference is that with all these new graphics engines with their high requirements, it is now becoming REALLY obvious.

My educated guess is that Apple optimizes OpenGL the way it wants to; that is to say, not for gaming.
Actually, they optimize only what they need to ... why would they care what market the optimization benefits? How it works is, opengl developers have to submit a bug report and do the necessary following up (sometimes for months) every time they need an optimization from the drivers. You also "should" submit a test project demonstrating how it is slow. Pretty annoying.

Not that it's totally Apple's fault, because how else can they be expected to optimize. It isn't their fault that they didn't automatically write optimized code. The programming rule of thumb is to optimize after the fact (and this really is the best way). The main problem here is that optimizations will come much slower because there are a lot less opengl apps being written for Mac OS X. So yeah, it's a market share problem.

The simple truth is, if OS X had more users, there would be more game developers, and the drivers would be more optimized because we would know exactly where the optimizations are needed right away.

Problem is, I don't see many PC gamers switching given the current state of affairs. Mmm, chicken/egg. Fun fun fun.

Jalexster
Mar 9, 2005, 07:46 PM
Yes but when Apple subsidiary Video Loca comes out with their video cards, we will pwn!

http://pics.bbzzdd.com/users/otispunkmeyer/bf3d2000.jpg

I WANT THAT CARD!

eroda
Mar 13, 2005, 12:20 PM
blizzard games tend to work well on macs as as far back as i remember theyve had hybrid dics for both pc and mac users i still play strcraft on my only mac (g3 333 iMac)
and its runs nice

iindigo
Mar 13, 2005, 12:39 PM
I don't think the trouble is as much Apple's problem as it is lousy Windows ports - Windows ports are more often than not coded just well enough so they won't crash, they don't have enough knowhow to properly optimize them for Macs.

Games that are Mac-native to begin with, however, tend to have much better performance. An example of this is Pangea Software's games; their games are Mac-only. Because of this, they are written correctly for Macs and run a lot better.

ddtlm
Mar 13, 2005, 03:37 PM
iindigo:

In my opinion, the "crappy port" excuse is mostly unfounded. As time passes there is less and less assembly code written in game engines, and more and more C/C++. The same stuff runs on radically different PC processors, from super-clocker P-4's to Athlons and P-M's. Why should a modern processor like a G5 not run this C/C++ right up there with the various PC processors?

MacsRgr8
Mar 13, 2005, 04:31 PM
Any word with a major upgrade to OpenGL with Tiger? Nevermind, anyone that does know probably signed the non-disclosure agreement.

Would posting FPS counts on various games running both on 10.3.8-Panther v.s 8A393-Tiger be illegal?

Anyone have the opportunity?

psycho bob
Mar 13, 2005, 06:32 PM
Reading the reviews Doom is actually a good port. The core game runs fine (over 100FPS) it is the 3D elements that lag and they are the job of the graphics card. There is definitely a graphics issue. Tiger has a major reworking of all graphic subsystems relevant to most applications including games whether these will give added performance or just a means to provide more eye candy remains to be seen. The G5 is more than a match for x86 based equivalents but it also works very differently and games developers have a hard time extracting this performance without going to great lengths to rework code. PPC compilers also don't allow for the full range of options present on the PC platform. Although I understand IBM has some very good G5 specific compilers I assume these are not suitable for all tasks.
As people have commented in other threads multiprocessor performance is only of benefit if done right. OS X multiprocessor support is actually very basic at code level and apple could improve it significantly if they wanted to. This is the major problem with the closed mac platform it all comes down to 'if' apple want to.
Card makers like ATI could do more to help but without apple lending a hand as well I doubt there is much motivation to do so. As I understand it apple is solely responsible for NVIDIA drivers on the mac platform and although they have supposedly said when questioned that Tiger will unlock performance on cards like the 6800 going by OS 10.3 driver updates we needn't hold our breath.
Moving to OpenGL as a standard would provide support for more features but I don't see it providing increased performance across the board. A lot of this comes down to apple software/hardware communication and only they can sort out those.

ddtlm
Mar 13, 2005, 07:23 PM
psycho bob:

The G5 is more than a match for x86 based equivalents but it also works very differently and games developers have a hard time extracting this performance without going to great lengths to rework code.
I don't agree at all. What about the G5 is so different that C/C++ code that runs fast on x86 machines (of various types!) can't run equally well on a G5? All this hand-wavy vague stuff seems to be a round-about way of saything any app without hand-coded AltiVec is unfair to G5's.

psycho bob
Mar 14, 2005, 04:58 AM
I'm sure it isn't the first time we've disagreed and your probably right :p
The following is taken fom an interview with Aspyr's head of games development;

1. PowerPC architectural differences, including a much higher penalty for float to int conversion on the PPC. This is a penalty on all games ported to the Mac, and can't be easily fixed. It requires re-engineering much of the game's math code to keep data in native formats more often. This isn't 'bad' coding on the PC -- they don't have the performance penalty, and converting results to ints saves memory and can be faster in many algorithms on that platform. It would only be a few percentage points that could be gained on the Mac, so its one of those optimizations that just isn't feasible to do for the speed increase.

2. Compiler differences. gcc, the compiler used on the Mac, currently can't do some of the more complex optimizations that Visual Studio can on the PC. Especially when inlining small functions, the PC has an advantage. Add to this that the PowerPC has a higher overhead for functional calls, and not having as much inlining drops frame rates another few percentage points.

The rest of the interview can be found at http://www.barefeats.com/doom3.html

AppleMatt
Mar 14, 2005, 09:41 AM
Also look for an interview on macologist with Ryan Gordon for lots of technical reasons why porting doesn't result in straight performance that you would expect.

AppleMatt

ddtlm
Mar 14, 2005, 03:07 PM
psycho bob:

Ah, that is a good mini-interview. I'm heartened to see that he thinks Apple cares enough about D3 to make some changes to hardware.

AppleMatt:

Yeah google hooked me up. Very nice article, I see he mentions GCC and float->int casting again. Perhaps the game porters don't have the cash to afford IBM's compiler?

I'm sad that he says "a lot of really inefficient things that x86 CPUs let you get away with that don't fly on PowerPC processors" without elaborating. :(

AppleMatt
Mar 15, 2005, 07:16 AM
Yeah google hooked me up. Very nice article, I see he mentions GCC and float->int casting again. Perhaps the game porters don't have the cash to afford IBM's compiler?

I'm sad that he says "a lot of really inefficient things that x86 CPUs let you get away with that don't fly on PowerPC processors" without elaborating. :(

Yep it's very expensive, but also it's closed source. As Ryan said, it's a shame they are splitting the workers between projects. It would be better for everyone to focus on a common goal.

AppleMatt

~loserman~
Mar 15, 2005, 12:13 PM
Also finding a way to motivate developpers to code with dual procs in mind, the sluggish performance of Doom 3 are mostly due to the fact that only a single CPU is working, this is ridiculous from the initial developpers. This engine will be used for many more games for the years to come yet they dont include dual procs support... What will happen if in a year or two all pc users have dual procs mobo? This is a blatant oversight and I cant believe that John Carmack agreed with it...


Not so. Dual processor support IS not the problem. The PC has no problems running these games using only a single processor.
The problem lies with Video performance.

There are basically 2 consumer video chip makers out there, ATI and Nvidia.

ATI cards do great with D3D and lead in all games that use it.
Nvidia Cards shine with OpenGL and lead in all games that use it.

D3D is Windows technology that the Mac does not use.
The Mac does uses OpenGL however.

It would be very interesting to see the DOOM 3 bench marks if a Nvidia 6800 Ultra was used instead of the ATI X800.

This is not a fanboy ATI vs Nvidia post I really could care less which card someone prefers.

daveL
Mar 15, 2005, 12:29 PM
psycho bob:

Ah, that is a good mini-interview. I'm heartened to see that he thinks Apple cares enough about D3 to make some changes to hardware.

AppleMatt:

Yeah google hooked me up. Very nice article, I see he mentions GCC and float->int casting again. Perhaps the game porters don't have the cash to afford IBM's compiler?

I'm sad that he says "a lot of really inefficient things that x86 CPUs let you get away with that don't fly on PowerPC processors" without elaborating. :(
Just for the record, "he" is a "she".