what exactly is Core Image?

Posted:
in macOS edited January 2014
Obviously, this technology is not yet at the fingertips of us creatives whose left brains have shribbled up after years of not using them. But my understanding of it is that this technology enables graphics processing software (hopefully Photoshop will be included in that list) to take pixel processing operations away from the Mac's main CPU and assign them to the graphic card's GPU, because apparently the video hardware could do it faster and it would take the burden off the main CPU so it can focus on other tasks such as OS operations and whatever else it's more fit to do.



This leads me to think that future versions of all graphics programs will be written to take full advantage of Image Core, and THAT'S why image core is presently used only by developers.



Am I right in my assumption? Maybe I'm way off...

Comments

  • Reply 1 of 9
    Quote:

    Originally posted by RANSOMED

    Obviously, this technology is not yet at the fingertips of us creatives whose left brains have shribbled up after years of not using them. But my understanding of it is that this technology enables graphics processing software (hopefully Photoshop will be included in that list) to take pixel processing operations away from the Mac's main CPU and assign them to the graphic card's GPU, because apparently the video hardware could do it faster and it would take the burden off the main CPU so it can focus on other tasks such as OS operations and whatever else it's more fit to do.



    This leads me to think that future versions of all graphics programs will be written to take full advantage of Image Core, and THAT'S why image core is presently used only by developers.



    Am I right in my assumption? Maybe I'm way off...




    Actually, you can see what this technology in action right now in apps such as Apple's Motion, iMaginator, LiveQuartz Image Editor, ImageTricks, ComicLife, Factory Tools and other apps which I probably don't know exist.
  • Reply 2 of 9
    ransomedransomed Posts: 169member
    Quote:

    Originally posted by kim kap sol

    Actually, you can see what this technology in action right now in apps such as Apple's Motion, iMaginator, LiveQuartz Image Editor, ImageTricks, ComicLife, Factory Tools and other apps which I probably don't know exist.



    Really? That would make sense, especially with the Apple apps. I did notice Motion rendering effects quite quickly.
  • Reply 3 of 9
    ransomedransomed Posts: 169member
    Quote:

    Originally posted by RANSOMED

    Really? That would make sense, especially with the Apple apps. I did notice Motion rendering effects quite quickly. I hope Adobe starts using this soon.



  • Reply 4 of 9
    pbpb Posts: 4,233member
    Quote:

    Originally posted by RANSOMED



    This leads me to think that future versions of all graphics programs will be written to take full advantage of Image Core, and THAT'S why image core is presently used only by developers.



    Am I right in my assumption? Maybe I'm way off...




    Here is all you need for a start.



    Core Image is an API (Application Programming Interface), that simplifies very much GPU access for the programmer. This means that even small developers now can quite easily program applications that redirect graphics processing to the GPU.



    If Adobe will migrate its software to the Core Image programming paradigm is something that remains to be seen, but the portability of their code makes me doubt it. On the other hand, it is a matter of time to see a small developer coming with a Core Image enabled "Photoshop Lite", which will run the graphics transformations much faster than today's Photoshop, because it will use directly the GPU.
  • Reply 5 of 9
    Adobe arent going to use CoreImage unfortunately. I cant remember the arguments, except that the codebase has to more or less cross-platform.
  • Reply 6 of 9
    kaiwaikaiwai Posts: 246member
    Quote:

    Originally posted by T'hain Esh Kelch

    Adobe arent going to use CoreImage unfortunately. I cant remember the arguments, except that the codebase has to more or less cross-platform.



    Well, that still shouldn't prohibit them from using features available to it; Adobe uses many Windows only features in their software.



    I think the issue is more, can the investment be justified, that is, if they invested $x of dollars into making use of CoreImage, will the benefits of utilising it, result in faster transitions thus spurring an increase in sales of their products on MacOS X?



    Just as a side issue, I'd love to see a closer relationship between Apple and Adobe; see Microsoft getting pushed out of the graphics market once and for all
  • Reply 7 of 9
    dfilerdfiler Posts: 3,420member
    The most important thing about CI:

    It is a high-level hardware abstracted API.



    The concept of hardware abstraction is key. It used to be that if you wanted complicated and/or hardware accelerated effects, you had to code them by hand.



    CI is an attempt to allow programers to completely forget about the underlieing hardware, and to concentrate completely on functionality specific to their app. There have been other high-level hardware accelerated graphics libraries in the past, but none really did a good job of abstracting programmers from the nitty gritty of specific hardware that users may or may not have installed.



    CI is designed to take advantage of all of the hardware installed in a computer. If altivec is available, it is used. If such and such feature can be accelerated by the GPU, the GPU is used.



    A rather novel but obvious concept actually. A graphics API that makes best use of available hardware without placing the burden on app developers.
  • Reply 8 of 9
    placeboplacebo Posts: 5,767member
    I am Coreimage Funhouse's bitch.
  • Reply 9 of 9
    kaiwaikaiwai Posts: 246member
    Quote:

    Originally posted by dfiler

    The most important thing about CI:

    It is a high-level hardware abstracted API.



    The concept of hardware abstraction is key. It used to be that if you wanted complicated and/or hardware accelerated effects, you had to code them by hand.



    CI is an attempt to allow programers to completely forget about the underlieing hardware, and to concentrate completely on functionality specific to their app. There have been other high-level hardware accelerated graphics libraries in the past, but none really did a good job of abstracting programmers from the nitty gritty of specific hardware that users may or may not have installed.



    CI is designed to take advantage of all of the hardware installed in a computer. If altivec is available, it is used. If such and such feature can be accelerated by the GPU, the GPU is used.



    A rather novel but obvious concept actually. A graphics API that makes best use of available hardware without placing the burden on app developers.




    IIRC, isn't it built upon OpenGL? the way Apple described it, you have OpenGL at the bottom layer, and everything seems to be built upon that; which seems like a pretty smart idea.



    Interesting how much innovation there is using OpenStandards rather than doing a Microsoft and re-inventing the wheel for the sake of the NIH sydrom, which seems to be a dominating factor for all decisions at Microsoft.
Sign In or Register to comment.