จริงๆการเปรียบเทียบประสิทธิภาพการ์ดจอ ก็ยังสามารถดูได้จากจำนวน Pixel Shader (หรือ Unified Shader สำหรับการ์ดจอที่รองรับ DX10) ยิ่ง Pixel Shader เยอะ ประสิทธิภาพก็ยิ่งดี แต่ว่าสองค่ายใหญ่อย่าง ATI และ Nvidia ก็มีแนวคิดในการใช้ Pixel Shader ต่างกัน ..
Nvidia นั้นจะคิดง่ายๆ นั่นคือ 1 pixel shader ใช้ประมวลผล 1 ช่องทาง แต่ทาง ATI นั้น 1 pixel shader จะแยกออกไปเป็น pixel shader ย่อยอีก 3 ชุด (หรือพูดให้เข้าใจง่ายกว่านั้นคือ ATI จะรวมเอา 3 ชุดคำสั่งมาประมวลรวมกัน เสมือนเป็น 1 คำส่ง) ยกตัวอย่าง Radeon 1950 Pro ถ้าดูตาม spec จริงๆจะเห็นว่ามี Pixel Shader 12 ตัว แล้วจะมีวงเล็บว่า 36 ซึ่งก็หมายถึง 12 * 3 นั่นเอง ในขณะที่การ์ดจอในระดับเดียวกันอย่าง 7900GS นั้นมี Pixel Shader 20 ตัว .. ถ้าถามว่าอันไหนดีกว่ากัน ก็ต้องตอบว่าตอบแบบฟันธงไม่ได้ครับ ขึ้นอยู่กับผู้พัฒนาเกมส์ว่าจะเขียน code มากอย่างไร หาก code ของตัวเกมส์มีความซ้ำซ้อนกันเยอะๆ ATI จะได้เปรียบกว่า แต่ถ้า code ของตัวเกมส์มีความซับซ้อนและหลากหลาย Nvidia จะได้เปรียบกว่า (เพราะไม่ต้องมาเสียเวลาจับกลุ่มชุดคำสั่งที่เหมือนๆกันให้เข้าชุดกัน)
ทีนี้มาดูที่ Unified Shader ที่อยู่ใน DirectX 10 จริงๆ Unified Shader ก็คือการรวมเอา Pixel Shader กับ Vertex Shader เข้าด้วยกัน เพื่อเพิ่มความยืดหยุ่นในการประมวลผล มาถึง Unified Shader ทั้งสองค่ายก็ยังคงมีความแตกต่างในแนวความคิดในเรื่องการออกแบบอีก ATI ยังคงใช้การจับกลุ่มชุดคำสั่งเหมือนเดิม ถ้าดูเฉพาะจำนวนตัวเลข Unified Shader หรืออีกชื่อว่า Stream Processor นั้นจะเห็นว่าทาง ATI มีเยอะกว่า Nvidia มากโขเลย (ยกตัวอย่าง HD 3870 กับ Geforce 8800GT ก็ได้ ตัว HD 3870 มี Stream Processor ถึง 320 ตัว ส่วน 8800GT มีแค่ 112 ตัว) แต่ในความเป็นจริงแล้ว Stream Processor ของ ATI นั้นมีความฉลาดน้อยกว่าของทาง Nvidia กล่าวคือในทุกๆ 4 ตัวของ Stream Processor จะมีเพียงตัวเดียวที่มีความสามารถในการประมวลเหมือน Pixel Shader อย่างที่มีใน DirectX 9.x (อย่าลืมว่า Pixel Shader สำหรับกว่า Vertex Shader มากนัก) เพราะฉะนั้นหากจะทำเอา Stream Processor ของ ATI มาเทียบกับของ Nvidia อย่างคร่าวๆ ก็ต้องนำเอา Stream Processor ของ ATI มาหารด้วย 4 แล้วค่อยนำไปเทียบกับของ Nvidia (320 หารด้วย 4 = 80 ตัวเท่านั้น) นี่เป็นหนึ่งในสาเหตุที่ทำไม HD 3870 ถึงยังไม่สามารถเอาชนะ 8800GT ได้ (แต่ทั้งนี้ทั้งนั้นก็ยังขึ้นอยู่กับผู้พัฒนาเกมส์ว่าจะเขียน code ให้รูปแบบการประมวลผลออกมาเป็นลักษณะไหนด้วย)
เครดิตเวปเพื่อนบ้าน ขอบคุณ น า ย บ อ ส
Nvidia นั้นจะคิดง่ายๆ นั่นคือ 1 pixel shader ใช้ประมวลผล 1 ช่องทาง แต่ทาง ATI นั้น 1 pixel shader จะแยกออกไปเป็น pixel shader ย่อยอีก 3 ชุด (หรือพูดให้เข้าใจง่ายกว่านั้นคือ ATI จะรวมเอา 3 ชุดคำสั่งมาประมวลรวมกัน เสมือนเป็น 1 คำส่ง) ยกตัวอย่าง Radeon 1950 Pro ถ้าดูตาม spec จริงๆจะเห็นว่ามี Pixel Shader 12 ตัว แล้วจะมีวงเล็บว่า 36 ซึ่งก็หมายถึง 12 * 3 นั่นเอง ในขณะที่การ์ดจอในระดับเดียวกันอย่าง 7900GS นั้นมี Pixel Shader 20 ตัว .. ถ้าถามว่าอันไหนดีกว่ากัน ก็ต้องตอบว่าตอบแบบฟันธงไม่ได้ครับ ขึ้นอยู่กับผู้พัฒนาเกมส์ว่าจะเขียน code มากอย่างไร หาก code ของตัวเกมส์มีความซ้ำซ้อนกันเยอะๆ ATI จะได้เปรียบกว่า แต่ถ้า code ของตัวเกมส์มีความซับซ้อนและหลากหลาย Nvidia จะได้เปรียบกว่า (เพราะไม่ต้องมาเสียเวลาจับกลุ่มชุดคำสั่งที่เหมือนๆกันให้เข้าชุดกัน)
ทีนี้มาดูที่ Unified Shader ที่อยู่ใน DirectX 10 จริงๆ Unified Shader ก็คือการรวมเอา Pixel Shader กับ Vertex Shader เข้าด้วยกัน เพื่อเพิ่มความยืดหยุ่นในการประมวลผล มาถึง Unified Shader ทั้งสองค่ายก็ยังคงมีความแตกต่างในแนวความคิดในเรื่องการออกแบบอีก ATI ยังคงใช้การจับกลุ่มชุดคำสั่งเหมือนเดิม ถ้าดูเฉพาะจำนวนตัวเลข Unified Shader หรืออีกชื่อว่า Stream Processor นั้นจะเห็นว่าทาง ATI มีเยอะกว่า Nvidia มากโขเลย (ยกตัวอย่าง HD 3870 กับ Geforce 8800GT ก็ได้ ตัว HD 3870 มี Stream Processor ถึง 320 ตัว ส่วน 8800GT มีแค่ 112 ตัว) แต่ในความเป็นจริงแล้ว Stream Processor ของ ATI นั้นมีความฉลาดน้อยกว่าของทาง Nvidia กล่าวคือในทุกๆ 4 ตัวของ Stream Processor จะมีเพียงตัวเดียวที่มีความสามารถในการประมวลเหมือน Pixel Shader อย่างที่มีใน DirectX 9.x (อย่าลืมว่า Pixel Shader สำหรับกว่า Vertex Shader มากนัก) เพราะฉะนั้นหากจะทำเอา Stream Processor ของ ATI มาเทียบกับของ Nvidia อย่างคร่าวๆ ก็ต้องนำเอา Stream Processor ของ ATI มาหารด้วย 4 แล้วค่อยนำไปเทียบกับของ Nvidia (320 หารด้วย 4 = 80 ตัวเท่านั้น) นี่เป็นหนึ่งในสาเหตุที่ทำไม HD 3870 ถึงยังไม่สามารถเอาชนะ 8800GT ได้ (แต่ทั้งนี้ทั้งนั้นก็ยังขึ้นอยู่กับผู้พัฒนาเกมส์ว่าจะเขียน code ให้รูปแบบการประมวลผลออกมาเป็นลักษณะไหนด้วย)
เครดิตเวปเพื่อนบ้าน ขอบคุณ น า ย บ อ ส
Comment