Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Yakattak
Dec 17, 2009

I am Grumpypuss
>:3

horse mans posted:

haha you suck atp osting



not my fault radium sucks at php

Adbot
ADBOT LOVES YOU

prefect
Sep 11, 2001

No one, Woodhouse.
No one.




Dead Man’s Band

yaoi prophet posted:

no chocckakacokacoka just sucks at quote nesting

YOU SHUT YOUR WHORE MOUTH

Yakattak
Dec 17, 2009

I am Grumpypuss
>:3

now that page 420 is over with, lets talk about how great objective-c and cocoa touch is

Progressive JPEG
Feb 19, 2003

MononcQc posted:

GC pausing is an issue as soon as you have any hard real time constraints (and some soft ones).
this sounds like a situation where you probably shouldn't have picked java

Catalyst-proof
May 11, 2011

better waste some time with you
i'm the current hipste

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
lets just use object pools

when you want to use an object from the pool call malloc() and when your done with it call free()!

MononcQc
May 29, 2007

Progressive JPEG posted:

this sounds like a situation where you probably shouldn't have picked java

We haven't. We picked Erlang :madmax:

GC is a very neat thing when you can afford it and it's a non-broken implementation.

Max Facetime
Apr 18, 2009

Internaut! posted:

have things changed, can you get high performance graphics out of java now

I wouldn't wanna write that poo poo in bare C

LWJGL gives you a native OpenGL as well as APIs for input devices, audio and windowed or fullscreen rendering surface, it's what minescraft uses

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

Idea: put that note about syntax from the book online, but replace the constructive suggestions for dealing with the ant turd tokens with a link to LFE :twisted:

MononcQc
May 29, 2007

Otto Skorzeny posted:

Idea: put that note about syntax from the book online, but replace the constructive suggestions for dealing with the ant turd tokens with a link to LFE :twisted:
It's an old blog post from nearly 3 years ago I decided to put as an appendix: http://ferd.ca/on-erlang-s-syntax.html

Linking to LFE would be good idea. I like LFE. I'm a part time lisp weenie.

LFE websites for those who have no idea: http://lfe.github.com/

Nomnom Cookie
Aug 30, 2009



MononcQc posted:

GC pausing is an issue as soon as you have any hard real time constraints (and some soft ones).

it's a problem once you get your heap gets SO HUEG also. Azul sells a jvm that doesn't need to stop the world ever but afaict it works by amortizing the old gen compaction over allocations. it doesn't improve throughput

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip

Nomnom Cookie posted:

it's a problem once you get your heap gets SO HUEG also. Azul sells a jvm that doesn't need to stop the world ever but afaict it works by amortizing the old gen compaction over allocations. it doesn't improve throughput

In many cases, it is a huge win to slightly lower throughput in exchange for a guaranteed upper bound on the worst-case GC pause length. When I was fiddling with improving the garbage collector for the Parrot VM (which someone else wound up doing much better than I could have, although it all came to nought as the project was falling apart for other reasons), I got pointed to a bunch of work by David Bacon at IBM on real-time garbages collectors (many of them in the context of the Jikes research VM), much of which you can find at http://researcher.watson.ibm.com/researcher/view_pubs.php?person=us-bacon&t=1 . It's interesting stuff.

skeevy achievements
Feb 25, 2008

by merry exmarx

Win8 Hetro Experie posted:

LWJGL gives you a native OpenGL as well as APIs for input devices, audio and windowed or fullscreen rendering surface, it's what minescraft uses

yea but doesnt minecraft pin a modern machine while rendering like 1000 cubes with low res textures

if that's best case java graphics then I don't think it's gonna take over from c++ anytime soon

Opinion Haver
Apr 9, 2007

Internaut! posted:

yea but doesnt minecraft pin a modern machine while rendering like 1000 cubes with low res textures

if that's best case java graphics then I don't think it's gonna take over from c++ anytime soon

minecraft also (used to?) do some really stupid poo poo like sort an entire list to get the smallest element every frame. i'm unsure how much of minecraft is 'java bad' and how much is 'notch bad'

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

MononcQc posted:

Not sure if this counts as 'serious', but it is a C/C++ garbage collector:

http://www.hpl.hp.com/personal/Hans_Boehm/gc/
http://en.wikipedia.org/wiki/Boehm_garbage_collector

It's used by Mozilla, Mono, irssi, Scheme implementations, etc. too.
i thought FamDav was talking about C++11 compliant gc which will never happen

crazypenguin
Mar 9, 2005
nothing witty here, move along

Internaut! posted:

yea but doesnt minecraft pin a modern machine while rendering like 1000 cubes with low res textures

if that's best case java graphics then I don't think it's gonna take over from c++ anytime soon

every laughs about 8-bit textured cubes, but minecraft is a 100% mutable world with no offline computation of lighting or space partitioning trees or any poo poo like that.

I don't think there is a modern game engine that could do that without falling over and dying.

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum

crazypenguin posted:

every laughs about 8-bit textured cubes, but minecraft is a 100% mutable world with no offline computation of lighting or space partitioning trees or any poo poo like that.

I don't think there is a modern game engine that could do that without falling over and dying.

lol

Catalyst-proof
May 11, 2011

better waste some time with you

crazypenguin posted:

every laughs about 8-bit textured cubes, but minecraft is a 100% mutable world with no offline computation of lighting or space partitioning trees or any poo poo like that.

I don't think there is a modern game engine that could do that without falling over and dying.

of course there's space partitioning, the whole world is divided into chunks

Sweeper
Nov 29, 2007
The Joe Buck of Posting
Dinosaur Gum

horse mans posted:

of course there's space partitioning, the whole world is divided into chunks

but it isn't a tree

Bream
Feb 3, 2013

Farmer's Barket

Sweeper posted:

but it isn't a tree

It is too, it is like oct of them.

Also I really admire your av.

Also serious q. are Minecraft's octrees sparse? What about in the woods with no one around?

MeruFM
Jul 27, 2010
i still think minecraft is impressive in that multiplayer is not just completely broken.

Bream posted:

Also serious q. are Minecraft's octrees sparse? What about in the woods with no one around?

It's surface based sparseness. You can clip through rock by godmoding and dropping sand on yourself. You can only see edges between surface, rock, different ores, etc. Lava/water still looks like a solid piece because it's all edge.

crazypenguin
Mar 9, 2005
nothing witty here, move along

horse mans posted:

of course there's space partitioning, the whole world is divided into chunks

i mean of the type that lets you avoid drawing vast swaths of the world because they aren't visible.

like, minecraft draws all the caves below you. it doesn't try to figure out that you can't see them from the surface.

it sounds stupid, but as far as I've been able to tell, everyone who has tried to make it avoid attempting to draw those caves has wound up with a slower renderer.

Bream posted:

Also serious q. are Minecraft's octrees sparse? What about in the woods with no one around?

Unless I've been seriously misinformed, it doesn't use octrees.

JawnV6
Jul 4, 2004

So hot ...
not that i wanna get into this but it really looks like you're praising a lovely brute force method with slack-jawed amazement

Catalyst-proof
May 11, 2011

better waste some time with you

crazypenguin posted:

i mean of the type that lets you avoid drawing vast swaths of the world because they aren't visible.

like, minecraft draws all the caves below you. it doesn't try to figure out that you can't see them from the surface.

that's not a lack of space partitioning, that's a lack of occlusion

crazypenguin
Mar 9, 2005
nothing witty here, move along

JawnV6 posted:

not that i wanna get into this but it really looks like you're praising a lovely brute force method with slack-jawed amazement

me? wasn't praising anything, except maybe the jvm. the jvm is pretty sweet. 8-bit textured cubes belies how hard it is to render fully dynamic scenes is all.

horse mans posted:

that's not a lack of space partitioning, that's a lack of occlusion

a rendering engine typically uses a space partitioning of the static parts of a scene to do occlusion.

Bream
Feb 3, 2013

Farmer's Barket
Gonna talk out of my rear end for a minute here, but isn't space partitioning usually used to determine the potentially visible set, after which you do real occlusion culling? I don't know what I'm talking about I don't even know what the internet is.

FamDav
Mar 29, 2008
the little i know about how minecraft's rendering has evolved is that they integrated some of the work done in optimine and maybe mcregion to do things better/faster. also more things have been written to use the graphics card.

basically ask scaevolus because he knows a ton about minecraft.

awesmoe
Nov 30, 2005

Pillbug

JawnV6 posted:

not that i wanna get into this but it really looks like you're praising a lovely brute force method with slack-jawed amazement

are we talking about garbage collecting still or is this about minecraft

Blotto Skorzany
Nov 7, 2008

He's a PSoC, loose and runnin'
came the whisper from each lip
And he's here to do some business with
the bad ADC on his chip
bad ADC on his chiiiiip
mein kraft

PENETRATION TESTS
Dec 26, 2011

built upon dope and vice

Gazpacho posted:

i thought FamDav was talking about C++11 compliant gc which will never happen

what's the issue? got a link?

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

awesmoe posted:

are we talking about garbage collecting still or is this about minecraft

multiplayer minecraft a.k.a. garbage distribution


MeruFM posted:

i still think minecraft is impressive in that multiplayer is not just completely broken.

i played a lot of minecraft and vividly remember when it was completely broken

Lutha Mahtin
Oct 10, 2010

Your brokebrain sin is absolved...go and shitpost no more!

i used to play minecraft beta on an ancient single-core p4 system. it ran well and i had fun building e-legos & killing e-critters for a dozen or two hours

a few weeks ago i tried playing it again on a more modern intel system with equivalent clock speed and 2 cores. it wouldn't run without hitching every few seconds, even after i tried some optimization mod :c00l:

Max Facetime
Apr 18, 2009

Internaut! posted:

yea but doesnt minecraft pin a modern machine while rendering like 1000 cubes with low res textures

if that's best case java graphics then I don't think it's gonna take over from c++ anytime soon

it links with the same OpenGL windows DLL as native executables and does next to nothing in terms of abstractions for 3D rendering, it's not a 3D engine

besides, OpenGL comes as a huge list of hundreds of free C methods and their preprocessor constants, all in the same global module, all making changes to the global variables inside the graphics driver, right?

so C++ isn't going to take over graphics programming from C anytime soon, either

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer

Win8 Hetro Experie posted:

besides, OpenGL comes as a huge list of hundreds of free C methods and their preprocessor constants, all in the same global module, all making changes to the global variables inside the graphics driver, right?

OpenGL: a giant state machine of hate

spongeh
Mar 22, 2009

BREADAGRAM OF PROTECTION
i'm pretty sure minecraft is using the giant state machine of hate style of opengl, but i thought that modern opengl, and opengl es at least gave you the option to avoid that. although i guess it still exists, and it probably seems better just by comparison.

minecraft is also doing basically nothing that you would generally do in a 3d engine. it relies on the fact you can throw shittons of vertices at a modern gpu and barely break a sweat. i could've sworn they aren't even using VBOs, instead using old fashioned vertex arrays because they are the one edge case where vertex arrays are faster.

for as terrible as notch is, what minecraft actually achieves is pretty impressive technically, but the xbox arcade version is definitely not java, and runs extremely well especially given the anemic ram in the 360. i suspect if you backported the xbla version to pc, it'd blow away the java version in every respect.

for what it's worth, notch hasn't had any involvement with minecraft in a while now and both stability and performance have seemed to improve in every way since jeb started maintaining it.

i'm theoretically in game dev, even though i only know enough c to be dangerous (and i'm extremely dangerous in c++) and barely understand how opengl works, so maybe i'm just dumb, so i'd love if someone who knows i'm dumb could tell me better.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde

PENETRATION TESTS posted:

what's the issue? got a link?
1. c++ is no longer "hip" and no one is driving it for new development, they're too busy reimplementing the universe in other languages because they read a blog posting that said c++ was hard. this includes the historical #1 driver microsoft
2. afaict c++11 garbage collection is impossible to integrate with legacy code that uses allocation primitives other than "new" because the runtime is allowed to delete anything that is not "safely derived" from a new'ed (nude) pointer

Base Emitter
Apr 1, 2012

?

Gazpacho posted:

1. c++ is no longer "hip" and no one is driving it for new development, they're too busy reimplementing the universe in other languages because they read a blog posting that said c++ was hard. this includes the historical #1 driver microsoft
2. afaict c++11 garbage collection is impossible to integrate with legacy code that uses allocation primitives other than "new" because the runtime is allowed to delete anything that is not "safely derived" from a new'ed (nude) pointer

3. nobody needs it, nobody cares

Bream
Feb 3, 2013

Farmer's Barket

Base Emitter posted:

3. nobody needs it, nobody cares

Except for every bideo ganes.

Base Emitter
Apr 1, 2012

?

Bream posted:

Except for every bideo ganes.

that's right, programming in c++ magically causes garbage collectors to behave exactly as you want them to and no bideogmae engine ever supports other languages for their apis

Adbot
ADBOT LOVES YOU

Bream
Feb 3, 2013

Farmer's Barket

Base Emitter posted:

that's right, programming in c++ magically causes garbage collectors to behave exactly as you want them to and no bideogmae engine ever supports other languages for their apis

Ha ha, disregard my dumbs. I thought you were saying that nobody was worrying about gc in c++ because nobody needed c++, not nobody needed gc.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply