Преглед изворни кода

Merge pull request #47232 from zmanuel/eliminate-draw-pending-3.x

[3.x] Remove redundant thread sync counter draw_pending
Rémi Verschelde пре 3 година
родитељ
комит
7637b5d925
2 измењених фајлова са 1 додато и 7 уклоњено
  1. 1 6
      servers/visual/visual_server_wrap_mt.cpp
  2. 0 1
      servers/visual/visual_server_wrap_mt.h

+ 1 - 6
servers/visual/visual_server_wrap_mt.cpp

@@ -37,13 +37,10 @@ void VisualServerWrapMT::thread_exit() {
 }
 
 void VisualServerWrapMT::thread_draw(bool p_swap_buffers, double frame_step) {
-	if (!draw_pending.decrement()) {
-		visual_server->draw(p_swap_buffers, frame_step);
-	}
+	visual_server->draw(p_swap_buffers, frame_step);
 }
 
 void VisualServerWrapMT::thread_flush() {
-	draw_pending.decrement();
 }
 
 void VisualServerWrapMT::_thread_callback(void *_instance) {
@@ -75,7 +72,6 @@ void VisualServerWrapMT::thread_loop() {
 
 void VisualServerWrapMT::sync() {
 	if (create_thread) {
-		draw_pending.increment();
 		command_queue.push_and_sync(this, &VisualServerWrapMT::thread_flush);
 	} else {
 		command_queue.flush_all(); //flush all pending from other threads
@@ -84,7 +80,6 @@ void VisualServerWrapMT::sync() {
 
 void VisualServerWrapMT::draw(bool p_swap_buffers, double frame_step) {
 	if (create_thread) {
-		draw_pending.increment();
 		command_queue.push(this, &VisualServerWrapMT::thread_draw, p_swap_buffers, frame_step);
 	} else {
 		visual_server->draw(p_swap_buffers, frame_step);

+ 0 - 1
servers/visual/visual_server_wrap_mt.h

@@ -51,7 +51,6 @@ class VisualServerWrapMT : public VisualServer {
 	SafeFlag draw_thread_up;
 	bool create_thread;
 
-	SafeNumeric<uint64_t> draw_pending;
 	void thread_draw(bool p_swap_buffers, double frame_step);
 	void thread_flush();