Intel cpu and portability of applications

Posted:
in macOS edited January 2014
Now that macs have intel cpu, do you hope we can see more application migrate from windows to mac os x?

I mean that cpu is the same, so portability would be easier.

Do you think that the mac market share limits this hope?

Comments

  • Reply 1 of 10
    chuckerchucker Posts: 5,089member
    CPU architecture has little bearing these days on the difficulty of porting applications. Good code is written to be as CPU-agnostic as possible.
  • Reply 2 of 10
    lundylundy Posts: 4,466member
    ^^^^^



    What he said. Apps are written in C, C++, etc., with very little assembly language.



    The problem in porting isn't the CPU, it's the calls to the WIndows API which have to be changed to calls to Carbon or Cocoa.
  • Reply 3 of 10
    kukukuku Posts: 254member
    Sorta sorta.



    While most programs are written in api and the higher levels, it really depends.



    Some are very low level, and is almost like a "black box" in the program, thus will never be ported unless you wave a lot of money.



    Programs like those aren't common, but often are mission critical as those were written that way because of the need for speed in mind.



    Then there are special calls like MMX,SSE,SSE2,SSE3. With Intel CPU comes those as well, and it make things a lot better, then having to redo it altivec on G5/G4.
  • Reply 4 of 10
    The compatibity problem is intentially created and maintained by Microsoft.



    For example, rather that promote OpenGL - which is an outstanding cross-platform 3d API, Microsoft has spent tremendous effort to develop and promote DirectX. Direct X is not cross-platform. Thus games developed for Windows using DirectX are harder to port. Games developed using OpenGL are easier to port. (Quake 4 and Doom 3 are examples of games using OpenGL - notice how fast they arrived for Linux, Mac, and Windows. Civilization 4 is an example of a DirectX game that took months to port).



    To really illustrate their strategy, consider that the latest Halo 2 game will only run on Vista, and not XP. The strategy is to force the consumer to upgrade by fabricating incompatibilities with XP.



    Do not under-estimate the power or intent of Microsoft to exploit this.



  • Reply 5 of 10
    azcoder, I suggets heading over to wikipedia.com and reading up on OpenGL, DirectX and the different needs they satisfy.
  • Reply 6 of 10
    lundylundy Posts: 4,466member
    Still baffles me why game developers would lock themselves into the Windows market by using DirectX. Talk about drinking Kool-Aid...
  • Reply 7 of 10
    1337_5L4Xx0R - I know perfectly well all about DirectX. I realize it includes sound, input, networking and other items. There are other cross platform libraries for these features as well. OpenAL and SDL for example. I have seen MS release endless version of D3D over the years. There isn't any doubt it has improved - but make no mistake - this was NOT a necessary API from a technical perspective. It is all about lock-in.



    But if it makes you feel better, you can substitute Direct3D in my original post for the word DirectX.



    BTW - Out of curiosity, does 1337_5L4Xx0R mean "Elite Slacker".....I am not up to date on the latest speak and I was just wondering....no offense intended....I like that .... Elite Slacker .... LOL .... I am gonna have to use that at work.....
  • Reply 8 of 10
    Yes, it does mean Elite Slacker. I think you're the first to get that.



    What I meant earlier is that OpenGL is not limited to what is supported by 3D cards... it extends well beyond their capabilities. The 3D cards of tomorrow will have the hardware abilities of OpenGL software today. OpenGL is an evolution path for 3d graphics libraries.



    Direct3D/DirectX is a specific subset of hardware features present in 3D graphics cards... so game developers can produce consistent, hardware accelerated results. So Direct3D is the present, and OpenGL is the future, of 3D hardware. They sort of serve different needs.



    I'm doing a shitty job of explaining this, and I'm certainly not an authority on the subject, which is why I suggest checking out the lengthy resources at wikipedia.



    cheers.
  • Reply 9 of 10
    Cool name.



    OpenGL can be used in the past, present, and the future on Mac, Win, Linux, Solaris,etc...



    The problem with Direct3d is that it only works on Windows. It offers no significant additional functionality over OpenGL - and it has been this way for several years. As they continually release new versions OpenGL and Driect3d leaprfrog each other. For example, the upcoming DX10 has some capabilities that do not yet exist in OpenGL.



    I believe what you are referring is based on the following: As part of their promoting of Direct3d, MS has touted that it is 'easier' for hardware developers to build a driver for OpenGL instead of implementing a full-blown OpenGL ICD. This attracts the HW vendor to concentrate on the Windows D3d drivers first. Great, so it is easier for hardware developers to build Windows-only drivers. What better leverage in the OS marketplace than to have hardware that only works on your OS?



    Make no mistake - D3d was not created out of technical need. In fact, the first few versions of it were so terrible, they actaully reduced capability.



    It was created for OS lock-in, and everytime a game developer selects Direct3d over OpenGL, they often unknowningly locking themselves into the Windows platform and making it harder to port their game.



    Let's all hope that increased mac and linux use will push more developers to choose OpenGL over Direct3d.
  • Reply 10 of 10
    Y'know, on a related topic, I was reading about DX10 on wikipedia, and I'll be damned if I don't see any signifigant new features. Except for rapid occlusion culling, which I presumed has been a feature of graphics cards for about a decade (?).



    It's not like really cool eye candy á la normal maps, HDR, etc, which all the big cards support.
Sign In or Register to comment.