MAMEWorld >> EmuChat
View all threads Index   Flat Mode Flat  

Bryan Ischo
MAME Fan
Reged: 03/28/10
Posts: 358
Send PM
Re: Tredding on toes again
07/08/11 07:25 PM


> Software bloat is a term used to describe the tendency of newer computer programs to
> have a larger installation footprint, or have many unnecessary features that are not
> used by end users, or just generally use more system resources than necessary, while
> offering little or no benefit to its users. - wikipedia

I've added some emphasis to the above quote. I think that 'than necessary' is purely subjective, and the reasons for software to grow larger are often not obvious to end users. Often the benefit of this 'bloat' is to developers, not end users. It is inevitable that more lines of code, more sophisticated architectures, more descriptive interfaces, among other things that make developing a software project easier, leads to larger and more resource-hungry software. The end user should realize that without this 'bloat', development would likely slow down or maybe even grind to a halt. Also, the end user should realize that the extra hardware resources available to end users each year makes up to a large degree for this bloat (even ecliping the bloat in most cases). So all that's happening is that developers are spending some of the new hardware resources given to us each year on code features that assist development. This does mean that when you try to take the same software back a few years to hardware for which these extra resources were not available, you get poor performance.

You probably already know that one of the major goals (in fact the officially stated major goal, although my personal belief is that this is half-true, half-smokescreen) of MAME is to document hardware. Better code, with more readable and maintainable interfaces and implementation, in more modern languages using more modern language features, is directly in line with this goal. True it leads to 'bloat' in the eyes of the person whose only goal is to get the best performance possible; but keep in mind that without good code, games would run at 0 fps because they just wouldn't work when the code base collapsed under its own weight and became unmaintainable.

This is not to say that MAME could not be made more efficient while at the same time being even more well written and maintainable; every software project could always improve on both fronts. But MAME already has better than necessary performance on hardware that is extremely cheap to acquire today for most games, and certainly for the vast majority of games that the vast majority of people care the most about; and I don't really see performance as being a major issue, especially given that the games for which performance is worst (3d games with multiple CPUs to emulate), the 'bloat' of MAME only adds a very small performance penalty relative to the cost of emulating the hardware. And if you want to know how hard it is to improve the performance, consider that I spent about 3 weeks of intense effort trying to improve the software polygon rendering in MAME and even though I've got some pretty mad skillz (if I do say so myself ) I could not improve it one iota, abandoning the effort and accepting that the polygon rendering code in poly.c is already better than I could ever make it.

> I think the above paragraph describes just about any software project the size of
> Mame. As the Project evolves I am certain that technology will drive Mame to be a
> much smaller foot print. - Bizimonki

Don't be so sure. Like I just said, there is little benefit to a smaller footprint outside of supporting old hardware as the size and performance of MAME is very good on even extremely cheap modern hardware. I don't see why any developer would spend their time optimizing something that doesn't need optimization (except in the opinion of a minority of end users).

Also can I suggest that people who want to improve MAME's efficiency learn to program? It's not that hard; computers are an integral part of our modern world and programming is a valuable skill that anyone can acquire with some effort, and then you can invest whatever effort you think is worthwhile into improving MAME in any way that you see fit (subject to MAME project lead approval, of course!).







Entire thread
Subject Posted by Posted on
* First MAME Cabinet - Need answer to a question Warnarchy 07/04/11 06:48 PM
. * Free, huh? WOW. Someone should've paid you to take that away from them.... mogli  07/06/11 06:30 AM
. * Re: First MAME Cabinet - Need answer to a question CrapBoardSoftware  07/04/11 10:15 PM
. * Re: First MAME Cabinet - Need answer to a question Pernod  07/04/11 08:16 PM
. * Re: First MAME Cabinet - Need answer to a question Naoki  07/04/11 08:54 PM
. * Re: First MAME Cabinet - Need answer to a question TheGuru  07/05/11 11:21 AM
. * Re: First MAME Cabinet - Need answer to a question Naoki  07/05/11 12:02 PM
. * Re: First MAME Cabinet - Need answer to a question Pernod  07/05/11 12:51 PM
. * Re: First MAME Cabinet - Need answer to a question Naoki  07/06/11 02:06 AM
. * Re: First MAME Cabinet - Need answer to a question Heihachi_73  07/06/11 06:18 AM
. * Re: First MAME Cabinet - Need answer to a question Naoki  07/06/11 10:10 PM
. * Re: First MAME Cabinet - Need answer to a question Anonymous  07/06/11 09:10 PM
. * Re: First MAME Cabinet - Need answer to a question R. Belmont  07/06/11 09:21 PM
. * Re: First MAME Cabinet - Need answer to a question Anonymous  07/06/11 09:24 PM
. * Re: First MAME Cabinet - Need answer to a question R. Belmont  07/06/11 11:09 PM
. * Tredding on toes again Anonymous  07/06/11 11:39 PM
. * Re: Tredding on toes again Heihachi_73  07/08/11 09:34 AM
. * Re: Tredding on toes again Bryan Ischo  07/07/11 07:58 PM
. * Re: Tredding on toes again Anonymous  07/07/11 11:52 PM
. * Re: Tredding on toes again Bryan Ischo  07/08/11 12:41 AM
. * Re: Tredding on toes again Anonymous  07/08/11 01:24 AM
. * Re: Tredding on toes again Bryan Ischo  07/08/11 02:12 AM
. * Re: Tredding on toes again Anonymous  07/08/11 04:45 PM
. * Re: Tredding on toes again Bryan Ischo  07/08/11 07:25 PM
. * Re: Tredding on toes again R. Belmont  07/08/11 07:50 PM
. * Re: Tredding on toes again Bryan Ischo  07/08/11 08:13 PM
. * Re: Tredding on toes again Anonymous  07/08/11 08:37 PM
. * Re: Tredding on toes again Bryan Ischo  07/08/11 10:30 PM
. * Re: Tredding on toes again R. Belmont  07/08/11 04:40 PM
. * Re: Tredding on toes again Anonymous  07/08/11 05:12 PM
. * Re: Tredding on toes again R. Belmont  07/08/11 06:29 PM
. * Re: Tredding on someone's big toe. Anonymous  07/08/11 08:26 PM
. * Re: Tredding on someone's big toe. R. Belmont  07/08/11 10:17 PM
. * Re: Tredding on someone's big toe. Anonymous  07/09/11 01:02 AM
. * Re: Tredding on someone's big toe. B2K24  07/09/11 02:32 AM
. * Re: Tredding on toes again StilettoAdministrator  07/08/11 03:25 AM
. * Re: Tredding on toes again Anonymous  07/08/11 04:27 PM
. * Re: First MAME Cabinet - Need answer to a question B2K24  07/04/11 10:18 PM
. * I smellz a PokéROM! [nt] Heihachi_73  07/05/11 11:39 AM
. * Re: First MAME Cabinet - Need answer to a question redk9258  07/05/11 12:33 AM
. * Re: First MAME Cabinet - Need answer to a question R. Belmont  07/05/11 04:22 PM
. * Re: First MAME Cabinet - Need answer to a question AeroCityMayor  07/05/11 05:42 PM
. * Re: First MAME Cabinet - Need answer to a question Naoki  07/05/11 03:05 AM
. * Re: First MAME Cabinet - Need answer to a question redk9258  07/04/11 07:38 PM
. * Re: First MAME Cabinet - Need answer to a question Warnarchy  07/04/11 07:50 PM
. * Re: First MAME Cabinet - Need answer to a question Heihachi_73  07/05/11 11:32 AM
. * Re: First MAME Cabinet - Need answer to a question Naoki  07/04/11 08:50 PM
. * Re: First MAME Cabinet - Need answer to a question DMala  07/05/11 12:21 AM
. * Re: First MAME Cabinet - Need answer to a question Naoki  07/05/11 03:07 AM
. * Re: First MAME Cabinet - Need answer to a question Anonymous  07/05/11 05:31 PM

Extra information Permissions
Moderator:  Robbbert, Tafoid 
0 registered and 208 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 3718