บังคับให้มีการรีเฟรชคงที่ของหน้าต่างไวน์


1

ฉันพยายามรัน Imperialism 2 บน Crossover (WINE) ในโหมดเดสก์ท็อปเสมือน เกมเกือบใช้งานได้ยกเว้นหน้าจอจะไม่อัปเดต

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

ดังนั้นสิ่งที่ดูเหมือนจะเกิดขึ้นก็คือหน้าต่าง WINE ไม่ทราบว่าจะต้องทำการอัปเดตสิ่งที่กำลังแสดงอยู่ต่อไป เมื่อเนื้อหาถูกบดบังแล้วเปิดเผยอีกครั้งก็สังเกตเห็นว่ามันต้องวาดใหม่ สิ่งนี้ค่อนข้างน่าหงุดหงิด: เกมทำงานได้ดีกราฟิกถูกวาดอย่างถูกต้อง แต่มันไม่ได้ถูกแสดง

มีวิธีใดที่จะส่งข้อความ "redraw message" ไปยังหน้าต่างต่อไปเพื่อบังคับให้ redraws เกิดขึ้นได้ Imp 2 เป็นเกมเทิร์นเบสดังนั้นหากการวาดใหม่เกิดขึ้นเพียงไม่กี่ครั้งต่อวินาที

คำตอบ:


0

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

จากนั้นสร้างไฟล์ HTML ที่พื้นหลังสลับระหว่างสีขาวบริสุทธิ์และสีขาวบริสุทธิ์เกือบ 20 ครั้งต่อวินาที บางสิ่งเช่นนี้

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Strobe Light</title>
    <script language="javascript" type="text/javascript">
      <!--
      var c = 0;

      function strobe() {
        document.bgColor = c ? '#fefefe' : '#ffffff';
        c = (c + 1) % 2;
      }

      function startStrobe() {
        setInterval(strobe, 50);
      }
      -->
    </script>
  </head>
  <body onload="startStrobe();">
  </body>
</html>

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

นี่มันช่างน่ากลัวจริงๆเหรอ? ใช่. แต่มันได้ผล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.