<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.thedarkmod.com/index.php?action=history&amp;feed=atom&amp;title=Drawcalls</id>
	<title>Drawcalls - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.thedarkmod.com/index.php?action=history&amp;feed=atom&amp;title=Drawcalls"/>
	<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Drawcalls&amp;action=history"/>
	<updated>2026-04-18T05:46:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Drawcalls&amp;diff=19793&amp;oldid=prev</id>
		<title>Epifire: /* How to reduce drawcalls of your scene */</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Drawcalls&amp;diff=19793&amp;oldid=prev"/>
		<updated>2018-02-21T05:57:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;How to reduce drawcalls of your scene&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:57, 21 February 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 24:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Use the SEED system to combine multiple models in one scene.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# Use the SEED system to combine multiple models in one scene.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# If you are using models, by using less different skins. (this only reduces the texture usage, not the drawcalls, unless you use the SEED system, see above, where it also reduces the number of entities and thus the drawcalls)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;# If you are using models, by using less different skins. (this only reduces the texture usage, not the drawcalls, unless you use the SEED system, see above, where it also reduces the number of entities and thus the drawcalls)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Note: To test drawcalls in-game use [[Console_Useful_Controls|r_showPrimitives]] to print to console.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;As a last resort you can also reduce the complexity of your scene by removing unnecessary models or replacing far-away detail brushes by decals.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;As a last resort you can also reduce the complexity of your scene by removing unnecessary models or replacing far-away detail brushes by decals.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Epifire</name></author>
	</entry>
	<entry>
		<id>https://wiki.thedarkmod.com/index.php?title=Drawcalls&amp;diff=12162&amp;oldid=prev</id>
		<title>Tels: add</title>
		<link rel="alternate" type="text/html" href="https://wiki.thedarkmod.com/index.php?title=Drawcalls&amp;diff=12162&amp;oldid=prev"/>
		<updated>2011-01-30T16:16:02Z</updated>

		<summary type="html">&lt;p&gt;add&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The engine draws the things you see on the screen in &amp;#039;&amp;#039;batches&amp;#039;&amp;#039; and such a batch is called a &amp;#039;&amp;#039;&amp;#039;drawcall&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The time a drawcall takes consists of two parts:&lt;br /&gt;
&lt;br /&gt;
# a static overhead, that is always the same no matter how many things get drawn&lt;br /&gt;
# a dynamic part that depends on how many things there are to draw&lt;br /&gt;
&lt;br /&gt;
One basic thing is that each model in idTech4 gets drawn &amp;#039;&amp;#039;&amp;#039;once&amp;#039;&amp;#039;&amp;#039; per light that hits that model. And each of these draws of the model is split into &amp;#039;&amp;#039;&amp;#039;drawcalls&amp;#039;&amp;#039;&amp;#039; for each material.&lt;br /&gt;
&lt;br /&gt;
So if you have a model with two different materials that is hit by 3 lights, the entire model is drawn 3 times, and the engine uses &amp;#039;&amp;#039;&amp;#039;2 * 3 = 6 drawcalls&amp;#039;&amp;#039;&amp;#039; to do so.&lt;br /&gt;
&lt;br /&gt;
== How much drawcalls are &amp;quot;good&amp;quot;? ==&lt;br /&gt;
&lt;br /&gt;
Thsi number depends highly on the system and the performance you want to achive. In the past the limit to shoot for was about 300..500 drawcalls, but machines from today can easily handle 1000 drawcalls.&lt;br /&gt;
&lt;br /&gt;
But generally spoken, the less drawcalls you have, the better. &lt;br /&gt;
&lt;br /&gt;
== How to reduce drawcalls of your scene ==&lt;br /&gt;
&lt;br /&gt;
# If you are making models: Reduce the number of different materials a model uses by using a [[Creating_LOD_Models#Texture_atlas|texture atlas]].&lt;br /&gt;
# Combine multiple func_statics made from map geometry (brushes/patches) into one.&lt;br /&gt;
# Use the SEED system to combine multiple models in one scene.&lt;br /&gt;
# If you are using models, by using less different skins. (this only reduces the texture usage, not the drawcalls, unless you use the SEED system, see above, where it also reduces the number of entities and thus the drawcalls)&lt;br /&gt;
&lt;br /&gt;
As a last resort you can also reduce the complexity of your scene by removing unnecessary models or replacing far-away detail brushes by decals.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[SEED]]&lt;br /&gt;
* [[SEED - Watching entities]]&lt;br /&gt;
&lt;br /&gt;
{{editing}}&lt;/div&gt;</summary>
		<author><name>Tels</name></author>
	</entry>
</feed>