[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Can someone explain this phenomenon? Are jpgs just that inefficient?

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 113
Thread images: 24

File: 1484493815377.png (794KB, 700x700px) Image search: [Google]
1484493815377.png
794KB, 700x700px
Can someone explain this phenomenon? Are jpgs just that inefficient?
>>
Will this image ever be posted where the actual size is 410kb?
>>
the game isn't a slide show
no images are put together like in that screenshot
>>
jpgs are for photos, pngs are for flat color art.

also that's a troll image
>>
File: 1487878846712.jpg (24KB, 700x700px) Image search: [Google]
1487878846712.jpg
24KB, 700x700px
>>59084419
>>
File: out.png (9KB, 1115x833px) Image search: [Google]
out.png
9KB, 1115x833px
>>
File: 1487879520701.png (3KB, 1115x833px) Image search: [Google]
1487879520701.png
3KB, 1115x833px
>>59084575
>>
>>59084628
maybe dont scale the image
>>
>>59084628
Try to decrease resolution to 640x480?
>>
>mario bros is 31kb

haha more like 31MB
>>
>>59084628
>Already down to 3KB
>Image still 1115x833

Seems like the question has been answered.
>>
>>59084687
please leave this board and the whole internet in fact right this moment
>>
>>59084687
idiot
>>
Artist who knows how to paint a picture is probably less information stored than a transcript of every blob of paint on the canvas. Don't listen to me I'm in a bait thread anyway
>>
the game was optimized to one architecture to run under one platform to run under one set of circumstances using tricks to draw the graphics

imagine if images only worked on firefox and you only had a limited set of colors, you could easily make a less than 1kb image of essentially references to firefoxes color pallete with encoding tricks (the next 4 blocks will be blue so 4b to represent 4 bits instead of bbbb, etc)
>>
File: 1436959158101.png (77KB, 694x801px) Image search: [Google]
1436959158101.png
77KB, 694x801px
>>59084419
troll image aside, I've read some interesting articles about this topic. Namely how the huge improvements in hardware has left software way behind. There's an argument to be made about how the abundance of memory and cpu power has led to progressively shittier and lazier code over time.
>>
File: 1475182308247.png (118KB, 500x641px) Image search: [Google]
1475182308247.png
118KB, 500x641px
>>59084419
>save as bmp
>1,470 KB
>incredible programming skills
>>
You can create a program that fills a bitmap with pseudorandom colors and it will be no larger than a few hundred bytes when compiled, yet the images it produces would be far larger than that.
>>
>>59084419
You've just discovered vector graphics.
>>
>>59084780
you can write a one function program in c that just dumps 0x0 into a file over and over again. The program will be a few hundred bytes, the output could be tens of gigs. Normies dont understand this sort of stuff though, so it seems impressive to them.
>>
>>59084797
Wuh? NES was pixel-based. It just only used 2 bits per pixels and could only remember like 128*64 pixels at a time.

Not that there weren't some interesting vector graphics consoles in the early days.
>>
>>59084575
>>59084628
N-NANI?!
>>
>>59084687
haha
>>
File: fig03.png (23KB, 537x422px) Image search: [Google]
fig03.png
23KB, 537x422px
8x8 4 color tiles with palette swapping, didnt take much room up

Heres what the memory looks like
>>
>>59084870
Nigger.

Vector graphics is about describing how to draw something instead of describing it pixel by pixel. The super mario executable is a way of describing how to draw super mario.
>>
>>59084479
No, because retards on twitter dont know how to download images.
>>
>>59084960
But NES DOES draw it pixel-by-pixel. It's not vector based, it's sprite based.

If you're trying to use the word "vector" to mean anything that is even vaguely procedural, you're using the word wrong. Vectors are lines.
>>
>>59084628
What is this wizardry?
>>
>>59084687
31megs ahahahah. You made me laugh hard m8
>>
>>59084419
yeah but the system that runs it has a few KB extra to decode and process everything
>>
File: 3418.png (3KB, 1115x833px) Image search: [Google]
3418.png
3KB, 1115x833px
>>59084628
>3430
Are you even trying?
>>
>>59084419
the contents of that scene from the NES's point of view is just;
- a map of tiles, tiny
- a handful of unique tile contents, pretty small, but probably the largest portion of the data in the scene
- 2 sprites, bitmaps like tiles, only they're used differently

NES games rarely, if at all, contain full screen images, and even then they're mostly edited down to a minimum number of unique tiles to save space
>>
>>59084995
Every image is drawn pixel by pixel you retard. The point here is that the image is not _stored_ pixel by pixel, rather by describing how to draw it. Just like in vector graphics formats.

(And yes, I know that JPEG doesn't store pixels either, rather Huffman-coded DCT coefficients, but you get the idea...)
>>
>>59084419
Image is O(n2) in memory
NES games render in O(n2) time, with the use of small pieces of data that highly repeats itself.

You can also think that rendering is not an invertible function, and the set of operations done pre-rendering are lost when the final image is composed (f(S) is not invertible)
>>
>>59085091
But.... it IS stored pixel by pixel. See >>59084959.
>>
>>59085021
>Can't get to 1KB
Try again, kid.
>>
>>59085115
It's only a very small tilemap that's stored pixel by pixel.
>>
File: 1487700402145.jpg (60KB, 320x312px) Image search: [Google]
1487700402145.jpg
60KB, 320x312px
>>59085150
Yes, a very small pixel map. Often called a sprite. Never ever in a million years called a vector. Sorry, bro, but you gotta pick your battles better.
>>
>>59084419
Please go and watch 8bitsguy.
>>
>>59084419
how much does the game take in RAM tho ?
>>
>>59084717
>software is behind
>what is silicon

There is no software limitation, we can write a simulation of the universe each 10^80 atom individually right now, we just don't have the hardware to process or store it.
>>
>>59085221
8 KB probably, at least that's true for the corresponding GB game.
>>
File: 3418.jpg (21KB, 1115x833px) Image search: [Google]
3418.jpg
21KB, 1115x833px
Outta way nerds
>>
>>59085249
shit tier
>>
I'm sure if you brought the greatest demo minds together, they'd find a way to put a modern game in under a few megabyte (the entire human genome is 750 MB or so)
>>
>>59085021
Why isn't there a format compression that compresses tiles? clearly all the floor tiles are just the same, the patron is repeating yet this is not being considered to improve the compression.
>>
>>59085249
a jpg could never beat a well pallette-optimized png
>>
>>59085091
You are fucking retarded, just FYI.
>>
>>59085170
SVG is a vector graphics format. This is an SVG snippet that's referencing a PNG to use it as a fill pattern:

<defs>
<pattern id="img1" patternUnits="userSpaceOnUse" width="100" height="100">
<image xlink:href="wall.jpg" x="0" y="0" width="100" height="100" />
</pattern>
</defs>

<path d="M5,50
l0,100 l100,0 l0,-100 l-100,0
M215,100
a50,50 0 1 1 -100,0 50,50 0 1 1 100,0
M265,50
l50,100 l-100,0 l50,-100
z"
fill="url(#img1)" />

How is this different from super mario's usage of sprites?
And yes, I know that super mario is an executable, and not a vector graphics format, but these are analogous: they both describe what to draw and where via instructions. SVG's instructions are defined in the SVG XML schema, while super mario uses the CPU's instructions directly.
>>
File: y'all succ.png (2KB, 279x209px) Image search: [Google]
y'all succ.png
2KB, 279x209px
>>
>>59085324
You scaled it down with paint or what?
>>
>>59085232
Sure, but that's not necessarily the same point. I'm talking more about how games and other programs can come out now with horrifying memory management etc. simply because they can.
>>
>>59085316
Raster graphics is based on pixels.
Vector graphics is based on geometrical shapes.
It's not that hard to understand........... kid.
>>
>>59085287
"Clearly" to you, the human, not to the computer. The problem is of compressing algorithms is literally to find those repeating patterns, but at the same time not taking long enough to find the best one. It's a P=NP problem, actually.
>>
File: nigger.png (1KB, 279x209px) Image search: [Google]
nigger.png
1KB, 279x209px
>>59085324
>>
>>59085232
I think what he means is that software and game devs had to come up with efficient or clever solutions because of limitation of hardware, such as memory. Now that hardware is so advanced, there's less of an incentive to come up with those types of solutions.
>>
I can record a wav file of a music track from the game and encode it as an mp3 to bring it down to a couple MB. Meanwhile, the entire game's OST can fit into an NSF file which could be as small as 5KB for some games. Even games with a lot of music usually won't be much larger than 100KB.

The trick is you aren't recording sound in an NSF file, you're just storing the commands that the game would usually send to the sound chip, and the player emulates the sound chip to play the music.
>>
>>59085396
>>
File: you're embarassing yourself.png (354B, 13x10px) Image search: [Google]
you're embarassing yourself.png
354B, 13x10px
>>59085540
>>
>>59085540
>>59085586
nice loss of information faggots
>>
File: succ.gif (43B, 1x1px) Image search: [Google]
succ.gif
43B, 1x1px
>>59085586
>>
>>59085663
anything from the original information isn't actually lost, it's only compressed into an tiny tiny space, all the stuff is still there
>>
>>59085316
by that logic every image is a vector image, because computers really store information and not images
>>
>>59085663
They just Derived the original information, what you can't even antiderivate it to the orignal state? sad!
>>
File: handtinywhite.gif (35B, 1x1px) Image search: [Google]
handtinywhite.gif
35B, 1x1px
>>59085688
>>
>>59085699
Wrong, you can't recover (or decompress) the original image from the tiny one.
>>
>>59085875
This Piece Of Shit Said It Was Corrupted Fuck You and Fuck 4shit
>>
>>59085232
The point is they could do the double of the calculations if it was coded decently taking full advantage of the hardware
Not in the era of javascript
>>
>>59085884
You can if you apply the exact reverse process that made the image lossy
>>
>>59086369
autism
>>
>>59084479
Well it's supposed to be KB, not Kb so....
>>
>>59086382
Prove you can't
>>
File: Untitled.png (1KB, 300x231px) Image search: [Google]
Untitled.png
1KB, 300x231px
>>59086432
>>
>>59086480
Is that the exact same process in reverse? And I don't mean mspaint scale function
>>
>>59084717
The code waits 1000 days then returns the current date. So dumb.
>>
>>59086545
You realize sleep is in milleseconds?
>>
>>59086399
too bad i said kb, which's monotony indicates KB but lazily typed in lower case kb
>>
>>59086531
Yes it's the same process you idiot. Fun fact for you: scaling is not lossless.
>>
>>59086555
Not on any platform that matters.

Nice trips btw
>>
>>59086480
assuming the function used to convert A(original) to B(lossy) has an inverse function then f'(B)=A, you did upscale(B)=A not f'
>>
>>59085316
are you fucking retarded
kys
>>
>>59084687
Underrated post
>>
>>59086596
B is the new original, dumbo. It is literally impossible to gain back original data after scaling down an image.
>>
>>59085712
by that logic, everyone loves Hitler. I bet you voted for Donald Trump too.
>>
>>59085316
>they both describe what to draw and where via instructions
The definition of vector graphics is not that broad. It only refers to geometric shapes defined through coordinates and formulas, not finite-resolution bitmaps.

Also protip: just because a format is called Scalable Vector Graphics, that doesn't mean that every feature it supports is scalable and vector. Raster fill is a raster feature.
>>
>>59085287
There kind of is. It's called google RAISR and works by training a neutral network with a large set of images, recognizing smaller parts of an image and upscaling them to the trained set.
It's primary use for now is upscaling images on g+
>>
>>59085150
You must be the dumbest nigger ape alive.
>>
>>59084419
file size means shit when actual memory usage in RAM is way above that. Game resolution is 256 × 224 with most of its elements being tiles of something way smaller, like the blocks on the ground, the clouds and the bushes being the same object with different color. Game also was coded in assembly almost procedural so it could fit inside cheap cartridges to be sold.

I remember that there were a game with 73kb that had full 3D cenario with lighting and shadow effects, it loaded close to 400mb in the RAM. But I can't find it.
>>
>>59086596
>>59086369
>>59086432

Lossy methods aren't invertible retard fag
>>
>>59086596
>assuming the function used to convert A
Assuming you are a faggot you sucked you're father's dick.

The definition of lossy conversion f is that it has no inverse.
>>
File: 1476070432824.jpg (33KB, 295x295px) Image search: [Google]
1476070432824.jpg
33KB, 295x295px
>>59089222
>>
File: 30B.gif (30B, 1x1px) Image search: [Google]
30B.gif
30B, 1x1px
>>59085875
>>
>>59086151
software just grows to fit the hardware it has available. or rather, software engineers aren't computer scientists and are whipped to create a good user experience. They will create software to match the hardware.
>>
>>59084419

Games like SMB use tiling to draw the game, you can see the repeated tiles in that image, like the blocks, characters and repeating floor pattern.
>>
>>59090592
How far can science go?
>>
>>59084996
there are no blurs, hence a smaller binary tree needed to represent the image because less changes/variations are required. everything has a very distinct break
>>
File: NES_Super_Mario_Bros.jpg (6KB, 640x480px) Image search: [Google]
NES_Super_Mario_Bros.jpg
6KB, 640x480px
Smallest I can go
>>
>>59084419
>Are jpgs just that inefficient?
No, you're just that retarded.
>>
File: GNU.png (37KB, 672x656px) Image search: [Google]
GNU.png
37KB, 672x656px
Is that the best you can do?
Beat this. Protip: You fuking cannot.

You literally can't because 4chan says the image is corrupt (it lacks information that defines it as a GIF)

File size: 26 bytes
Have a GNU head instead
>>
Is it even possible for an image to be under 1Kilo?
>>
>>59084687
I don't get it.
>>
>>59084687
kek :^)
>>
>>59092513
MB
ar
ro
it
oh
.e
.r
.s
>>
>>59092497
1bpp, 1x1, raw

there, a 1 bit image
>>
File: 1486707745496.gif (4MB, 361x200px) Image search: [Google]
1486707745496.gif
4MB, 361x200px
>>59084687
>>59092721
for fucks sake
>>
>>59084687
>>
Super Mario Bros. doesn't have every possible screenshot of the game in that 31KB.

Check out this < 100 MB fully 3D game:
https://www.youtube.com/watch?v=2NBG-sKFaB0
>>
>>59092512
Very much so, you just either lose size or quality when you reach a certain point
>>
>>59092873
100kb
>>
>>59084717
just look at web dev and how websites like YouTube need 20 seconds to load on old hardware
everything is lazy, bloated shit

also fuck javascript and muh interactive everything and other eye candy bullshit
>>
File: giphy.gif (942KB, 384x216px) Image search: [Google]
giphy.gif
942KB, 384x216px
>>59084687
>>
>>59089043
https://en.wikipedia.org/wiki/.kkrieger
>>
>>59084419
Stop posting steganographed CP!
Thread posts: 113
Thread images: 24


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.