ฉันควรปรับใช้ 32- บิตเท่านั้นหรือทั้ง 32- และ 64- บิตเวอร์ชั่นสำหรับ Windows?


13

ฉันมีแอปพลิเคชันข้ามแพลตฟอร์มที่เขียนด้วยภาษาที่รวบรวม

  • สำหรับ Linux มันเป็นธรรมเนียมที่จะต้องสร้างทั้ง amd64 และ i386 ให้กับผู้ใช้ดังนั้นผู้ใช้สามารถเลือกเวอร์ชั่นที่เหมาะสมกับสภาพแวดล้อมในปัจจุบัน
  • ใน Mac มันเป็นธรรมเนียมในการสร้าง Universal Binary ดังนั้นจึงสามารถรองรับคอมพิวเตอร์ Apple หลายรุ่น หรือเพียงแค่ให้รุ่น 64 บิตเนื่องจากคอมพิวเตอร์ Apple ปัจจุบันทั้งหมดใช้สถาปัตยกรรม 64 บิตและระบบปฏิบัติการ

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

ความคิดของฉัน:

  • ติดตั้งแอปพลิเคชันทั้งรุ่น 32- บิตและ 64- บิตและเลือกในขณะใช้งาน (ต้องใช้ wrapper ดังนั้นการสร้างแอปพลิเคชันคลิกและเปิดใช้งาน (เช่น uTorrent) จะเป็นเรื่องยาก)
  • ตรวจสอบสถาปัตยกรรมที่ใช้User-agentบนเว็บไซต์ดังนั้นผู้ใช้สามารถดาวน์โหลดเวอร์ชันที่เหมาะสมโดยอัตโนมัติ (และเชื่อมโยงไปยัง "เวอร์ชั่นอื่น") (เป็นสไตล์ของ Google Chrome)
  • บังคับให้ผู้ใช้ใช้แอปพลิเคชัน 32 บิตและสร้าง "ผู้เชี่ยวชาญอย่างเดียว" รุ่น 64 บิตหรือไม่ (เช่น VLC)

ฉันควรทำอย่างไรใน Windows


ใบสมัครของคุณมีกำไรจากการเป็นกระบวนการแบบ 64 บิตหรือไม่?
CodesInChaos

ใช่มันใช้ประโยชน์จากไลบรารี่เข้ารหัสซึ่งทำงานได้เร็วกว่าในแบบ 64 บิต
Alexander Shishenko

เร็วเท่าไหร่
Robert Harvey

2
นอกจากนี้ยังไม่มีตัวเลือกการสร้าง AnyCPU ใน Visual Studio หรือไม่ blogs.microsoft.co.il/sasha/2012/04/04/…
Robert Harvey

1
ฉันควรจะพูดถึงว่ารวบรวมเป็นรหัสพื้นเมือง (ฉันเขียนใน C ++ โดยไม่ต้องมีส่วนขยาย C ++ / CLI) ไม่ใช่. NET
Alexander Shishenko

คำตอบ:


16

ฉันไม่คิดว่ามันซับซ้อนขนาดใหญ่สำหรับผู้ใช้ที่จะต้องเลือกตัวเลือก 32 บิตหรือ 64 บิตเมื่อดาวน์โหลด แต่ถ้าคุณสามารถใช้สตริงตัวแทนผู้ใช้เพื่อให้ข้อเสนอแนะที่ดีกว่าทั้งหมด

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


7
หากผู้ใช้ของคุณไม่ใช่ผู้ใช้ที่ไม่ใช่ด้านเทคนิคแสดงว่าคุณกำลังพูดคำใหญ่ ๆ
253751

3
@GrandmasterB ผู้ใช้ที่ไม่ใช่ด้านเทคนิคจะไม่ทราบถึงความแตกต่างระหว่างรุ่น 32 บิตและรุ่น 64 บิตและจะไม่ทราบว่าต้องใช้รุ่นใด
ฟิลิปป์

3
@Philipp ซึ่งแก้ไขได้อย่างง่ายดายโดยการเพิ่มวลีง่ายๆสองอย่างเช่น "ทำงานได้ดีในกรณีส่วนใหญ่" และ "อาจเร็วขึ้นในบางเครื่อง" เช่นเดียวกับเว็บไซต์ดาวน์โหลดจำนวนมาก
5gon12eder

1
@Phippipp: ไม่ค่อนข้างตรงกันข้าม (สำหรับตัวเลือกที่สอง) ตัวติดตั้งจะเลือกเวอร์ชั่นที่ถูกต้องโดยอัตโนมัติโดยไม่จำเป็นต้องแสดงข้อมูลทางเทคนิคใด ๆ อาจมีปุ่ม "ตัวเลือกการติดตั้งแบบขยาย" (แต่ตราบใดที่ผู้ใช้ไม่กดปุ่มจะไม่มีการแสดงผลแบบ 32- บิตหรือ 64- บิต
Doc Brown

1
@ 5gon12eder ที่จริงแล้วเวอร์ชัน 64 บิตจะ“ ทำงานได้ดีในกรณีส่วนใหญ่” ลองมาดูให้ไอสถิติการสำรวจ มันแสดงให้เห็นว่าเครื่อง Windows มากกว่า 83% ใช้ระบบปฏิบัติการ 64 บิต
Alexander Shishenko

7

ก่อนอื่นให้ดูว่าการใช้รุ่น 64 บิตจะเป็นประโยชน์หรือไม่:

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

หากคำตอบคือไม่ทั้งหมดให้พิจารณาว่าไม่ได้มีรุ่น 64 บิตเลย

ตอนนี้หากมีข้อได้เปรียบที่เป็นรูปธรรมในการใช้ 64 บิตเมื่อคุณสามารถทำได้:
ทำให้สะดวกสบายมากที่สุดเท่าที่จะทำได้สำหรับผู้ใช้ของคุณโดยไม่ต้องลงโทษผู้ที่รู้จัก

  • จัดเตรียมการดาวน์โหลดครั้งเดียวหากไม่มีค่าใช้จ่ายมากเกินไปซึ่งจะติดตั้งรุ่นที่ดีที่สุดตามค่าเริ่มต้น (อนุญาตให้แทนที่ด้วยตัวเลือกบรรทัดคำสั่งหรือสำหรับผู้เชี่ยวชาญที่ต้องการรุ่น 32 บิตบน 64 บิต)
  • มิฉะนั้นให้ดาวน์โหลดทั้งสองแยกกัน (หากข้อดีที่เป็นไปได้ที่จะใช้ 64- บิตมีขนาดเล็กพอให้ซ่อนไว้หนึ่งบิต)
  • ในขณะที่คุณสามารถจัดหาตัวดาวน์โหลดสำหรับการเลือกและดาวน์โหลดเฉพาะส่วนที่จำเป็นซึ่งอาจลดขนาดการดาวน์โหลดตามคำสั่งขนาดถ้ามีชิ้นส่วนขนาดใหญ่ให้ทำเครื่องหมายที่โดดเด่นในฐานะผู้ติดตั้งออนไลน์และลิงก์ไปยังตัวติดตั้งออฟไลน์
    (คุณสามารถ (และอาจจะควร) อนุญาตให้นำสิ่งที่ดาวน์โหลดมากลับมาใช้ใหม่รวมถึงตัวเลือกในการดาวน์โหลดทุกอย่างอย่างน้อยถ้าคุณไม่มีตัวติดตั้งออฟไลน์แบบสมบูรณ์)

4

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

การวางลิงค์เลือกรุ่น / ตัวเลือกเป็นสิ่งที่ดีเนื่องจากผู้เชี่ยวชาญหรือผู้ที่ต้องการรับรุ่นอื่นสามารถไปรับได้

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

ประเภทระบบปฏิบัติการ


3

มีตัวติดตั้ง 32 บิตซึ่งไม่มีไฟล์ปฏิบัติการ ให้มันตรวจจับแพลตฟอร์มเป้าหมายที่รันอยู่แล้วดาวน์โหลดไบนารีที่ถูกต้องจากเซิร์ฟเวอร์ของคุณ


3
หากคุณกำลังทำสิ่งนี้ตรวจสอบให้แน่ใจว่าคุณมีเวอร์ชันสุดท้ายจริงสำหรับผู้เชี่ยวชาญเพื่อดาวน์โหลดโดยตรง คนไอทีมืออาชีพหลายคนต้องการติดตั้งการติดตั้งออฟไลน์ (เช่นเพื่อให้สามารถติดตั้งได้ในภายหลัง)
จูลส์

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