Вызов GCContextDrawImage
оказался узким местом в моем приложении Mac OS X, особенно на экранах сетчатки. Мне удалось несколько смягчить его, Избегая преобразований цветового пространства при блиттинге, Mac OS X 10.11 SDK , но все равно он работает медленнее, чем я ожидал.
При исследовании стекаdump with Instruments Я заметил, что много времени было потрачено на две функции с очень подозрительными именами, vImageDebug_CheckDestBuffer
, которая вызывает _ERROR_Buffer_Write__Too_Small_For_Arguments_To_vImage__CheckBacktrace
. См. Полный дамп стека ниже.
Мне кажется, это какое-то отладочное утверждение? Я использую отладочную версию библиотеки vImage, не осознавая этого? Могу ли я что-нибудь сделать, чтобы эти функции не поглотили все мои драгоценные циклы?
![Stack trace captured with Instruments](https://i.stack.imgur.com/F9bPj.png)