Skip to main content

โหมดทันทีคืออะไร?

ในการเขียนโปรแกรมกราฟิกคอมพิวเตอร์โหมดทันทีเป็นสถานะการเรนเดอร์ซึ่งลำดับการกระทำปกติและกรอบการทำงานที่มีอยู่นั้นจะถูกข้ามอย่างสมบูรณ์และในบางกรณีปิดการใช้งานซึ่งหมายความว่าแอปพลิเคชันกำลังเรียกใช้จำเป็นต้องเรียกใช้ฟังก์ชั่นที่จำเป็นโดยตรงเพื่อแสดงสิ่งใด ๆ บนอุปกรณ์แสดงผลเช่นจอภาพแทนที่จะพึ่งพาวงจรโดยธรรมชาตินอกโปรแกรมโหมดทันทีมักใช้สำหรับโปรแกรมที่ต้องใช้เวลาแสดงผลที่เร็วที่สุดเช่นแอปพลิเคชันมัลติมีเดียหรือวิดีโอเกมหรือใช้เป็นเครื่องมือการสอนเมื่อเรียนรู้วิธีใช้ห้องสมุดกราฟิกที่ซับซ้อนโปรแกรมที่ได้รับการออกแบบมาไม่ดีหรือนำไปใช้อย่างไม่เหมาะสมซึ่งใช้การเรนเดอร์โหมดทันทีอาจทำให้หน้าจอว่างเปล่าหรือพื้นที่ว่างของหน้าจอปรากฏและคงอยู่เพราะไม่มีการโทรอัตโนมัติเพื่อวาดเฟรมปัจจุบันใหม่หากจำเป็นรูปแบบหนึ่งเรียกว่าโหมดผสมซึ่งโปรแกรมจะรักษากรอบการเรนเดอร์ที่เก็บรักษาไว้ในสถานที่ในขณะที่พยายามควบคุมบางส่วนของมันผ่านฟังก์ชั่นสไตล์โหมดทันที

ในแอปพลิเคชันคอมพิวเตอร์จำนวนมากการแสดงผลข้อมูลหรือกราฟิกไปยังอุปกรณ์แสดงผลผ่านสถาปัตยกรรมโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์ซึ่งหมายความว่าหน้าจอจะถูกวาดใหม่เพื่อตอบสนองต่ออินพุตบางประเภทจากโปรแกรมหรือผู้ใช้สิ่งนี้ใช้ได้ดีสำหรับโปรแกรมเช่นโปรแกรมประมวลผล Word หรือเว็บเบราว์เซอร์ แต่ไม่ทำงานสำหรับแอพพลิเคชั่นเช่นผู้เล่นมัลติมีเดียซอฟต์แวร์การเรนเดอร์ศิลปะหรือวิดีโอเกมที่หน้าจออาจจำเป็นต้องได้รับการวาดใหม่ 60 ขึ้นไปในแต่ละวินาทีโดยไม่มีประเภทใด ๆป้อนข้อมูล.วิธีแก้ปัญหาคือการใช้โหมดทันที

แทนที่จะอนุญาตให้ระบบปฏิบัติการหรือไลบรารีกราฟิกเพื่อควบคุมเวลาและวิธีการอัปเดตการแสดงผลและการแสดงผลโปรแกรมจะควบคุมได้อย่างสมบูรณ์ลบอุปสรรคใด ๆ ระหว่างอุปกรณ์แสดงผลและรหัสแอปพลิเคชันด้วยวิธีนี้โปรแกรมสามารถสร้างลูปแสดงผลของตัวเองโดยใช้ตัวจับเวลาและรหัสที่กำหนดเองอื่น ๆ ดังนั้นหน้าจอจะถูกวาดขึ้นใหม่มากหรือสองสามครั้งเท่าที่จำเป็นเพื่อให้ได้ผลลัพธ์ที่ต้องการภาวะแทรกซ้อนอย่างหนึ่งในการใช้โหมดทันทีคือคุณสมบัติบางอย่างที่โปร่งใสของการเรนเดอร์โหมดเก็บรักษา mdash;เช่นเครื่องยนต์เรขาคณิต mdash;อาจไม่สามารถใช้งานได้โดยกำหนดให้แอปพลิเคชันมีการใช้งานของตัวเองอีกประเด็นหนึ่งคือโปรแกรมอาจต้องใช้กำลังการประมวลผลจำนวนมากเพื่อรักษาลูปการเรนเดอร์ด้วยความเร็วที่ยอมรับได้

ทางเลือกในการใช้โหมดทันทีโดยเฉพาะคือการใช้โหมดการเรนเดอร์แบบผสมในการออกแบบนี้เฟรมเวิร์กการเรนเดอร์โหมดที่เก็บรักษาไว้จะถูกเก็บไว้ในสถานที่ดังนั้นการใช้งานทั้งหมดของไลบรารีกราฟิกสามารถใช้งานได้ แต่ฟังก์ชั่นหรือวิธีการบางอย่างถูกแทนที่และแทนที่ด้วยรหัสที่ผู้ใช้สร้างขึ้นซึ่งสามารถบังคับกรอบการเรนเดอร์ที่มีอยู่วิธีที่เป็นเหมือนโหมดทันทีวิธีนี้มีประสิทธิภาพ แต่ยังสามารถสร้างรหัสที่ยากต่อการดีบักและอาจมีผลลัพธ์ที่ไม่คาดคิดขึ้นอยู่กับว่ารหัสผู้ใช้และรหัสห้องสมุดโต้ตอบอย่างไร