Date: Sat, 06 Mar 2004 15:45:52 +0100 From: Miguel Mendez <flynn@energyhq.es.eu.org> To: =?ISO-8859-1?Q?Dag-Erling_Sm=F8rgrav?= <des@des.no> Cc: freebsd-chat@freebsd.org Subject: Re: FreeBSD Most wanted Message-ID: <4049E420.3080609@energyhq.es.eu.org> In-Reply-To: <xzpn06uuldj.fsf@dwp.des.no> References: <Pine.LNX.4.43.0403011839470.3269-100000@pilchuck.reedmedia.net> <2EAEEFC4-6EEE-11D8-AE09-000A95DA58FE@jimz.net> <EABDE846-6EF2-11D8-AE09-000A95DA58FE@jimz.net> <20040305145853.3a365f60.cpressey@catseye.mine.nu> <20040306005744.T38020@haldjas.folklore.ee> <20040305153505.74061868.cpressey@catseye.mine.nu> <20040306144731.3449848a.j.schim@netmaniacs.nl> <xzpn06uuldj.fsf@dwp.des.no>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] Dag-Erling Smrgrav wrote: > Joao Schim <j.schim@netmaniacs.nl> writes: > >>I can imagine there's still a lot of ASM programming involved in >>console computer games.. Atleast it still was a few years ago. > > > No, the PlayStation changed all that. There's a lot of hand-coded mips assembly code in PS games. The PSX didn't have a very powerful hardware, and needed a lot of tricks for games to look good. Some tricks were in the gfx area, most of them in the programming area. A very good example of this is Crash Bandicoot, which rendered most of the graphics as gouraud, letting enough free memory and bus cycles for the streaming music system. The same applies to PS2 games. To be able to use 5:1 audio the programmers at EA (I think they were the first to come up with the idea) found out they could use one of the VU coprocessors to process the audio, while doing 3d math with the other. There are a lot of interesting tricks game companies have found since the PS2 were released. The rise of quality in the games comes from getting more intimate knowledge of the underlying hardware and learning that in the PS2 world you have very small very fast caches that need to be constantly filled, as opposed to the PC world with slow buses and big memories. Most of that stuff is done in assembler. FWIW, mips assembler is a very nice ISA to work with. Although most PC games mostly rely on hardware these days, there's still place for the 90/10 rule, i.e. writing the critical inner loops in asm, or hand optimize your SSE/3dNow code. 3D hardware changed the way games are written, though, most programmers today woulnd't know how to init mode-x on their VGA cards even if they supported it :) To stay on topic, while I find assembly programing extremely funny, specially on the Amiga, for systems programming I think it's better to avoid it as much as you can. Current AMD and Intel space heaters can eat code fast enough that only critical parts really need to be hand optimized (kernel, libc, that kind of stuff). Cheers, -- Miguel Mendez <flynn@energyhq.es.eu.org> http://www.energyhq.es.eu.org PGP Key: 0xDC8514F1 [-- Attachment #2 --] 0 *H 010 + 0 *H 000 *H 0y10U Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0 *H support@cacert.org0 040301162702Z 050301162702Z0D10UCAcert User Cert1'0% *H flynn@energyhq.es.eu.org0"0 *H 0 Ӳ 0 QrSe~yz 8q8d]ajyl*0bgS`ZiNj([H#vkg^9n[zyḋE7J|Rѳ9fׅ M1T9K',HrN74+NXt't:sWl^JUI|ΰ-Bh7ydH/\Ckj4K0*ڔ謦A?1Q 00U0 0V `HB IGTo get your own certificate for FREE head over to http://www.cacert.org0#U0flynn@energyhq.es.eu.org0 *H 7sXoq^FDftVjH[Bbn:bu#lGD"3N8Cig-GzOfLz(<)8jղ^uD#1?Sy 84VHy h7<@ YvL2L0ҝir3qdV¤>R3ds2d'/wJ<eD&n.Ia(~~trNPº |4e1tf1~9'~x 2Zie8n`/?mYF a&{r zktU]N]952V>րmqq+J}ZYxʏfN7_n__eĚB"=s`iD"=Sb5#+[Ha ΟȟPLdOdV#uݞx$ mo$neXp$B3cG&)~X4I몰]s000 *H 0y10U Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0 *H support@cacert.org0 040301162702Z 050301162702Z0D10UCAcert User Cert1'0% *H flynn@energyhq.es.eu.org0"0 *H 0 Ӳ 0 QrSe~yz 8q8d]ajyl*0bgS`ZiNj([H#vkg^9n[zyḋE7J|Rѳ9fׅ M1T9K',HrN74+NXt't:sWl^JUI|ΰ-Bh7ydH/\Ckj4K0*ڔ謦A?1Q 00U0 0V `HB IGTo get your own certificate for FREE head over to http://www.cacert.org0#U0flynn@energyhq.es.eu.org0 *H 7sXoq^FDftVjH[Bbn:bu#lGD"3N8Cig-GzOfLz(<)8jղ^uD#1?Sy 84VHy h7<@ YvL2L0ҝir3qdV¤>R3ds2d'/wJ<eD&n.Ia(~~trNPº |4e1tf1~9'~x 2Zie8n`/?mYF a&{r zktU]N]952V>րmqq+J}ZYxʏfN7_n__eĚB"=s`iD"=Sb5#+[Ha ΟȟPLdOdV#uݞx$ mo$neXp$B3cG&)~X4I몰]s10}00y10U Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0 *H support@cacert.org0 + 0 *H 1 *H 0 *H 1 040306144553Z0# *H 1 H JGv-YOZ|0R *H 1E0C0 *H 0*H 0 *H @0+0 *H (0 +7100y10U Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0 *H support@cacert.org0*H 10y10U Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0 *H support@cacert.org0 *H D41G8CmY D 6)UK`[2Mfd|2Yf\躍4F^H/dr{ $N42 39FFGgr9~Xq]ItF?l6=XP[@(NyhWYJWX3^ǝ2XK 6%o@zo`3>=/v,ϽAN 9c'0 nQ㝳mM*uF[,r
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4049E420.3080609>
