{"id":70,"date":"2008-08-03T09:16:03","date_gmt":"2008-08-03T16:16:03","guid":{"rendered":"http:\/\/www.venzon.org\/?p=70"},"modified":"2008-08-03T09:16:03","modified_gmt":"2008-08-03T16:16:03","slug":"multithreading-in-games","status":"publish","type":"post","link":"http:\/\/www.venzon.org\/?p=70","title":{"rendered":"Multithreading in Games"},"content":{"rendered":"<p>I added a second thread to VDrift that does only rendering.\u00c2\u00a0 <a href=\"http:\/\/www.gamedev.net\/community\/forums\/topic.asp?topic_id=503465\">This post<\/a> on gamedev goes into more detail about how it&#8217;s architected.\u00c2\u00a0 It seems to work pretty well, although I sometimes get crashes when starting the thing *shrug*.\u00c2\u00a0 Anyway, the method by which I&#8217;m doing this is with SDL&#8217;s threads and a class I set up to give a slightly higher level approach to task-based parallelism.\u00c2\u00a0 I&#8217;ve attached a header for the class.<\/p>\n<p><a href=\"http:\/\/www.venzon.org\/wp-content\/uploads\/2008\/08\/parallel_task.h\">parallel_task<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I added a second thread to VDrift that does only rendering.\u00c2\u00a0 This post on gamedev goes into more detail about how it&#8217;s architected.\u00c2\u00a0 It seems to work pretty well, although I sometimes get crashes when starting the thing *shrug*.\u00c2\u00a0 Anyway, the method by which I&#8217;m doing this is with SDL&#8217;s threads and a class I [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-70","post","type-post","status-publish","format-standard","hentry","category-prototyping"],"_links":{"self":[{"href":"http:\/\/www.venzon.org\/index.php?rest_route=\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.venzon.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.venzon.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.venzon.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.venzon.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=70"}],"version-history":[{"count":2,"href":"http:\/\/www.venzon.org\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions"}],"predecessor-version":[{"id":73,"href":"http:\/\/www.venzon.org\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions\/73"}],"wp:attachment":[{"href":"http:\/\/www.venzon.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.venzon.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.venzon.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}