Home
Member Only

Member Only

한양대관리자 2011.03.07 매트랩 그래픽카드 성능 테스트
조회수 843

페이지 정보

본문

matlab에서 그림 저장과 관련되어서 ㅡ.ㅡ 버그를 수정하던 중..


아래의 재미난 코드를 찾게 되어서 올립니다.


자신의 그래픽카드가 matlab에서 얼마만큼의 성능을 내는가를 확인할 수 있는 방법입니다.


우측 상단에 점수를 보세요.


pc1 : 2.83

pc2 : 2.7

GMA500 notebook : 0.451


아래의 코드를 그대로 실행하면 됩니다. ^^


혹시 테스트하면 점수를 리플달아주세요.~


 


===================================================아래의 코드 실행

% HOW FAST IS YOUR GRAPHICS CARD?

% Michael Kleder, June 2005

function howfast

close all

A=rand(800,3)*2-1;

n=sqrt(sum(A.^2,2));

A=A./repmat(n,[1 size(A,2)]);

b=ones(800,1);

V=con2vert(A,b);

k=convhulln(V);

ss='How fast is your graphics card?';

ff=figure('name',ss);

hold on

for i=1:length(k)

    patch(V(k(i,:),1),V(k(i,:),2),V(k(i,:),3),...

        'w','edgecolor','none')

end

axis equal

axis vis3d

axis off

h=camlight(0,90);

h(2)=camlight(0,-17);

h(3)=camlight(107,-17);

h(4)=camlight(214,-17);

set(h(1),'color',[1 0 0]);

set(h(2),'color',[0 1 0]);

set(h(3),'color',[0 0 1]);

set(h(4),'color',[1 1 0]);

material metal

tic

for x=0:-5:-3600

    if ~ishandle(ff)

        break

    end

    view(x,0)

    set(ff,'name',[ss ' (Answer: ' num2str(abs(x/toc/6),3) ...

        ' rotations per minute)'])

    drawnow

end

function [V,nr] = con2vert(A,b)

c = Ab;

if ~all(A*c < b);

    [c,f,ef] = fminsearch(@obj,c,'params',{A,b});

end

b = b - A*c;

D = A ./ repmat(b,[1 size(A,2)]);

[k,v2] = convhulln([D;zeros(1,size(D,2))]);

[k,v1] = convhulln(D);

nr = unique(k(:));

G  = zeros(size(k,1),size(D,2));

for ix = 1:size(k,1)

    F = D(k(ix,:),:);

    G(ix,:)=Fones(size(F,1),1);

end

V = G + repmat(c',[size(G,1),1]);

[null,I]=unique(num2str(V,12),'rows');

V=V(I,:);

return

function d = obj(c,params)

A=params{1};

b=params{2};

d = A*c-b;

k=(d>=-1e-15);

d(k)=d(k)+1;

d = max([0;d]);

return

목록으로