Re: Catalina scroll view issues
Re: Catalina scroll view issues
- Subject: Re: Catalina scroll view issues
- From: Redler Eyal via Cocoa-dev <email@hidden>
- Date: Thu, 19 Dec 2019 09:54:10 +0200
> Since you’re using CoreGraphics, it’s very likely there’s an edge case with
> your customers’ systems that you aren’t encountering. CG is pretty much the
> lowest practical level in the graphics stack. Since your app does reproduce
> the issue but in other configurations than yours, you could still add it, but
> if you can include the system configuration data from About This Mac and data
> files from those affected customers, as well as screen shots, it can help.
> You might be asked for a sysdiagnose after the problem happens, so consider
> asking your customers to provide that as well.
OK, I'll try to get the sysdiagnose from my users before submitting. I must say
I'm really skeptic regarding the relation with my use of CG. It is not that CG
is not used by CT and everything else is also using CG. The way it looks it
seems very much related to the scrolling mechanism, the pre-rendered portion is
not rendered but for some reason the scrolling mechanism thinks that it is. I
really don't see how a core-graphic issue, and certainly not a misuse on my
part could cause a view to be partially rendered.
BTW, do you think this type of issue is appropriate for a DTS incident?
> Here’s the developer release notes for Catalina:
> https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes
Thanks. I saw that but I recall that in the past you used to have app-kit
specific release notes which were usually more detailed.
> As an aside, it would be helpful to know why you chose CG for text rendering.
> CT has gotten better with RTL and bidi text, but if you saw particular issues
> there, reports about those can help everyone.
When I started developing this app (2002), there was no choice other then CG
since core text didn't exist and the other technologies didn't support Hebrew
and RTL well, if at all. So I wrote my own text engine and this was very good
for me commercially as my app was the the first and only word-processor to
support Hebrew (and later Arabic) properly on Max OS X. I had a similar
experience with OpenType which was not initially supported and that also gave
me an edge. As time passed Apple did improve the RTL support and was offering
more APIs so theoretically I could have rewritten my code to use the new APIs
but in reality I actually did the opposite and relied less on Apple's APIs (for
example, parsing 'cmap' tables) because there were always bugs and even
regressions which could render my app unusable upon an OS upgrade. Beyond the
bugs, I think my RTL is better, or at least as far as I'm concerned as a native
Hebrew speaker and having such low-level control over something that is core to
my app is essential IMO.
Eyal Redler
------------------------------------------------------------------------------------------------
"If Uri Geller bends spoons with divine powers, then he's doing it the hard
way."
--James Randi
www.eyalredler.com
> Gary L. Wade
> http://www.garywade.com/
>
>> On Dec 17, 2019, at 2:12 AM, Redler Eyal <email@hidden> wrote:
>>
>> I am drawing using core graphics. I tried turning copiesOnScroll and this
>> didn't seem to help.
>>
>> I'll gladly write a feedback report but I'm not able to reproduce this so I
>> can't give an xcode project that will reproduce this... Isn't that a
>> requirement?
>>
>> BTW, perhaps you know: Are there no release notes for app kit with Catalina?
>> All I can find are very general notes without mention of any specific API. I
>> could not find, for example, any mention of the deprecation of
>> copiesOnScroll and what it means (is is not always on, always off etc)
>>
>> Thanks,
>>
>> Eyal
>>
>>> On 16 Dec 2019, at 16:07, Gary L. Wade <email@hidden> wrote:
>>>
>>> If you’re not involving a higher level class like NSTextView or a medium
>>> level one like CoreText, it sounds like you might be going all the way down
>>> to CoreGraphics? If so, you might find your disparity between your system
>>> and your users in things like retina choice for a particular display and
>>> changes with respect to layers, especially things like the copiesOnScroll.
>>> If these don’t lead you to a solution where you say, “Oh, I really
>>> should’ve done this rather than that,” (20/20 hindsight) then write up a
>>> feedback report and add its URL here.
>>> --
>>> Gary L. Wade
>>> http://www.garywade.com/
>>>
>>>> On Dec 16, 2019, at 1:03 AM, Redler Eyal via Cocoa-dev
>>>> <email@hidden> wrote:
>>>>
>>>> Thanks!
>>>> I don't use CoreText or NSTextView. I pretty much ruled out RTL vs LTR
>>>> issues since this is showing up in documents containing either and both.
>>>> I'm also unable to imagine how some text drawing code could produce such
>>>> artifacts as splitting a subview in the middle.
>>>> (http://eyalredler.com/stuff/catalina_glitch.png)
>>>>
>>>> Eyal
>>>>
>>>>
>>>>
>>>>
>>>>> On 14 Dec 2019, at 21:20, Gary L. Wade <email@hidden>
>>>>> wrote:
>>>>>
>>>>> I see from your personal web site you know Hebrew. Is it possible the
>>>>> affected/non-drawing pages contain some RTL text while those that don’t
>>>>> only contain LTR? I have seen some bugs with RTL text within NSTextView
>>>>> where the text was/wasn’t drawing in a similar manner. Do you operate at
>>>>> a CoreText level?
>>>>> --
>>>>> Gary L. Wade
>>>>> http://www.garywade.com/
>>>>>
>>>>>>> On Dec 14, 2019, at 6:17 AM, Redler Eyal via Cocoa-dev
>>>>>>> <email@hidden> wrote:
>>>>>>
>>>>>> Hi All,
>>>>>>
>>>>>> I'm getting reports from users complaining about a strange display issue
>>>>>> on Catalina with my app.
>>>>>> My app is a word-processor (not based on the cocoa text system) whose
>>>>>> main display shows the pages of the document. Every page is a separate
>>>>>> view and all the pages are subviews of one big view which resides inside
>>>>>> a scroll view.
>>>>>>
>>>>>> The problem is that when with some documents, sometimes, when the user
>>>>>> scrolls down the document, some pages are not drawn or even partially
>>>>>> drawn. When the user clicks the place where the page is supposed to
>>>>>> appear, it shows up.
>>>>>> Another interesting bit is seems that while the scroll view background
>>>>>> is drawn, the document views (the view containing the page views)
>>>>>> drawRect is not called or at least not taking effect, I can tell because
>>>>>> the pages on this view cast a shadow which is drawn by drawing blank
>>>>>> squares on the document view with a transparency layer.
>>>>>> Last bit of info, copiesOnScroll set to NO for this view and I see that
>>>>>> this property is deprecated on Catalina.
>>>>>>
>>>>>> So far I'm struggling with this for a couple of weeks, I wasn't able to
>>>>>> reproduce this at all on my machine.
>>>>>> I'm really desperate for an answer and while I'm not expecting anyone
>>>>>> here to provide me with one (wouldn't object, of course :-)) I would
>>>>>> love if people reading this might try to speculate to the causes of this
>>>>>> or perhaps if you have any direction as to what to test on my users
>>>>>> machines in order to be able to reproduce this.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Eyal Redler
>>>>>> ------------------------------------------------------------------------------------------------
>>>>>> "If Uri Geller bends spoons with divine powers, then he's doing it the
>>>>>> hard way."
>>>>>> --James Randi
>>>>>> www.eyalredler.com
>>>>>
>>>
>>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden