From: Wesley J Landaker Date: 2003-08-18T11:11:39+09:00 Subject: Re: Ruby for 3D graphics? --Boundary-02=_BXDQ/RlaO9QQqzx Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Description: signed data Content-Disposition: inline On Sunday 17 August 2003 7:39 pm, Brandon J. Van Every wrote: > Ok, I'm sick to death of C++. I'm moving on to a higher level > language of some kind. But, my lower level 3D graphics problems are > not going to go away. Why is Ruby exciting to a 3D graphics > optimization jock? And bear in mind, I expect realism about > performance issues, not pie in the sky optimism about how > "performance doesn't matter" or "it's always easier to prototype in > our language" like the Python crowd gives me. Some problems are > lower level than others and I want to know what Ruby has to say about > lower level problems. Here is some anecdotal evidence that may just be me remembering things=20 funny. ;) I did a little experimenting with Ruby/SDL bindings a while back (gosh,=20 I think it was actually more than a year ago), while I was trying to=20 figure out if it was feasible to write [essentially a game] in Ruby=20 instead of C++. My experience was that it didn't work very well to try=20 to do the whole app (with event loop et al) in Ruby, especially when I=20 needed things to be multithreaded. The worst place I'd see problems is=20 trying to synchronize graphics and sound. But what *did* work fairly=20 well was to have a C++ event loop and have Ruby embedded to handle the=20 game logic itself (while running Ruby in its own native thread). The opposite approach to this problem, which I didn't attempt, would be=20 to write the whole thing in Ruby, but use C++ extentions to do the=20 parts that were the most critical. The downside of this seems to be=20 that you can't(?) use native threads. Ruby threads are good enough for=20 me 99.9% of the time, but they didn't seem to work good enough back=20 when I tried this. Then again, 1) I might have been doing something wrong, 2) I didn't try=20 *that* hard to optimize it in Ruby, and 3) the project I was working on=20 eventually diverged into something a little different, and I never got=20 to the point where I needed the SDL part of the software. =3D) =2D-=20 Wesley J. Landaker - wjl@icecavern.net OpenPGP FP: 4135 2A3B 4726 ACC5 9094 0097 F0A9 8A4C 4CD6 E3D2 --Boundary-02=_BXDQ/RlaO9QQqzx Content-Type: application/pgp-signature Content-Description: signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2 (GNU/Linux) iD8DBQA/QDXB8KmKTEzW49IRAg1WAKCAK6OSGsIr5lQVfFhRhbA0AtRsewCfb0np ETwpPCSvftIsvAfgMLVYvcE= =yU/M -----END PGP SIGNATURE----- --Boundary-02=_BXDQ/RlaO9QQqzx--