Look, Geir, not so many years ago the now-deprecated and soon defunct garbage collector was the new hotness. If we'd followed the course you're suggesting now, of always switching to Apple's latest APIs, we'd really be in a pickle now. On Jul 9, 2016 8:58 AM, "Geir Nøklebye" <geir.nokle...@dayturn.com> wrote:
> In comment to Geenz Spad <ge...@exodusviewer.com>: > > > > There is much more to it than the knee jerk opensource community reaction > of resisting to "Apple made it the default for new projects, so you should > too!” > > By migrating the code to to the Apple defaults makes the code much more > portable across macOS system versions and often ensures that the code runs > with few or no modifications even if Apple makes big breaks to the > underlying system software or even hardware. Having worked in Apple > Product Management I have seen it over and over again that developers who > fail to maintain their code according to the Apple guidelines suffer badly > when Apple does something “unexpected. Very good examples of this is the > disaster that Microsoft Office has been on macOS for years, as also is the > case for almost the entire Adobe product suite. Others are using QT that > often result in sub par experiences both for developers and users. Many of > these applications simply vanish from the market as the developers are not > able to move the application forward. > > One such example of an “unexpected” change is the introduction of Metal, > where the viewer rendering code has not been changed for this fact > resulting in a GPU crash on any version of the viewer when running on macOS > 10.11. (regardless of LL or TPV developed.) The GPU crash has been both > acknowledged by Apple product development and by LL, but the LL code needs > to be fixed for it to work. This crash is clearly related to memory > management both on the GPU and on the main system. (NVDA(Graphics): Channel > exception! Exception type = 0x1f Access Violation Error (MMU Error 2)) It > happens because macOS 10.11 use Metal for compositing the desktop so memory > usage has changed. Installing NVIDIA’s driver removes the crash, but it > results in a loss of typically 10 fps for the viewer. > > > By acknowledging that a macOS application is distinctly different from the > standard C++ application, and structuring the code for the macOS version > thereafter, one would not only do everyone, including LL, a favor but it > would also make the path for a viewer running on iOS devices much shorter. > It would improve performance, give macOS users access to system services > they find across their application portfolio, and would make development > more consistent and reliable. It would possibly also reduce the number of > issues reported to the LL service desk and improve retention for new > signups. > > > I’ll have macOS 10.12 beta 2 installed today and see how the viewers run, > but on beta 1 only one of all the tested viewers ran (still with crashing > plugins.) One popular viewer compiled with the old GCC could not start at > all. > > My intention is to remove all the code that prevents compilation with ARC, > acknowledging that MRC will still be needed for some interfacing with > Foundation and C++. > > For the Renderer issue I am not in a position to fix the GPU crash. I have > yet to confirm if this issue still exist on 10.12 as that requires a viewer > that actually runs on it without one or more components crashing. > > TC, > Geir > > > > > _______________________________________________ > Policies and (un)subscribe information available here: > http://wiki.secondlife.com/wiki/OpenSource-Dev > Please read the policies before posting to keep unmoderated posting > privileges >
_______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges