Re: Catalina scroll view issues
Re: Catalina scroll view issues
- Subject: Re: Catalina scroll view issues
- From: Georg Seifert via Cocoa-dev <email@hidden>
- Date: Thu, 19 Dec 2019 22:16:55 +0100
I read most of the discussion but maybe missed some parts so it might repeat
something or miss the point altogether.
How big is your view. I had a lot problems with a big view and layer backing.
It will use tiled layers as a layer can only be a few thousand pixels tall.
And when you do any checking for the dirty rect you will miss drawing in some
of the tiles...
Georg
> Am 19.12.2019 um 16:10 schrieb Gary L. Wade via Cocoa-dev
> <email@hidden>:
>
> Interesting. This could be a layering issue then, and it could be due to a
> configuration unique to your customer’s setup. Since you’re doing things on
> a lower level than expected, there may be some nuance you need to add or
> something Apple needs to fix that may work fine using higher level
> frameworks. Since there’s lots of little things going on, it definitely
> warrants a feedback report. Please add its number to your reply when you
> submit it.
>
> FYI, Apple has been putting a lot of effort to support RTL better; in one of
> this year’s early general presentations at WWDC, you might have seen an
> engineer talking about RTL support within the App Store on all devices (well,
> maybe not the HomePod, of course), and the labs definitely had staff there to
> help. Where you may find your implementation better than what you see in the
> frameworks, please write as many feedback reports as needed so all developers
> can benefit from the desired changes.
> --
> Gary L. Wade
> http://www.garywade.com/ <http://www.garywade.com/>
>
>> On Dec 19, 2019, at 6:09 AM, Redler Eyal <email@hidden> wrote:
>>
>>>>
>>>> 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.
>>>
>>> CG may not be the issue… and I cannot offer a better suggestion, but when I
>>> rule out a possibility without proof, it usually turns out that I over look
>>> the solution to the problem. Good luck!
>>
>> You're right, and I wasn't ruling it out. I actually sent my user a special
>> build with an defaults option to turn off page drawing (so the page views
>> are not doing any drawing CG or otherwise), the issue persists.
>>
>> I also tried to see this issue while doing remote access using anyDesk, for
>> some reason, the issue never showed up, when I disconnected, it showed up
>> again.
>>
>> Eyal
>>
>>
>>
>>> Sandor
>>>
>>>> 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
_______________________________________________
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