From: Kevin W. <kw...@co...> - 2015-02-20 02:21:43
|
Hello all, With a lot of testing from Linus Nyberg, Russell Owen, Torsten Reincke, and Marc Culler, and a good deal of code assistance from Marc, I've been able to do some smoothing out of some final rough edges with the major implementation changes of Tk-Cocoa, and I think it's time to declare that project complete. After I announced the initial commits a few weeks ago, these folks invested a lot of time building, working with, and providing me feedback on the changes, and the issues revolved around a couple common issues: 1. The button metrics were a bit off--buttons were too large, too much padding, and so on. 2. My effort to address flicker during window resizing caused a lot of disruption, both to user expectations (the window resize was not displayed, by design) and stability (it crashed a lot). After some additional work on my part, more user feedback, and some helpful patches, recent commits have achieved the following: 1. Button metrics now work as expected. 2. We've put live resizing back in, to make sure Tk remains consistent with user expectations, and still managed to eliminate the worst of the flicker that was evident when I first removed the private API's, without crashes. There may still be a few loose ends (Torsten reported a minor UI glitch with scrollbars that does not impede functionality, and there is some subtle flicker at times during window resizing), but it's my view that Tk-Cocoa is now as stable and performant as it was before the private API's were removed, if not more so, and it achieves this outcome while remaining consistent with user expectations for window display and app performance--in short, Tk-Cocoa remains a good citizen on OS X. Additionally, a very good side effect of the improvements in drawing performance and stability is that the underlying issues with event loop integration seem reduced. That core issue has not been solved and may never be, but the simplifying of drawing and event processing seems to have relieved a good deal of pressure on the overall event loop, which is no small improvement. I think the new Tk-Cocoa is ready for a stable release in both 8.6 and 8.5, and users should see significant improvements once that happens. Thanks to all for their input, assistance, and encouragement. Best, Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Torsten B. <be...@ty...> - 2015-02-22 12:38:57
|
Dear Kevin, thanks for all your hard work! I am trying to test this, but run into an error compiling a i386 embedded build with the current trunk: /Users/Torsten/Tcl/distrib/tk/unix/../macosx/tkMacOSXWindowEvent.c:852:38: error: passing 'NSRect' (aka 'struct _NSRect') to parameter of incompatible type 'CGRect' (aka 'struct CGRect') NSRect bounds = NSRectFromCGRect([self bounds]); Can anyone reproduce this? Torsten > Hello all, > > With a lot of testing from Linus Nyberg, Russell Owen, Torsten Reincke, > and Marc Culler, and a good deal of code assistance from Marc, I've been > able to do some smoothing out of some final rough edges with the major > implementation changes of Tk-Cocoa, and I think it's time to declare > that project complete. > > After I announced the initial commits a few weeks ago, these folks > invested a lot of time building, working with, and providing me feedback > on the changes, and the issues revolved around a couple common issues: > > 1. The button metrics were a bit off--buttons were too large, too much > padding, and so on. > 2. My effort to address flicker during window resizing caused a lot of > disruption, both to user expectations (the window resize was not > displayed, by design) and stability (it crashed a lot). > > After some additional work on my part, more user feedback, and some > helpful patches, recent commits have achieved the following: > > 1. Button metrics now work as expected. > 2. We've put live resizing back in, to make sure Tk remains consistent > with user expectations, and still managed to eliminate the worst of the > flicker that was evident when I first removed the private API's, without > crashes. > > There may still be a few loose ends (Torsten reported a minor UI glitch > with scrollbars that does not impede functionality, and there is some > subtle flicker at times during window resizing), but it's my view that > Tk-Cocoa is now as stable and performant as it was before the private > API's were removed, if not more so, and it achieves this outcome while > remaining consistent with user expectations for window display and app > performance--in short, Tk-Cocoa remains a good citizen on OS X. > Additionally, a very good side effect of the improvements in drawing > performance and stability is that the underlying issues with event loop > integration seem reduced. That core issue has not been solved and may > never be, but the simplifying of drawing and event processing seems to > have relieved a good deal of pressure on the overall event loop, which > is no small improvement. > > I think the new Tk-Cocoa is ready for a stable release in both 8.6 and > 8.5, and users should see significant improvements once that happens. > > Thanks to all for their input, assistance, and encouragement. > > Best, > Kevin > > -- > Kevin Walzer > Code by Kevin/Mobile Code by Kevin > http://www.codebykevin.com > http://www.wtmobilesoftware.com > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk > _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac |
From: Kevin W. <kw...@co...> - 2015-02-22 13:29:02
|
I'll take a look when I am back in the office. Sent from my iPhone > On Feb 22, 2015, at 7:38 AM, Torsten Berg <be...@ty...> wrote: > > Dear Kevin, > > thanks for all your hard work! > > I am trying to test this, but run into an error compiling a i386 embedded build with the current trunk: > > /Users/Torsten/Tcl/distrib/tk/unix/../macosx/tkMacOSXWindowEvent.c:852:38: error: passing 'NSRect' (aka 'struct _NSRect') to parameter of incompatible type > 'CGRect' (aka 'struct CGRect') > NSRect bounds = NSRectFromCGRect([self bounds]); > > Can anyone reproduce this? > > Torsten > > >> Hello all, >> >> With a lot of testing from Linus Nyberg, Russell Owen, Torsten Reincke, >> and Marc Culler, and a good deal of code assistance from Marc, I've been >> able to do some smoothing out of some final rough edges with the major >> implementation changes of Tk-Cocoa, and I think it's time to declare >> that project complete. >> >> After I announced the initial commits a few weeks ago, these folks >> invested a lot of time building, working with, and providing me feedback >> on the changes, and the issues revolved around a couple common issues: >> >> 1. The button metrics were a bit off--buttons were too large, too much >> padding, and so on. >> 2. My effort to address flicker during window resizing caused a lot of >> disruption, both to user expectations (the window resize was not >> displayed, by design) and stability (it crashed a lot). >> >> After some additional work on my part, more user feedback, and some >> helpful patches, recent commits have achieved the following: >> >> 1. Button metrics now work as expected. >> 2. We've put live resizing back in, to make sure Tk remains consistent >> with user expectations, and still managed to eliminate the worst of the >> flicker that was evident when I first removed the private API's, without >> crashes. >> >> There may still be a few loose ends (Torsten reported a minor UI glitch >> with scrollbars that does not impede functionality, and there is some >> subtle flicker at times during window resizing), but it's my view that >> Tk-Cocoa is now as stable and performant as it was before the private >> API's were removed, if not more so, and it achieves this outcome while >> remaining consistent with user expectations for window display and app >> performance--in short, Tk-Cocoa remains a good citizen on OS X. >> Additionally, a very good side effect of the improvements in drawing >> performance and stability is that the underlying issues with event loop >> integration seem reduced. That core issue has not been solved and may >> never be, but the simplifying of drawing and event processing seems to >> have relieved a good deal of pressure on the overall event loop, which >> is no small improvement. >> >> I think the new Tk-Cocoa is ready for a stable release in both 8.6 and >> 8.5, and users should see significant improvements once that happens. >> >> Thanks to all for their input, assistance, and encouragement. >> >> Best, >> Kevin >> >> -- >> Kevin Walzer >> Code by Kevin/Mobile Code by Kevin >> http://www.codebykevin.com >> http://www.wtmobilesoftware.com >> >> >> ------------------------------------------------------------------------------ >> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server >> from Actuate! Instantly Supercharge Your Business Reports and Dashboards >> with Interactivity, Sharing, Native Excel Exports, App Integration & more >> Get technology previously reserved for billion-dollar corporations, FREE >> http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk >> _______________________________________________ >> Tcl-mac mailing list >> tc...@li... >> https://lists.sourceforge.net/lists/listinfo/tcl-mac > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk > _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac |
From: Kevin W. <kw...@co...> - 2015-02-22 18:04:11
|
On 2/22/15 7:38 AM, Torsten Berg wrote: > /Users/Torsten/Tcl/distrib/tk/unix/../macosx/tkMacOSXWindowEvent.c:852:38: error: passing 'NSRect' (aka 'struct _NSRect') to parameter of incompatible type > 'CGRect' (aka 'struct CGRect') > NSRect bounds = NSRectFromCGRect([self bounds]); I committed a quick fix--please see if it helps. Kevin -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Torsten B. <be...@ty...> - 2015-02-22 20:36:33
|
Now it compiles again. Great! The resizing looks great now. I can only see smaller glitches on buttons that do not really disturb much, great improvement! However, …, in one application I now see crashes again when resizing, resulting on this message on the console: Assertion failed: (r->shape != NULL), function assert_check_region, file Regions/CGRegion.c, line 28. Abort trap: 6 I am sorry, I slowly feel guilty finding yet another problem without really being able to fix it myself … Regards, Torsten Am 22.02.2015 um 19:04 schrieb Kevin Walzer <kw...@co...>: > On 2/22/15 7:38 AM, Torsten Berg wrote: >> /Users/Torsten/Tcl/distrib/tk/unix/ >> ../macosx/tkMacOSXWindowEvent.c:852:38: error: passing 'NSRect' (aka 'struct _NSRect') to parameter of incompatible type >> 'CGRect' (aka 'struct CGRect') >> NSRect bounds = NSRectFromCGRect([self bounds]); >> > I committed a quick fix--please see if it helps. > > Kevin > > -- > Kevin Walzer > Code by Kevin/Mobile Code by Kevin > > http://www.codebykevin.com > http://www.wtmobilesoftware.com > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk_______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac |
From: Kevin W. <kw...@co...> - 2015-02-22 20:52:17
|
On 2/22/15 3:36 PM, Torsten Berg wrote: > However, �, in one application I now see crashes again when resizing, resulting on this message on the console: > > Assertion failed: (r->shape != NULL), function assert_check_region, file Regions/CGRegion.c, line 28. > Abort trap: 6 Can you provide a simple script that reproduces the issue? -- Kevin Walzer Code by Kevin/Mobile Code by Kevin http://www.codebykevin.com http://www.wtmobilesoftware.com |
From: Torsten B. <be...@ty...> - 2015-02-25 21:09:19
|
Not yet. It seems to be related with a more complex GUI only and it takes time to boil the GUI down and to see what element exactly is causing the problem. I’ll keep trying. Torsten > On 2/22/15 3:36 PM, Torsten Berg wrote: >> However, �, in one application I now see crashes again when resizing, resulting on this message on the console: >> >> Assertion failed: (r->shape != NULL), function assert_check_region, file Regions/CGRegion.c, line 28. >> Abort trap: 6 > Can you provide a simple script that reproduces the issue? > > -- > Kevin Walzer > Code by Kevin/Mobile Code by Kevin > http://www.codebykevin.com > http://www.wtmobilesoftware.com > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk > _______________________________________________ > Tcl-mac mailing list > tc...@li... > https://lists.sourceforge.net/lists/listinfo/tcl-mac |
From: Uwe K. <ml...@ko...> - 2015-02-24 23:31:30
|
Hello Kevin, sometimes idiots make a difference ;-) I finally found the time to test your current tk additions on an up to date OSX. And I have to say: THANK YOU for all your work. At least the widget demo looks beautiful. For testing I have built a tclkit from fossil_trunk with the help of KitCreator from Roy Keene: http://kitcreator.rkeene.org/fossil/home I have just to find out how to run the tests and whether the build is usable for more than my OSX version (10.10) and has the "right" build-options set. Do you have an updated document for compiling Tcl on OSX? For your convenience the build (based on this fossil commit: http://core.tcl.tk/tk/info/754c58b715576192) can be found here: http://koloro.de/tclkit-fossil_trunk (3.7 MB, Mach-O 64-bit x86_64). Best regards Uwe |
From: Uwe K. <ml...@ko...> - 2015-02-25 20:09:09
|
Hello Kevin, sometimes idiots make a difference ;-) I finally found the time to test your current tk additions on an up to date OSX. And I have to say: THANK YOU for all your work. At least the widget demo looks beautiful. For testing I have built a tclkit from fossil_trunk with the help of KitCreator from Roy Keene: http://kitcreator.rkeene.org/fossil/home I have just to find out how to run the tests and whether the build is usable for more than my OSX version (10.10) and has the "right" build-options set. Do you have an updated document for compiling Tcl on OSX? For your convenience the build (based on this fossil commit: http://core.tcl.tk/tk/info/754c58b715576192) can be found here: http://koloro.de/tclkit-fossil_trunk (3.7 MB, Mach-O 64-bit x86_64). Best regards Uwe |
From: Uwe K. <uw...@ko...> - 2015-02-24 23:30:56
|
Hello Kevin, sometimes idiots make a difference ;-) I finally found the time to test your current tk additions on an up to date OSX. And I have to say: THANK YOU for all your work. At least the widget demo looks beautiful. For testing I have built a tclkit from fossil_trunk with the help of KitCreator from Roy Keene: http://kitcreator.rkeene.org/fossil/home I have just to find out how to run the tests and whether the build is usable for more than my OSX version (10.10) and has the "right" build-options set. Do you have an updated document for compiling Tcl on OSX? For your convenience the build (based on this fossil commit: http://core.tcl.tk/tk/info/754c58b715576192) can be found here: http://koloro.de/tclkit-fossil_trunk (3.7 MB, Mach-O 64-bit x86_64). Best regards Uwe |