#jogamp @ irc.freenode.net - 20160719 05:05:27 (UTC)


20160719 05:05:27 -jogamp- Previous @ http://jogamp.org/log/irc/jogamp_20160718050526.html
20160719 05:05:27 -jogamp- This channel is logged @ http://jogamp.org/log/irc/jogamp_20160719050527.html
20160719 07:10:19 * monsieur_max (~maxime@anon) has joined #jogamp
20160719 07:26:38 * Eclesia (~husky@anon) has joined #jogamp
20160719 07:26:44 <Eclesia> hi
20160719 07:27:00 <monsieur_max> hello
20160719 07:42:09 * jvanek (jvanek@anon) has joined #jogamp
20160719 11:43:53 <monsieur_max> dumb question, is there any performance cost to use glUseProgram if the same shader program is already loaded ?
20160719 11:46:37 <zubzub> I assume not (much)
20160719 11:46:45 <zubzub> but I don't know tbh
20160719 11:46:58 <monsieur_max> zubzub: agh, just like me then, we're so similar !
20160719 12:05:06 <Eclesia> I don't think it cost much, I use it a loooot
20160719 12:06:20 <monsieur_max> same, but "caching" it to prevent it is very simple ... it was more for my own knowledge, knowing if drivers were already taking care of that
20160719 12:34:24 <rmk0> i don't think you can trust that they are or aren't
20160719 12:35:41 <rmk0> they are one of the most expensive state changes...
20160719 12:52:49 <monsieur_max> rmk0: i was hoping you'd answer ;)
20160719 12:54:21 <rmk0> /o\
20160719 12:54:37 <rmk0> i'm actually shadowing all state that i actually use
20160719 12:55:04 <rmk0> it's definitely worth shadowing program bindings and framebuffer bindings
20160719 12:55:15 <rmk0> they're expensive enough that you'll probably wish you had, if the driver doesn't eliminate redundant calls
20160719 12:59:17 <monsieur_max> yeah, elect made some benchmarks about it
20160719 13:01:22 <monsieur_max> https://github.com/elect86/glTest#glcalls
20160719 13:03:35 <rmk0> hm, those numbers are actually worse than what nvidia suggested people would get on 2014ish hardware
20160719 13:03:56 <rmk0> no, i'm wrong
20160719 13:04:04 <rmk0> "Render target changes: 60,000/second"
20160719 13:04:08 <rmk0> "Program bindings: 300,000/second"
20160719 13:04:12 <rmk0> "Texture bindings: 1,500,000/second"
20160719 13:04:16 <rmk0> "Uniform Updates: 10,000,000/second"
20160719 13:04:21 <rmk0> http://media.steampowered.com/apps/steamdevdays/slides/beyondporting.pdf
20160719 13:04:24 <monsieur_max> well, as elect stated, it's "relative" values
20160719 13:04:51 <rmk0> relative, yes, but that first paragraph makes it sound like that's what he's getting per second
20160719 13:04:59 <rmk0> "I hit 105k framebuffer, 700k Program, 3.1M Texture Bindings, 3.4M Vertex Formats, 4.6M UBO Bindings, 6.3M Vertex Bindings and 15.2M Uniform Updates"
20160719 13:05:31 * rmk0 pokes elect with a stick
20160719 13:09:12 <monsieur_max> rmk0: nice slides, i understand i do shit now :)
20160719 13:09:48 <rmk0> i'm surprised that his numbers are as high as that
20160719 13:10:13 <rmk0> i think that presentation was late 2014, and the gtk 770 came out a year earlier if wikipedia is to be believed
20160719 13:11:43 <monsieur_max> rmk0: well, whatever the numbers, if you can do things right, you should, no ?
20160719 13:11:57 <rmk0> yesh
20160719 13:12:45 <rmk0> i have no idea as to the cost of state changes like glEnable(GL_BLEND) and so on
20160719 13:13:04 <rmk0> guessing it must be almost free these days
20160719 13:21:57 * SHC (~quassel@anon) has joined #jogamp
20160719 13:22:38 * SHC (~quassel@anon) Quit (Read error: Connection reset by peer)
20160719 13:38:33 * juank_prada (~juank_pra@anon) has joined #jogamp
20160719 14:46:12 * juank_prada (~juank_pra@anon) Quit (Remote host closed the connection)
20160719 14:50:30 * juank_prada (~juank_pra@anon) has joined #jogamp
20160719 15:02:48 <monsieur_max> interesting guide to understand jigsaw, with an example
20160719 15:03:07 <monsieur_max> http://blog.codefx.org/java/dev/jigsaw-hands-on-guide/
20160719 15:07:18 <rmk0> quite looking forward to it
20160719 15:07:25 <rmk0> ♥ strong modularity
20160719 15:08:23 <monsieur_max> yeah, well, i understand it but still don't really have a killing use case to convince me of using it :)
20160719 15:11:25 <rmk0> i'm not sure it's that sort of feature
20160719 15:11:48 <rmk0> isn't a case of "oh, i can use module for this thing" but more like "oh, this thing i was already doing now has explicit VM support"
20160719 15:12:21 <rmk0> path based resolution needs to die
20160719 15:12:24 * rmk0 kicks $PATH
20160719 15:12:30 * rmk0 stomps on $CLASSPATH
20160719 15:14:56 <rmk0> they're pretty happy about the sort of optimizations it'll enable in the VM too
20160719 15:15:18 <rmk0> can do much more in-depth monomorphization if you know that a type won't escape a module, and so on
20160719 15:15:46 <rmk0> stuff they could do right now if there were extra assumptions that could be made if there were clear module boundaries
20160719 15:21:21 * SHC (~quassel@anon) has joined #jogamp
20160719 15:52:27 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160719 16:10:42 * Eclesia (~husky@anon) has left #jogamp
20160719 16:27:34 * monsieur_max (~maxime@anon) has joined #jogamp
20160719 17:25:38 * jvanek (jvanek@anon) Quit (Quit: Leaving)
20160719 18:35:02 * SHC (~quassel@anon) Quit (Read error: Connection reset by peer)
20160719 20:55:04 * monsieur_max (~maxime@anon) Quit (Quit: Leaving.)
20160719 23:52:32 * juank_prada (~juank_pra@anon) Quit (Remote host closed the connection)
20160720 01:39:59 * juank_prada (~juank_pra@anon) has joined #jogamp
20160720 01:45:40 * juank_prada (~juank_pra@anon) Quit (Ping timeout: 244 seconds)
20160720 03:42:13 * triplepointdev (~shebaloma@anon) has joined #jogamp
20160720 03:42:49 * triplepointdev (~shebaloma@anon) Quit (Client Quit)
20160720 05:05:27 -jogamp- Continue @ http://jogamp.org/log/irc/jogamp_20160720050527.html