News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Random question about Microsoft Software

Started by SoraK05, November 11, 2014, 01:30:48 AM

Previous topic - Next topic

SoraK05

Hello.
I am still looking at computer software makeup and generally optimal coding.

I have determined that back when computers were first coming out people made much more of an effort to produce smaller and more efficient code, where asm steps were not only much smaller data but were also faster.

With higher level languages and the nature of its bloated components (and slower code) and jumping around with its backend, code has become very large and also slow.

Kega Fusion Genesis/MegaDrive emulator is in ASM and is just about fully functional for games which works on PII, where Gens is generally similar and using a higher level language which will barely function on a PII with decent speed.

Using ASM is definitely the quicker route for software as well as smaller code.


I am looking at MicroSoft Windows and how an OS which is essentially a layer of software to manage resources and load other software is the size it is of 10+GB where older OS software was even few MBs in size.
For what does a layer of resource management and software concurrency operations, with plug and play require 10+GB? :)

People had fully functional OSs in very few MBs, and consoles/handhelds even use very few MB for a functional OS environment.
What is 10+GB.


I was looking at MicroSoft Paint :)
There is a MegaDrive game called 'Art Alive' which is essentially MSPaint including some music and premade backgrounds/images to mess around with. Besides colour palette, rotation, and adjustable width for the pencil used and perhaps things like lasso, all in all this 'game' is 128KB.
There are other paint things I have seen, including even a Wii homebrew out there which is 4 player with paint functions which comes at 1.5MB.

The MegaDrive programmers remind me of the more finetuned coding such as using ASM from when computers were first around, or perhaps BASIC/LOGO which is more similar in a way. It is reasonable for a paint tool to be 128KB.

MicroSoft Paint MSPaint.exe in Windows 7 is 6MB.
For a coding forum based on MicroSoft, how is this tool 6MB? :)



Also, for any interested, I have been updating my compression research. It would be nice to see some minimal code steps for the components of this for an archive of minimal asm code for each part, and the general least computer steps if anyone is interested in incorporating this. :)

Tedd

The 'bloat' tends to come from resources rather than code, most likely images, brushes, icons, etc in this case.
Rewriting in ASM would not change that.


MSPaint.exe for Windows XP sp3 is all of 335 kB.
Potato2

SoraK05

There is very little difference from Windows XP to Windows 7.

The colour boxes are likely code to represent the colours as opposed to resources for each colour.
There's few icons all round for brushes, shapes and the pencil,eraser etc. These are quite low res.

This is quite far from 6MB-300KB.

I wonder if some DLLs or something are embedded for the ui.
http://www.tothepc.com/archives/ms-paint-in-windows-7-new-look-ribbon-ui/

Tedd

mspaint.exe v6.3.9600 (Windows 8 64-bit)
.text     790.5k
.data      27.8k
.pdata     32.6k
.idata     23.0k
.rsrc  5609.1k
.reloc     10.5k


mspaint.exe v5.1.2600 (Windows XP 32-bit)
.text     240.0k
.data      12.0k
.rsrc    92.0k

Potato2

Magnum

mspaint.exe v6.3.9600 (Windows 8 64-bit) is indeed a very fatted pig.
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

dedndave

different versions of Paint rely on .NET - so, some of the code is external

Magnum

So, are you referring to versions after XP ??
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

dedndave

what I am saying is....
different versions rely on .NET to different degrees
so - different sizes don't tell you much

SoraK05

Were premade images/backgrounds and music removed from the MegaDrive 'Art Alive' and instead had code to give more options to adjust the width of the drawing tool, perhaps more palette rotations from the palette limitation, and included selection and rotation (even with the limited cpu), lasso etc these things should still fit within 128KB. Selection/Rotation/Lasso are generally few lines of code.

Even if .NET is used, of which I am unsure as I have used Paint in a plain Windows XP install as well as Windows 7 before installing .NET, what is 6MB.
(DLL) Code to establish I/O? Generic UI plugin/dll of which even then shouldn't be near 6MB and can be replicated in Flash in a smaller amount of data?

I just get the idea Windows has a lot of bloat. I also get performance can be quicker and with less code to use and in less data.


For someone looking at computer performance, I wouldn't consider software out there to be a benchmark.
It isn't just Windows, but even Adobe Acrobat is a recent example I looked at. The maker is 1.3GB to have a menu allowing for text/images, formatting options, and options to save them whether pdf or other. Perhaps besides importing of other formats, most options are formatting related.
Homebrewed / custom PDF readers can be few MBs and the Adobe Acrobat Reader (not maker) is 300MB. I get the idea this has something to do with Windows also :)