<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Maratis forum - Performance Profiling]]></title>
		<link>http://forum.maratis3d.com/viewtopic.php?id=455</link>
		<description><![CDATA[The most recent posts in Performance Profiling.]]></description>
		<lastBuildDate>Mon, 22 Oct 2012 08:06:22 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2804#p2804</link>
			<description><![CDATA[<p>I had a go with using gDEBugger, but it&#039;s made by AMD so it only really supports ATI graphics cards. It claims to also have some support NVidia too, but neither of those would help my crappy Intel graphics chip. Oh well. Back to trying to trying to do this the slow way <img src="http://forum.maratis3d.com/img/smilies/tongue.png" width="15" height="15" alt="tongue" /></p>]]></description>
			<author><![CDATA[dummy@example.com (Nistur)]]></author>
			<pubDate>Mon, 22 Oct 2012 08:06:22 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2804#p2804</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2799#p2799</link>
			<description><![CDATA[<p>if you want to know &quot;what is sent to the screen&quot; fps (what is generally done on other engines), it will correspond to the draw() 8 fps.<br />More the logic will take time and more it will be reflected on the screen fps anyway.</p><p>But it&#039;s good to record on the side the duration of one update call (can be slow generally because of physics or IA).</p>]]></description>
			<author><![CDATA[dummy@example.com (anael)]]></author>
			<pubDate>Sun, 21 Oct 2012 17:15:52 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2799#p2799</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2798#p2798</link>
			<description><![CDATA[<p>I am just grabbing gDEBugger to take a look at that tonight. I had a run through Sponza with the profiler, I was getting 6fps so I guess it isn&#039;t necessarily the lighting that&#039;s causing the slow performance, probably the large amount of polys. I guess this is a reasonable stress test <img src="http://forum.maratis3d.com/img/smilies/tongue.png" width="15" height="15" alt="tongue" /><br />I will do more investigation into why this might be anyway.</p><p>Just a quick question though, where do you think the best place to &quot;pump&quot; the profiler would be? I&#039;ve got different readings when I put it in different places. For example on Sponza, I get ~300fps if I put it at the end of&nbsp; MaratisPlayer::LogicLoop, if I put it at the end of the while(true) loop in main() then I get 6fps, and if I put it in draw() then I get 8fps</p>]]></description>
			<author><![CDATA[dummy@example.com (Nistur)]]></author>
			<pubDate>Sun, 21 Oct 2012 16:37:50 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2798#p2798</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2777#p2777</link>
			<description><![CDATA[<p>I found that after doing some research : <a href="http://www.opengl.org/sdk/tools/gDEBugger/">http://www.opengl.org/sdk/tools/gDEBugger/</a><br />it can trace opengl calls apparently, to be tested ?</p>]]></description>
			<author><![CDATA[dummy@example.com (anael)]]></author>
			<pubDate>Fri, 19 Oct 2012 19:46:47 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2777#p2777</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2776#p2776</link>
			<description><![CDATA[<p>I finally got around to switching to gluBuild2DMipmaps and I&#039;m still on about 2fps, so I guess it&#039;s not that <img src="http://forum.maratis3d.com/img/smilies/tongue.png" width="15" height="15" alt="tongue" /> It&#039;s a shame that I really can&#039;t profile OpenGL at all to see what might be causing the problem. I&#039;ll try taking lights and&nbsp; things out... see if I can figure it out... based on the fact that I can get a standard simple scene running at 60fps, I should be able to figure out which feature I&#039;m using that&#039;s causing the problems...</p>]]></description>
			<author><![CDATA[dummy@example.com (Nistur)]]></author>
			<pubDate>Fri, 19 Oct 2012 18:58:47 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2776#p2776</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2773#p2773</link>
			<description><![CDATA[<p>Thanks for these <img src="http://forum.maratis3d.com/img/smilies/smile.png" width="15" height="15" alt="smile" /> I&#039;ll try and take a look at what it might be.</p>]]></description>
			<author><![CDATA[dummy@example.com (Nistur)]]></author>
			<pubDate>Fri, 19 Oct 2012 10:41:29 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2773#p2773</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2771#p2771</link>
			<description><![CDATA[<p>Also, check some stuff that can make it slow like :<br />- power of two texture<br />- mipmap<br />- mesh export if you are using the 3dsmax exporter, be aware that it is still less optimized than the Blender exporter (vertices are duplicated)</p><p>I&#039;m thinking about something that could slow your machine, in MGLContext.cpp look at &quot;sendTextureImage&quot;<br />your machine probably doesn&#039;t support &quot;glGenerateMipmapEXT&quot; :<br />you&#039;ll see a commented section using &quot;gluBuild2DMipmaps&quot; (what I was using before),<br />I suggest you try removing glGenerateMipmapEXT to see if it is faster, if it is we should use gluBuild2DMipmaps if opengl &lt; 2.0</p>]]></description>
			<author><![CDATA[dummy@example.com (anael)]]></author>
			<pubDate>Fri, 19 Oct 2012 09:25:47 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2771#p2771</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2770#p2770</link>
			<description><![CDATA[<p>Heh, I just realised that the scene was trying to use the standard renderer, so I changed that in the mproj and the scene loads now (well, after about 5 minutes parsing the xml meshs...) and I&#039;m down to... 2fps... and once again, it&#039;s not in any profilable part of Maratis, which suggests OpenGL again...</p><p>I realise that an Intel GMA 945 netbook might not be the target machine for Maratis, but I think I would like to try and get a reasonable framerate on my netbook.</p><p>So continues my trek into profiling and optimising.</p><p>First, a couple of things I may be using in the scene that might cause the slowdown. First of all lights. The scene is pretty full with them. I can replace them with pre-generated lightmaps, but I would like for less-useless machines to still use dynamic lights where possible... so maybe having it so you can specify a lightmap, which only gets used in the fixedrenderer, and lights which only get used in the standardrenderer? Next, poly count. I will have to do some profiling where I change the amount of lights in a scene, keeping the polys the same, and then just add more polys, but I think reducing polys is always good anyway. The obvious solution to this would be to add a LoD system, and on less powerful machines (potentially exposable to players via a &quot;detail&quot; slider in a menu) it would use lower polygon models.</p>]]></description>
			<author><![CDATA[dummy@example.com (Nistur)]]></author>
			<pubDate>Fri, 19 Oct 2012 08:59:41 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2770#p2770</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2762#p2762</link>
			<description><![CDATA[<p>Hi, good, I guess the GL Rendering context is a bit too brut force as it doesn&#039;t check if something is supported before enable it, there is some cleaning to do on this.</p><p>Im not sure to get the infinite update thing you said. I taught your laptop only support fixed renderer anyway ?<br />What fonction exactly runs slow ?</p>]]></description>
			<author><![CDATA[dummy@example.com (anael)]]></author>
			<pubDate>Thu, 18 Oct 2012 20:17:01 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2762#p2762</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2760#p2760</link>
			<description><![CDATA[<p>Right. So I feel a bit silly. I got the simple scene, with just a cube, running at more than 4fps. It&#039;s actually at 60fps now. Woo!</p><p>You were absolutely correct, it was a GL feature that my graphics chip didn&#039;t support. In particular it was point sprites... so yeah, the thing that I added for particles. It means I&#039;ve got to be able to fallback on using billboard sprites rather than point sprites if possible. I will see if I can get it to check whether GL supports point sprites natively before enabling them...</p><p>The strange thing is, I&#039;ve tried to load a more complex scene and I get an infinite update... I guess it&#039;s probably something to do with the lighting. I think it would be nice to be able to switch between a standard renderer scene and a fixed renderer scene...</p>]]></description>
			<author><![CDATA[dummy@example.com (Nistur)]]></author>
			<pubDate>Thu, 18 Oct 2012 20:04:35 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2760#p2760</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2737#p2737</link>
			<description><![CDATA[<p>But surely if it takes time to wait for the GPU at all, that time would show up on the CPU side? I would assume in something like a flush or swap buffer or something. What it looks like to me is that it&#039;s losing the time in between the loops of while(true) somehow... but I&#039;m not sure how that could happen.</p><p>I am going to see if I can steal someone&#039;s time today to take a look at it, it&#039;s probably something relatively simple I&#039;m missing out, but I&#039;m just not seeing it. I would really like to tune Maratis to run a bit smoother, but I can&#039;t really optimise blind like this <img src="http://forum.maratis3d.com/img/smilies/tongue.png" width="15" height="15" alt="tongue" /></p>]]></description>
			<author><![CDATA[dummy@example.com (Nistur)]]></author>
			<pubDate>Fri, 12 Oct 2012 09:17:00 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2737#p2737</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2736#p2736</link>
			<description><![CDATA[<p>It&#039;s hard to profile the 3d card rendering in detail, because we don&#039;t know how the card execute the rendering exactly. OpenGL just send orders, and the sending itself is not always the bottleneck (exept when using very big dynamic meshs).</p><p>The 200ms missing can also be the system been late because of the slow rendering ? inputs waiting list etc.</p>]]></description>
			<author><![CDATA[dummy@example.com (anael)]]></author>
			<pubDate>Fri, 12 Oct 2012 09:09:28 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2736#p2736</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2735#p2735</link>
			<description><![CDATA[<p>I&#039;ve kept looking at what might be causing the problems here and I am still getting ~200ms missing time which is really confusing as I&#039;ve tagged the main loop so if anything, it should all fall under that. At one point, I thought it could be maybe a threading issue, but then again, waiting on a thread to complete execution should _still_ show up...</p><p>Out of curiosity, I stuck a return in the top of draw() in main.cpp and... I got unprofiled time 1ms, 1000FPS. Moving the return down the function confirmed that it&#039;s definitely the render loop that&#039;s causing it. I&#039;m still a bit confused why it&#039;s not showing up in the profiler at all though</p>]]></description>
			<author><![CDATA[dummy@example.com (Nistur)]]></author>
			<pubDate>Fri, 12 Oct 2012 08:33:02 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2735#p2735</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2730#p2730</link>
			<description><![CDATA[<p>The only cards I have available to test on are an intel 945 chipset with integrated graphics... and I now have had to downgrade my PC from a 4 year old ATI to a much older ATI because my card burnt out <img src="http://forum.maratis3d.com/img/smilies/sad.png" width="15" height="15" alt="sad" /> Before it did, I seem to remember my PC struggling on Linux, and I definitely had 3D support on there working...</p><p>At lunch, I can pastebin all of glxinfo and I can take a look at what the issue might be.<br /><em>Edit: <a href="http://pastebin.com/GMebTrc6">My glxinfo</a></em></p>]]></description>
			<author><![CDATA[dummy@example.com (Nistur)]]></author>
			<pubDate>Mon, 08 Oct 2012 11:03:43 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2730#p2730</guid>
		</item>
		<item>
			<title><![CDATA[Re: Performance Profiling]]></title>
			<link>http://forum.maratis3d.com/viewtopic.php?pid=2729#p2729</link>
			<description><![CDATA[<p>Ho, you are on linux ok,<br />on my desktop computer I have a (only 3 years old) Nvidia good 3d card,<br />but it&#039;s not supported on the new linux, because nvidia refuse to update their drivers for the new xfree.<br />Technically I could have it accelerated by installing an old linux using an old xfree.</p><p>If glxgear works good for you, a non-textured cube should work fine in Maratis. If not, the cause could be a particular opengl instruction, even not used but activated : Alpha-blending, alpha-testing, mip-mapping... something like that maybe.</p><p>Did you check your mesa driver ?</p>]]></description>
			<author><![CDATA[dummy@example.com (anael)]]></author>
			<pubDate>Mon, 08 Oct 2012 10:44:28 +0000</pubDate>
			<guid>http://forum.maratis3d.com/viewtopic.php?pid=2729#p2729</guid>
		</item>
	</channel>
</rss>
