Jump to content

Recommended Posts

17 minutes ago, MartinSPT said:

Simply, these things are abstracted from software through the frameworks, drivers and platform technologies in Windows. They are NOT abstracted on OS X, even with Metal. 

Maybe I have this all wrong, but I thought the big deal about Metal 2 was to give programmers low level ("close to the metal") access to GPU hardware to be freer of the performance-robbing overhead of higher level abstractions.

All 3 1.10.8, & all 3 V2.5.5 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
A
ll 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

 

8 minutes ago, R C-R said:

Yes it should, but that takes us back to the number of hardware configurations, drivers, & so on that Serif is trying to support on the Windows side. They can use all the help they can get with that, including providing as much detailed info about the configuration as possible.

Just sayin'.

I agree, but I also think "the Apple Approach" which some people use is the wrong way to do it, blaming the users or hardware before considering bugs or optimization. I've lost count how many times people suggested this to me - including on this forum under current or my old user.

I got no problem sharing logs and config with Affinity to give them more to work with, but I'm told "you're doing it wrong" or "your pc is configured wrong" quite often, even on fresh installs :P 

I  saw one guy on this forum getting told he got a bad or slow "PSU" (Power supply unit) and thats why it laggs.. Go figure.

15 minutes ago, Frozen Death Knight said:

I'm on PC, just like atefoto.

Yay, Winblows. Wuuu

-----

Time to get out hiking and shooting some, later :D

Aleksander

Link to comment
Share on other sites

7 minutes ago, MartinSPT said:

Ok, we get that Mac is the primary audience for Affinity

No, all of our shipping platforms are equally important to us.

7 minutes ago, MartinSPT said:

However, making Windows the 'issue' of GPU acceleration support is dishonest or amazing ignorant.

I'm the lead dev for Windows here, as well as being responsible for implementing the GPU compute support. So I can assure you, I'm being neither dishonest nor amazingly ignorant.

9 minutes ago, MartinSPT said:

Example - even the current versions of Affinity Photo/Designer are getting GPU acceleration features from Windows, unless the Serif developers are purposely circumventing the technology. The easy example is showing a thumbnail of a JPEG or decoding a JPEG using standard Windows APIs are GPU accelerated, and this is pure GP-GPU - and has nothing to do with compositing or rendering using the GPU.

We're not circumventing anything. Your example isn't what our application does, and assuming you're talking about YCbCr decoding using WIC and Direct2D,  then this isn't a cross platform solution, and it only applies to a tiny sub-fraction percent of what our application does.

12 minutes ago, MartinSPT said:

In other words, Affinity should not ever be touching or calling GPU or GPU driver specific code or features on Windows. Not only is it not necessary, it breaks the abstraction and GPU agnostic model of Windows, making the development process harder with buggier implementations. 

We don't interact with GPU drivers directly.

14 minutes ago, MartinSPT said:

A software product like Affinity can implement features without regard to the hardware on Windows, an additionally the extra work that Apple's metal requires like managing VRAM and each GPU is completely automatic in Windows.

This isn't true, see next...

15 minutes ago, MartinSPT said:

Even implementing multiple GPU support, like Affinity implements on the Mac, is no more than a using a single GPU context on Windows, and then Windows manages the GPUs, their specific hardware features/differences, threading between all available GPUs in the system, and even handles VRAM between the GPUs and the system by visualizing it to the software. (Affinity Photo wouldn't even have to worry if there was VRAM or enough VRAM or what GPU it was allocated on, as Windows automatically fills in any assumptions/agnostic gaps.)

If you run out of VRAM then the OS has to page from system memory which has an enormous performance penalty. If you want to access memory from a GPU other than the one you're currently running on, then you have to transfer it across the PCIe bus, to system memory and then back out across PCIe to the other GPU. Again, there's a huge cost there.

19 minutes ago, MartinSPT said:

The side note to this, is that the reason Metal exists, is because when Apple pushed all in on OpenCL - the GPU cooperative multitasking in OS X did not allow widespread use of OpenCL, as OS X and software would collide, limiting the use of OpenCL on OS X beyond specialized software.   Ironically, even with Metal, the same GPU yield/cooperative multi-tasking still exists, which still limits widespread CONCURRENT use of the technology.

The reason they wrote Metal was to have a unified API for rendering and compute, that was as close to the 'metal' as possible (i.e. minimal abstraction around physical hardware). OpenCL does not cover the same functionality as Metal (OpenCL is purely compute, Metal is not), so you cannot even begin to compare them.

23 minutes ago, MartinSPT said:

In conclusion... Windows makes the GPU brand/mode/driver agnostic to software

Direct3D abstracts the hardware and driver, the same as Vulkan abstracts the hardware and driver, the same as Metal abstracts the hardware and driver, the same as OpenCL abstracts the hardware and driver, the same as CUDA abstracts the hardware and driver (but for NVIDIA only).

25 minutes ago, MartinSPT said:

don't create conspiratorial arguments or place the blame on Windows for the differences between Windows/Mac

You have to accept that there are differences in hardware, software, and ecosystem for macOS/iOS and Windows.

 

 

Link to comment
Share on other sites

20 minutes ago, Novak said:

What are the oldest Macs and iPads that support it?

I am not sure about the oldest supported Macs. I think it is limited to ones that either have a high end OEM Radeon GPU or a few recent Intel integrated ones, but it is also dependent on some other OEM hardware features, possibly including ThunderBolt 3 & the fast, multilane bus architecture needed to support that. For iPads, it is probably all Pro models + (I hope) the non-pro ones that support the Apple Pencil like mine.

All 3 1.10.8, & all 3 V2.5.5 Mac apps; 2020 iMac 27"; 3.8GHz i7, Radeon Pro 5700, 32GB RAM; macOS 10.15.7
A
ll 3 V2 apps for iPad; 6th Generation iPad 32 GB; Apple Pencil; iPadOS 15.7

Link to comment
Share on other sites

12 minutes ago, Mark Ingram said:

If you run out of VRAM then the OS has to page from system memory which has an enormous performance penalty. If you want to access memory from a GPU other than the one you're currently running on, then you have to transfer it across the PCIe bus, to system memory and then back out across PCIe to the other GPU. Again, there's a huge cost there.

At least my nVidia 1080 Ti got 11 GB Vram, so it can't be that  :P

 

Link to comment
Share on other sites

9 minutes ago, R C-R said:

I am not sure about the oldest supported Macs. I think it is limited to ones that either have a high end OEM Radeon GPU or a few recent Intel integrated ones, but it is also dependent on some other OEM hardware features, possibly including ThunderBolt 3 & the fast, multilane bus architecture needed to support that. For iPads, it is probably all Pro models + (I hope) the non-pro ones that support the Apple Pencil like mine.

So at least 3-4 year old devices. 

Link to comment
Share on other sites

@Mark Ingram

Have you guys considered Vulkan? Unlike Cuda it's available on all gpus and I think it offers comparable if not better performance than Metal. 

Don't get us wrong Mark, we appreciate all the hard work you and your team put into these programs but this latest feature fragmentation made us feel little left behind and many would for sure feel better if you guys shared some plans for bringing windows suit of apps on pair with their mac counterparts. 

Link to comment
Share on other sites

1 hour ago, Novak said:

@Mark Ingram

Have you guys considered Vulkan? Unlike Cuda it's available on all gpus and I think it offers comparable if not better performance than Metal. 

Don't get us wrong Mark, we appreciate all the hard work you and your team put into these programs but this latest feature fragmentation made us feel little left behind and many would for sure feel better if you guys shared some plans for bringing windows suit of apps on pair with their mac counterparts. 

Metal / DX12 / Vulkan all offer similar feature sets and performance, though each have their own individual issues...

All I can say is, we're working on it. It is not our intention to have one platform with vastly better performance than another.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.