From: Kevin W. <kw...@co...> - 2011-10-10 23:00:19
|
Hi Steven, Sorry, I must have missed your earlier e-mail; I don't remember seeing it. Let me address your concerns below. On 10/10/11 5:15 PM, Steven wrote: > I took my new intel macbook on holidays last week. > OS X is such a great operating system. But its slow and buggy Wish is possibly the only thing stopping me from leaving Linux. > > Can anyone summarise technically why Wish is so slow at redrawing on OSX? > > I guess it's to do with OSX's amazing desktop image compositing layer, but have never found anything that explicitly explains it. > > Thanks for your work. > > Steven This is a very general statement that is certainly not accurate in all respects. I occasionally see redraw issues with Wish-Cocoa, but not often. It's usually when we're dealing with instances of recent bugs logged at the tracker--things involving tk_wait, for instance--that involve low-level issues surrounding the integration between the Tk event loop and Cocoa. There are no easy fixes for these issues, as I've indicated on the mailing list. Let me address the earlier comments as well: >> Considering the amount and severity of bugs in tk-cocoa (re >> the "[MACTCL] Screen redraw in Tk-Cocoa--sluggish, no >> updates, multiple drawing of buttons" thread), i can't >> imagine how you suggest using it for our project, which >> handles huge databases and is a serious Chess database app - >> generally rivalling commercial products. The reason I suggest using it is that the Carbon branch of Tk is unmaintained and unsupported, and if you want 64-bit, unavailable. It's a judgment call and if you don't need 64-bit performance, by all means use the Carbon port. >> >> Reliability is everything in a database, and bugs in OSX >> Tcl is definitely the issue for us. The 32 bit build we use >> is the only one that works for us, after weeks and months of >> trial and error, messing with SnowLeopard's Wish, and >> learning how to build our own. Our app is very resource >> intensive, and probably exposes lots of frailities in OSX >> wish that are otherwise hard to pin-point. Quite likely. >> >> (For example, on wish-8.5.7 it performs perfectly on Linux >> and Windows, but using Snow-Leopards Wish-8.5.7, the program >> crashes shortly after loading any moderate sized PGN file or >> database. And exhibits *unusual* behaviour and coredumps >> when using tk_dialog shortly before program exit. The >> program can be linked against your systems Framework by >> downloading source ( https://sourceforge.net/project/downloading.php?group_id=263836&filename=scid_vs_pc-4.5.tgz >> ), and installing into /usr/local with "./configure >> && make install&& scid". Here http://scidvspc.sourceforge.net/tmp/sa.tar.bz2 is a >> small database containing 30,000 chess games. The maximum >> database size is ~ 16 million.) I did build the app and test it against the database you linked to, and didn't see any issues or crashes, but obviously YMMV. I'm also working on Lion, where the system Tk (Cocoa) is much more stable than the one bundled with Snow Leopard. (The Snow Leopard build was more a beta version, with lots of bugs fixed later, but Apple doesn't update Tk except at new versions of the OS. >> >> Anyway, i understand your desire to move people to Cocoa, >> but considering the issues you have, which reflect our >> frustrating testing .... we are definitely using Carbon. ( >> And I should mention my OSX packager feverently wanted to >> use Cocoa, but gave in after much frustration). As I said, you have very good reasons for staying with Carbon. >> >> I thought it was a known fact that Tk toplevels didn't have >> click-through on OS X. (ie - when one ScidvsMac toplevel has >> focus, clicking a button on another toplevel (say, the >> game-list) doesn't actuate the button, but merely gives the >> other toplevel focus.) This may have been true in earlier versions of Tk, but not recently. I don't see this issue in my Cocoa build of the app. >> >> I don't suppose others can verify whether the App >> ( http://sourceforge.net/projects/scidvspc/files/mac/ScidvsMac-4.5.dmg/download) >> which should definitely link to our Tk Framework AFAIK, >> "clicks through" (or not) for them. >> >> The App is an i386/PPC universal, (though PPC seems immune >> to all of the serious bugs that we had, despite testing with >> tcl-8.5.7 on the PPC box). As you are probably aware, PPC is also obsolete, but if it works there, great! --Kevin -- Kevin Walzer Code by Kevin http://www.codebykevin.com |